def test_add_to_pymunk(self): color = (50, 100, 200) v1, v2, v3 = (0, 0), (0, 100), (100, 0) verts = [v1, v2, v3] room1 = Room(verts) room1.id = 999 room1.add_to_body = Listener() room2 = Room(verts) room2.id = 1000 room2.add_to_body = Listener() world = World() world.rooms = {999: room1, 1000: room2} world.add_to_pymunk() expected = (world.space, world.static_body) self.assertEquals(room1.add_to_body.args, expected, "room1 walls not added to space") self.assertEquals(room2.add_to_body.args, expected, "room2 walls not added to space")
def test_draw_calls_subroutines_in_right_order(self): camera = Camera((0, 1), 2) renderer = Renderer(camera) roomColor = (255,0,0) verts = [(-1, 0), (2,3), (4, 0)] room1 = Room(verts) room2 = Room(verts) chunk1 = Chunk() chunk2 = Chunk() world = World() world.backColor = (111, 22, 3) world.rooms = {1: room1, 2: room2} world.chunks = set([chunk1, chunk2]) listener = Listener() renderer.clear = \ lambda *args: listener("clear", *args) camera.world_projection = \ lambda *args: listener("world_proj", *args) renderer.draw_rooms = \ lambda *args: listener("draw_rooms", *args) renderer.draw_chunk = \ lambda *args: listener("draw_chunk", *args) aspect = 1.5 renderer.draw(world, aspect) expected = [ ("clear", world.material.color), ("world_proj", aspect), ("draw_rooms", {1: room1, 2: room2}), ("draw_chunk", chunk2), ("draw_chunk", chunk1), ] self.assertEquals(listener.args_list, expected, "draw didnt call subfns")