예제 #1
0
 def test_mouse_motion__remove_highlight_when_mouse_leaves_tile_2(self):
     board = Board()
     TILE_POS_1 = {'row': 0, 'col': 1}
     view = BoardView(board)
     controller = BoardController(board, view)
     mouse_position = view.get_screen_coords_of_tile(**TILE_POS_1)
     
     controller.mouse_motion(mouse_position)
     self.assertTrue(board.get_tile(**TILE_POS_1).is_highlighted())
     
     TILE_POS_2 = {'row': 0, 'col': 2}
     mouse_position = view.get_screen_coords_of_tile(**TILE_POS_2)
     controller.mouse_motion(mouse_position)
     self.assertFalse(board.get_tile(**TILE_POS_1).is_highlighted())
     self.assertTrue(board.get_tile(**TILE_POS_2).is_highlighted())
예제 #2
0
 def test_get_screen_coords_of_tile_5(self):
     board = Board()
     board_view = BoardView(board, x=10, y=20)
     board_view.set_tile_width(10)
     board_view.set_tile_height(20)
     coords = board_view.get_screen_coords_of_tile(row=3, col=2)
     self.assertEqual((30, 80), coords)
예제 #3
0
 def test_mouse_motion__highlight_tile_when_mouse_is_over_that_tile(self):
     board = Board()
     TILE_POS = {'row': 0, 'col': 0}
     tile = board.get_tile(**TILE_POS)
     view = BoardView(board)
     controller = BoardController(board, view)
     mouse_position = view.get_screen_coords_of_tile(**TILE_POS)
     
     self.assertFalse(tile.is_highlighted())
     controller.mouse_motion(mouse_position)
     self.assertTrue(tile.is_highlighted())
예제 #4
0
 def test_mouse_click__should_move_tile(self):
     board = Board("""
          1  2  3  4
          5  6  7  8
          9 10 11  .
         13 14 12 15
     """)
     view = BoardView(board)
     controller = BoardController(board, view)
     mouse_position = view.get_screen_coords_of_tile(row=3, col=3)
     
     controller.mouse_click(mouse_position)
     
     expected = Board("""
          1  2  3  4
          5  6  7  8
          9 10 11 15
         13 14 12  .
     """)
     self.assertEqual(str(expected), str(board))
예제 #5
0
 def test_get_screen_coords_of_tile_1(self):
     board = Board()
     board_view = BoardView(board, x=0, y=0)
     coords = board_view.get_screen_coords_of_tile(row=0, col=0)
     self.assertEqual((0, 0), coords)
예제 #6
0
 def test_get_screen_coords_of_tile_3(self):
     board = Board()
     board_view = BoardView(board, x=0, y=0)
     board_view.set_tile_height(10)
     coords = board_view.get_screen_coords_of_tile(row=1, col=0)
     self.assertEqual((0, 10), coords)
예제 #7
0
 def test_get_screen_coords_of_tile_2(self):
     board = Board()
     board_view = BoardView(board, x=0, y=0)
     board_view.set_tile_width(10)
     coords = board_view.get_screen_coords_of_tile(row=0, col=1)
     self.assertEqual((10, 0), coords)