コード例 #1
0
ファイル: test_maze.py プロジェクト: amos1994/LTP
 def setUp(self):
     self.maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                       ['#', '.', '.', '.', '.', '.', '#'],
                       ['#', '.', '#', '#', '#', '.', '#'],
                       ['#', '.', '.', '@', '#', '.', '#'],
                       ['#', '@', '#', '.', '@', '.', '#'],
                       ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),
                      Rat('P', 1, 4))
コード例 #2
0
def test_Maze_is_wall():
    maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                 ['#', '.', '@', '.', '.', '.', '#'],
                 ['#', '.', '#', '#', '#', '.', '#'],
                 ['#', '.', '.', '@', '#', '.', '#'],
                 ['#', '@', '#', '.', '@', '.', '#'],
                 ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 0),
                Rat('P', 1, 4))

    assert maze.is_wall(maze.rat_1.row, maze.rat_1.col)
    assert not maze.is_wall(maze.rat_2.row, maze.rat_2.col)
コード例 #3
0
def test_Maze_get_character():
    maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                 ['#', 'J', '@', '.', 'P', '.', '#'],
                 ['#', '.', '#', '#', '#', '.', '#'],
                 ['#', '.', '.', '@', '#', '.', '#'],
                 ['#', '@', '#', '.', '@', '.', '#'],
                 ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),
                Rat('P', 1, 4))

    assert maze.get_character(1, 1) == "J"
    assert maze.get_character(1, 4) == "P"
    assert maze.get_character(1, 5) == "."
コード例 #4
0
def test_Maze_move():
    maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                 ['#', 'J', '@', '.', 'P', '.', '#'],
                 ['#', '.', '#', '#', '#', '.', '#'],
                 ['#', '.', '.', '@', '#', '.', '#'],
                 ['#', '@', '#', '.', '@', '.', '#'],
                 ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),
                Rat('P', 1, 4))

    assert maze.move(maze.rat_1, 0, 1)
    assert not maze.move(maze.rat_2, -1, 0)
    assert maze.maze[maze.rat_1.row][maze.rat_1.col] == "."
    assert maze.num_sprouts_left == 3
コード例 #5
0
ファイル: test_maze.py プロジェクト: amos1994/LTP
 def setUp(self):
     self.maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                       ['#', '.', '.', '.', '.', '.', '#'],
                       ['#', '.', '#', '#', '#', '.', '#'],
                       ['#', '.', '.', '@', '#', '.', '#'],
                       ['#', '@', '#', '.', '@', '.', '#'],
                       ['#', '#', '#', '#', '#', '#', '#']],
                      Rat('J', 1, 1),
                      Rat('P', 1, 4))
コード例 #6
0
def test_Maze_str():
    maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                 ['#', 'J', '@', '.', 'P', '.', '#'],
                 ['#', '.', '#', '#', '#', '.', '#'],
                 ['#', '.', '.', '@', '#', '.', '#'],
                 ['#', '@', '#', '.', '@', '.', '#'],
                 ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),
                Rat('P', 1, 4))

    breakpoint()
    assert str(maze) == """#######
コード例 #7
0
def test_Maze_initialization():
    maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                 ['#', '.', '@', '.', '.', '.', '#'],
                 ['#', '.', '#', '#', '#', '.', '#'],
                 ['#', '.', '.', '@', '#', '.', '#'],
                 ['#', '@', '#', '.', '@', '.', '#'],
                 ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),
                Rat('P', 1, 4))

    assert maze.num_sprouts_left == 4
    assert str(maze.rat_1) == "J at (1, 1) ate 0 sprouts."
    assert str(maze.rat_2) == "P at (1, 4) ate 0 sprouts."
コード例 #8
0
ファイル: test_maze.py プロジェクト: amos1994/LTP
class TestMaze(unittest.TestCase):
    def setUp(self):
        self.maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                          ['#', '.', '.', '.', '.', '.', '#'],
                          ['#', '.', '#', '#', '#', '.', '#'],
                          ['#', '.', '.', '@', '#', '.', '#'],
                          ['#', '@', '#', '.', '@', '.', '#'],
                          ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),
                         Rat('P', 1, 4))

    def test_maze_create(self):
        tmp = [['#', '#', '#', '#', '#', '#', '#'],
               ['#', '.', '.', '.', '.', '.', '#'],
               ['#', '.', '#', '#', '#', '.', '#'],
               ['#', '.', '.', '@', '#', '.', '#'],
               ['#', '@', '#', '.', '@', '.', '#'],
               ['#', '#', '#', '#', '#', '#', '#']]
        self.assertListEqual(tmp, self.maze.maze)
        self.assertEqual(self.maze.rat_1.symbol, 'J')
        self.assertEqual(self.maze.rat_1.row, 1)
        self.assertEqual(self.maze.rat_1.col, 1)

        self.assertEqual(self.maze.rat_2.symbol, 'P')
        self.assertEqual(self.maze.rat_2.row, 1)
        self.assertEqual(self.maze.rat_2.col, 4)

    def test_is_wall(self):
        self.assertTrue(self.maze.is_wall(0, 0))
        self.assertTrue(self.maze.is_wall(0, 6))
        self.assertTrue(self.maze.is_wall(2, 2))
        self.assertFalse(self.maze.is_wall(1, 1))
        self.assertFalse(self.maze.is_wall(4, 1))

    def test_get_character(self):
        self.assertEqual(self.maze.get_character(0, 0), '#')
        self.assertEqual(self.maze.get_character(1, 1), 'J')
        self.assertEqual(self.maze.get_character(1, 4), 'P')
        self.assertEqual(self.maze.get_character(3, 3), '@')

    def test_move(self):
        # original position for J (1,1)
        self.assertTrue(self.maze.move(self.maze.rat_1, NO_CHANGE, NO_CHANGE))
        self.assertTrue(self.maze.move(self.maze.rat_1, NO_CHANGE, RIGHT))
        self.assertFalse(self.maze.move(self.maze.rat_1, DOWN, NO_CHANGE))
        # position 1, 2
        self.assertTrue(self.maze.move(self.maze.rat_1, NO_CHANGE, LEFT))
        self.maze.move(self.maze.rat_1, DOWN, NO_CHANGE)
        self.assertTrue(self.maze.move(self.maze.rat_1, DOWN, NO_CHANGE))
コード例 #9
0
ファイル: test_maze.py プロジェクト: amos1994/LTP
class TestMaze(unittest.TestCase):

    def setUp(self):
        self.maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                          ['#', '.', '.', '.', '.', '.', '#'],
                          ['#', '.', '#', '#', '#', '.', '#'],
                          ['#', '.', '.', '@', '#', '.', '#'],
                          ['#', '@', '#', '.', '@', '.', '#'],
                          ['#', '#', '#', '#', '#', '#', '#']],
                         Rat('J', 1, 1),
                         Rat('P', 1, 4))

    def test_maze_create(self):
        tmp = [['#', '#', '#', '#', '#', '#', '#'],
               ['#', '.', '.', '.', '.', '.', '#'],
               ['#', '.', '#', '#', '#', '.', '#'],
               ['#', '.', '.', '@', '#', '.', '#'],
               ['#', '@', '#', '.', '@', '.', '#'],
               ['#', '#', '#', '#', '#', '#', '#']]
        self.assertListEqual(tmp, self.maze.maze)
        self.assertEqual(self.maze.rat_1.symbol, 'J')
        self.assertEqual(self.maze.rat_1.row, 1)
        self.assertEqual(self.maze.rat_1.col, 1)

        self.assertEqual(self.maze.rat_2.symbol, 'P')
        self.assertEqual(self.maze.rat_2.row, 1)
        self.assertEqual(self.maze.rat_2.col, 4)

    def test_is_wall(self):
        self.assertTrue(self.maze.is_wall(0,0))
        self.assertTrue(self.maze.is_wall(0,6))
        self.assertTrue(self.maze.is_wall(2,2))
        self.assertFalse(self.maze.is_wall(1,1))
        self.assertFalse(self.maze.is_wall(4,1))

    def test_get_character(self):
        self.assertEqual(self.maze.get_character(0,0), '#')
        self.assertEqual(self.maze.get_character(1,1), 'J')
        self.assertEqual(self.maze.get_character(1,4), 'P')
        self.assertEqual(self.maze.get_character(3,3), '@')

    def test_move(self):
        # original position for J (1,1)
        self.assertTrue(self.maze.move(self.maze.rat_1, NO_CHANGE, NO_CHANGE))
        self.assertTrue(self.maze.move(self.maze.rat_1, NO_CHANGE, RIGHT))
        self.assertFalse(self.maze.move(self.maze.rat_1, DOWN, NO_CHANGE))
        # position 1, 2
        self.assertTrue(self.maze.move(self.maze.rat_1, NO_CHANGE, LEFT))
        self.maze.move(self.maze.rat_1, DOWN, NO_CHANGE)
        self.assertTrue(self.maze.move(self.maze.rat_1, DOWN, NO_CHANGE))