class BaseLoadertestCase(unittest.TestCase): def setUp(self): self.loader = BaseLoader() self.sandbox = Sandbox() def tearDown(self): self.sandbox.restore() def test_load_when_no_on_load(self): loader = self.loader loader.parse = Spy() loader.load('somefile') self.assertTrue(loader.parse.is_called()) def test_on_load_called(self): loader = self.loader loader.parse = Spy() _on_load = Spy() # mock Clock.schedule_once self.sandbox.stub(Clock, 'schedule_once', call_fake=lambda x, t: x(0)) loader.load('somesource', on_load=_on_load) self.assertTrue( _on_load.is_called(), 'on_load callback should be called' )
class Object3DTest(unittest.TestCase): def setUp(self): self.sandbox = Sandbox() self.obj = Object3D() def tearDown(self): self.sandbox.restore() def test_position(self): obj = self.obj obj.pos.x = 10 self.assertEqual(obj._position[0], 10) obj.position.y = 8 self.assertEqual(obj._position[1], 8) obj.pos.z = 3 self.assertEqual(obj._position[2], 3) def test_add_objects(self): obj = self.obj self.sandbox.stub(obj, '_add_child') obj.add(DummyObject(), DummyObject(), DummyObject()) self.assertEqual(obj._add_child.call_count, 3) def test_add_child(self): obj = self.obj child = DummyObject() obj._add_child(child) self.assertEqual(child.parent, obj) self.assertEqual(len(obj.children), 1)