class APieceOf5x5Blocks(unittest.TestCase): def setUp(self): self.piece_repr = "..XXX\n" + \ "..XX.\n" + \ "..X..\n" + \ ".....\n" + \ ".....\n" self.piece = Piece(self.piece_repr) def test_consists_of_many_blocks(self): self.assertEqual(self.piece_repr, str(self.piece)) def test_can_be_rotated_right(self): piece = self.piece.rotate_right() expected_piece = ".....\n" + \ ".....\n" + \ "..XXX\n" + \ "...XX\n" + \ "....X\n" self.assertEqual(expected_piece, str(piece)) def test_can_be_rotated_left(self): piece = self.piece.rotate_left() expected_piece = "X....\n" + \ "XX...\n" + \ "XXX..\n" + \ ".....\n" + \ ".....\n" self.assertEqual(expected_piece, str(piece))