sorted([item1, item2, item3]))
return item1, item2, item3
- def check_singularity(self, defaulting_field: str,
- non_default_value: Any, *args: Any) -> None:
+ def test_singularity(self)-> None:
"""Test pointers made for single object keep pointing to it."""
+ if not hasattr(self, 'checked_class'):
+ return
id1 = self.default_ids[0]
- obj = self.checked_class(id1, *args) # pylint: disable=not-callable
+ obj = self.checked_class(id1, **self.default_init_kwargs)
obj.save(self.db_conn)
- setattr(obj, defaulting_field, non_default_value)
+ attr_name = self.checked_class.to_save[-1]
+ attr = getattr(obj, attr_name)
+ if isinstance(attr, (int, float)):
+ new_attr = attr + 1
+ elif isinstance(attr, str):
+ new_attr = attr + '_'
+ elif isinstance(attr, bool):
+ new_attr = not attr
+ setattr(obj, attr_name, new_attr)
retrieved = self.checked_class.by_id(self.db_conn, id1)
- self.assertEqual(non_default_value,
- getattr(retrieved, defaulting_field))
+ self.assertEqual(new_attr, getattr(retrieved, attr_name))
def check_versioned_singularity(self) -> None:
"""Test singularity of VersionedAttributes on saving (with .title)."""