def test_add_tile_to_state_raises_error(self): w = 40 h = 30 dg = DataGenerator(w, h) tiles = np.array([[2, 3], [4, 5]]) matrix = dg._transform_instance_to_matrix(tiles) state = np.copy(matrix[0]) self.assertRaises( ValueError, lambda: DataGenerator.add_tile_to_state( state, DataGenerator.tile_to_matrix([4, 5], w, h), (1, 2)))
def test_add_tile_to_state(self): """ test that tile gets added to matrix at depth[0] """ w = 8 h = 9 dg = DataGenerator(w, h) tiles = np.array([[2, 3], [2, 1]]) matrix = dg._transform_instance_to_matrix(tiles) self.assertEqual(list(matrix[:, :, 0][0]), [ 1., 1., 1., 0., 0., 0., 0., 0., ]) self.assertEqual(list(matrix[:, :, 0][1]), [ 1., 1., 1., 0., 0., 0., 0., 0., ]) self.assertEqual(list(matrix[:, :, 0][2]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(matrix[:, :, 0][3]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(matrix[:, :, 0][4]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(matrix[:, :, 0][5]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(matrix[:, :, 0][6]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(matrix[:, :, 0][7]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(matrix[:, :, 0][8]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) state = matrix[:, :, 0].copy() state, vis = DataGenerator.add_tile_to_state( state, DataGenerator.tile_to_matrix([2, 1], w, h), (2, 2)) self.assertEqual(list(state[0]), [ 1., 1., 1., 0., 0., 0., 0., 0., ]) self.assertEqual(list(state[1]), [ 1., 1., 1., 0., 0., 0., 0., 0., ]) self.assertEqual(list(state[2]), [ 0., 0., 1., 0., 0., 0., 0., 0., ]) self.assertEqual(list(state[3]), [ 0., 0., 1., 0., 0., 0., 0., 0., ]) self.assertEqual(list(state[4]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(state[5]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(state[6]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(state[7]), [ 0., 0., 0., 0., 0., 0., 0., 0., ]) self.assertEqual(list(state[8]), [ 0., 0., 0., 0., 0., 0., 0., 0., ])