def test_type_by_instance (self): class Person (Entity): firstname = Field(String) surname = Field(String) p = Person(firstname='Homer', surname='Simpson') r = ReferenceMany() r.bind_to_entity(Person) r.set_data([p]) self.assertTrue(isinstance(r.get_data(), ReferenceMany)) self.assertTrue(isinstance(r[0], Entity))
def test_fields_value_by_instance (self): class Person (Entity): firstname = Field(String) surname = Field(String) p1 = Person(firstname='Homer', surname='Simpson') p2 = Person(firstname='Bart', surname='Simpson') r = ReferenceMany() r.bind_to_entity(Person) self.assertFalse(p1 in r) self.assertFalse(p2 in r) r.set_data([p1]) self.assertTrue(p1 in r) self.assertFalse(p2 in r) self.assertEqual(r[0].firstname, 'Homer') self.assertEqual(r[0].surname, 'Simpson') r.set_data([p2]) self.assertFalse(p1 in r) self.assertTrue(p2 in r) self.assertEqual(r[0].firstname, 'Bart') self.assertEqual(r[0].surname, 'Simpson') r.append(p1) self.assertTrue(p1 in r) self.assertTrue(p2 in r) self.assertEqual(r[0].firstname, 'Bart') self.assertEqual(r[0].surname, 'Simpson') self.assertEqual(r[1].firstname, 'Homer') self.assertEqual(r[1].surname, 'Simpson')