def test_basic_right(self): bitmask = np.array([ [False, False, False, False], [False, False, False, False], [False, True, True, False], [False, True, False, False], [False, False, False, False], ]) cost, rectangle = make_spritemap.minimum_average_cost_grow(bitmask, (2, 1, 4, 2)) self.assertEqual(rectangle, (2, 1, 4, 3)) self.assertAlmostEqual(cost, 2.0) cost, rectangle = make_spritemap.minimum_average_cost_grow(bitmask, (2, 1, 4, 3)) self.assertEqual(rectangle, (2, 1, 4, 3)) self.assertEqual(cost, None)
def test_basic_right(self): bitmask = np.array([ [False, False, False, False], [False, False, False, False], [False, True, True, False], [False, True, False, False], [False, False, False, False], ]) cost, rectangle = make_spritemap.minimum_average_cost_grow( bitmask, (2, 1, 4, 2)) self.assertEqual(rectangle, (2, 1, 4, 3)) self.assertAlmostEqual(cost, 2.0) cost, rectangle = make_spritemap.minimum_average_cost_grow( bitmask, (2, 1, 4, 3)) self.assertEqual(rectangle, (2, 1, 4, 3)) self.assertEqual(cost, None)
def test_basic_left(self): bitmask = np.array([ [False, False, False, False], [False, False, False, False], [False, True, False, False], [True, False, False, False], [False, False, False, False], ]) cost, rectangle = make_spritemap.minimum_average_cost_grow(bitmask, (2, 3, 4, 4)) self.assertEqual(rectangle, (2, 0, 4, 4)) self.assertAlmostEqual(cost, 3.0)
def test_basic_left(self): bitmask = np.array([ [False, False, False, False], [False, False, False, False], [False, True, False, False], [True, False, False, False], [False, False, False, False], ]) cost, rectangle = make_spritemap.minimum_average_cost_grow( bitmask, (2, 3, 4, 4)) self.assertEqual(rectangle, (2, 0, 4, 4)) self.assertAlmostEqual(cost, 3.0)
def test_basic_vertical(self): bitmask = np.array([ [False, True, False, False], [False, False, False, False], [False, True, False, False], [False, False, False, True], [False, False, False, False], ]) cost, rectangle = make_spritemap.minimum_average_cost_grow(bitmask, (3, 1, 4, 2)) self.assertEqual(rectangle, (2, 1, 4, 2)) self.assertAlmostEqual(cost, 1.0) bitmask = np.array([ [False, True, False, False], [False, False, False, False], [False, False, False, False], [False, True, False, False], [False, False, False, False], ]) cost, rectangle = make_spritemap.minimum_average_cost_grow(bitmask, (2, 1, 3, 2)) self.assertEqual(rectangle, (2, 1, 4, 2)) self.assertAlmostEqual(cost, 1.0)
def test_basic_vertical(self): bitmask = np.array([ [False, True, False, False], [False, False, False, False], [False, True, False, False], [False, False, False, True], [False, False, False, False], ]) cost, rectangle = make_spritemap.minimum_average_cost_grow( bitmask, (3, 1, 4, 2)) self.assertEqual(rectangle, (2, 1, 4, 2)) self.assertAlmostEqual(cost, 1.0) bitmask = np.array([ [False, True, False, False], [False, False, False, False], [False, False, False, False], [False, True, False, False], [False, False, False, False], ]) cost, rectangle = make_spritemap.minimum_average_cost_grow( bitmask, (2, 1, 3, 2)) self.assertEqual(rectangle, (2, 1, 4, 2)) self.assertAlmostEqual(cost, 1.0)