clockwise and anticlockwise were swapped because I thought west was east
authoradrianna <adrianna.pinska@gmail.com>
Sat, 17 May 2014 00:13:50 +0000 (02:13 +0200)
committeradrianna <adrianna.pinska@gmail.com>
Sat, 17 May 2014 00:14:00 +0000 (02:14 +0200)
naja/gameboard.py
naja/tests/test_gameboard.py

index da7dbd2c8b2a5614a90888c73dc5535ae721bade..5e12568ded530dc8386a5a90542338f0771746b1 100644 (file)
@@ -181,14 +181,17 @@ class GameBoard(object):
         if px > 0:
             locations_to_rotate.append((px - 1, py))
 
+        print "rotating", direction
+
         if ROTATION[direction] == ROTATION.CLOCKWISE:
+            print "CLOCKWISE"
             new_positions = locations_to_rotate[1:] + [locations_to_rotate[0]]
         elif ROTATION[direction] == ROTATION.ANTICLOCKWISE:
-            new_positions = (
-                [locations_to_rotate[-1]] + locations_to_rotate[:-1])
+            print "ANTICLOCKWISE"
+            new_positions = ([locations_to_rotate[-1]] + locations_to_rotate[:-1])
 
         for old, new in zip(locations_to_rotate, new_positions):
-            rotated_locations[old] = self.board_locations[new]
+            rotated_locations[new] = self.board_locations[old]
 
         self.board_locations.update(rotated_locations)
 
index ca031a33bee7c9e9b1a305e5f1a92c2ab2f4d859..2db02a78b436d8bdf72dabb9c5f888e0fd547285 100644 (file)
@@ -152,54 +152,64 @@ class TestGameBoard(TestCase):
             (0, 2): '12', (1, 2): '32', (3, 2): '42', (4, 2): '02',
         }))
 
-    def test_rotate_locations_clockwise(self):
+    def test_rotate_locations_anticlockwise(self):
         board = GameBoard.new_game(self.make_deck())
         board.board_locations = self.generate_locations()
-        board.rotate_locations('CLOCKWISE')
+        board.rotate_locations('ANTICLOCKWISE')
         self.assertEqual(board.board_locations, self.generate_locations({
             (1, 1): '21', (2, 1): '31', (3, 1): '32',
             (1, 2): '11',               (3, 2): '33',
             (1, 3): '12', (2, 3): '13', (3, 3): '23',
         }))
 
-    def test_rotate_locations_clockwise_top(self):
+    def test_rotate_locations_anticlockwise_top(self):
         board = GameBoard.new_game(self.make_deck(), initial_pos=(2, 0))
         board.board_locations = self.generate_locations()
-        board.rotate_locations('CLOCKWISE')
+        board.rotate_locations('ANTICLOCKWISE')
         self.assertEqual(board.board_locations, self.generate_locations({
             (1, 0): '30',               (3, 0): '31',
             (1, 1): '10', (2, 1): '11', (3, 1): '21',
         }))
 
-    def test_rotate_locations_clockwise_right(self):
+    def test_rotate_locations_anticlockwise_right(self):
         board = GameBoard.new_game(self.make_deck(), initial_pos=(0, 2))
         board.board_locations = self.generate_locations()
-        board.rotate_locations('CLOCKWISE')
+        board.rotate_locations('ANTICLOCKWISE')
         self.assertEqual(board.board_locations, self.generate_locations({
             (0, 1): '11', (1, 1): '12',
                           (1, 2): '13',
             (0, 3): '01', (1, 3): '03',
         }))
 
-    def test_rotate_locations_clockwise_corner(self):
+    def test_rotate_locations_anticlockwise_corner(self):
         board = GameBoard.new_game(self.make_deck(), initial_pos=(0, 4))
         board.board_locations = self.generate_locations()
-        board.rotate_locations('CLOCKWISE')
+        board.rotate_locations('ANTICLOCKWISE')
         self.assertEqual(board.board_locations, self.generate_locations({
             (0, 3): '13', (1, 3): '14',
                           (1, 4): '03',
         }))
 
-    def test_rotate_locations_anticlockwise(self):
+    def test_rotate_locations_clockwise(self):
         board = GameBoard.new_game(self.make_deck())
         board.board_locations = self.generate_locations()
-        board.rotate_locations('ANTICLOCKWISE')
+        board.rotate_locations('CLOCKWISE')
         self.assertEqual(board.board_locations, self.generate_locations({
             (1, 1): '12', (2, 1): '11', (3, 1): '21',
             (1, 2): '13',               (3, 2): '31',
             (1, 3): '23', (2, 3): '33', (3, 3): '32',
         }))
 
+    def test_rotate_locations_clockwise_1_3(self):
+        board = GameBoard.new_game(self.make_deck(), initial_pos=(1, 3))
+        board.board_locations = self.generate_locations()
+        board.rotate_locations('CLOCKWISE')
+        self.assertEqual(board.board_locations, self.generate_locations({
+            (0, 2): '03', (1, 2): '02', (2, 2): '12',
+            (0, 3): '04',               (2, 3): '22',
+            (0, 4): '14', (1, 4): '24', (2, 4): '23',
+        }))
+
     def test_allow_chess_move_knight(self):
         board = GameBoard.new_game(self.make_deck())
         board.allow_chess_move(MOVES.KNIGHT)