def test_zoom_clamps_the_maximum_zoom_in_to_the_minimum_tile_line_in_view(self): # noqa tmap = TileMap(TileGrid(Size(12, 16)), tile_sz=Size(10, 10)) cam = Camera(tmap) cam.minimum_tile_line_in_view = 4 cam.zoom(0.00001) expected_r = Rectangle( Point(60-4*10/2, 80-4*10*16/12/2), Size(4*10, 4*10*16/12), ) self.assertEqual(cam.view_rect, expected_r)
def test_zoom_scales_the_view_rectangle_by_the_supplied_factor(self): tmap = TileMap(TileGrid(Size(12, 16)), tile_sz=Size(10, 10)) cam = Camera(tmap) cam.minimum_tile_line_in_view = 4 cam.zoom(0.5) self.assertEqual(cam.view_rect, Rectangle(Point(30, 40), Size(60, 80)))