Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
 def setUp(self):
     self.object_example = BaseObject(
         angle=45,
         size=(25, 50),
         pos=(100, 100))