def test_collide_dispatched(self): first = Collidable(size=(5, 5)) first.mock = Mock() first.bind(on_collide=first.mock.some_method) second = Collidable(size=(5, 5), pos=(3, 3)) second.mock = Mock() second.bind(on_collide=second.mock.some_method) third = Collidable(size=(5, 5), pos=(7, 7)) third.mock = Mock() third.bind(on_collide=third.mock.some_method) fourth = Collidable(size=(5, 5), pos=(10, 0)) fourth.mock = Mock() fourth.bind(on_collide=fourth.mock.some_method) fifth = BaseObject(size=(15, 15)) first.update() second.update() third.update() fourth.update() fifth.update() self.assertEqual(first.mock.some_method.call_count, 1) self.assertEqual(second.mock.some_method.call_count, 2) self.assertEqual(third.mock.some_method.call_count, 1) self.assertEqual(fourth.mock.some_method.call_count, 0)
def setUp(self): self.parent = BaseObject() self.first = BaseObject() self.second = BaseObject() self.collection = ObjectsCollection( objects=[self.first, self.second], parent_widget=self.parent)
class TestObjectsCollection(unittest.TestCase): def setUp(self): self.parent = BaseObject() self.first = BaseObject() self.second = BaseObject() self.collection = ObjectsCollection( objects=[self.first, self.second], parent_widget=self.parent) def test_ierarchy(self): self.assertIn(self.first, self.parent.children) self.assertIn(self.second, self.parent.children) def test_add_remove_from_collection(self): fourth = BaseObject() self.collection.append(fourth) self.assertIn(fourth, self.parent.children) self.collection.remove(self.second) self.assertNotIn(self.second, self.parent.children) self.assertIn(fourth, self.parent.children) self.collection.clear() self.assertNotIn(fourth, self.parent.children) def test_update_collection(self): first_mock = mock.Mock() self.first.bind(on_update=first_mock.some_method) second_mock = mock.Mock() self.second.bind(on_update=second_mock.some_method) self.parent.update() self.assertEqual(first_mock.some_method.call_count, 1) self.assertEqual(second_mock.some_method.call_count, 1)
class TestBaseObject(unittest.TestCase): def setUp(self): self.object_example = BaseObject( angle=45, size=(25, 50), pos=(100, 100)) def test_relative_to_absolute(self): self.assertEqual( self.object_example._get_relative_coords_by_absolute( 110, 120), (10, 20)) def test_absolute_to_relative(self): self.assertEqual( self.object_example._get_absolute_coords_by_relative( 20, 30), (120, 130)) def test_update_method(self): m = mock.Mock() self.object_example.bind(on_update=m.some_method) self.object_example.update() self.assertEqual(m.some_method.call_count, 1)
def setUp(self): self.object_example = BaseObject( angle=45, size=(25, 50), pos=(100, 100))