Esempio n. 1
1
class TestRat(unittest.TestCase):

    def setUp(self):
        self.rat = Rat('P', 1, 4)

    def test_rat_create(self):
        self.assertEqual(self.rat.symbol, 'P')
        self.assertEqual(self.rat.row, 1)
        self.assertEqual(self.rat.col, 4)
        self.assertEqual(self.rat.num_sprouts_eaten, 0)

    def test_set_location(self):
        self.rat.set_location(5,7)
        self.assertEqual(self.rat.row, 5)
        self.assertEqual(self.rat.col, 7)

    def test_num_sprouts_eaten(self):
        self.rat.eat_sprout()
        self.assertEqual(self.rat.num_sprouts_eaten, 1)
        self.rat.eat_sprout()
        self.assertEqual(self.rat.num_sprouts_eaten, 2)

    def test_print(self):
        rat = Rat('J', 4, 3)
        rat.eat_sprout()
        rat.eat_sprout()
        self.assertEqual(rat.__str__(), 'J at (4, 3) ate 2 sprouts.')
Esempio n. 2
1
 def setUp(self):
     self.rat = Rat('P', 1, 4)
Esempio n. 3
1
 def test_print(self):
     rat = Rat('J', 4, 3)
     rat.eat_sprout()
     rat.eat_sprout()
     self.assertEqual(rat.__str__(), 'J at (4, 3) ate 2 sprouts.')
Esempio n. 4
0
 def setUp(self):
     self.maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                       ['#', '.', '.', '.', '.', '.', '#'],
                       ['#', '.', '#', '#', '#', '.', '#'],
                       ['#', '.', '.', '@', '#', '.', '#'],
                       ['#', '@', '#', '.', '@', '.', '#'],
                       ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),
                      Rat('P', 1, 4))
Esempio n. 5
0
def test_Maze_str():
    maze = Maze([['#', '#', '#', '#', '#', '#', '#'],
                 ['#', 'J', '@', '.', 'P', '.', '#'],
                 ['#', '.', '#', '#', '#', '.', '#'],
                 ['#', '.', '.', '@', '#', '.', '#'],
                 ['#', '@', '#', '.', '@', '.', '#'],
                 ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),
                Rat('P', 1, 4))

    breakpoint()
    assert str(maze) == """#######
Esempio n. 6
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)
Esempio n. 7
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) == "."
Esempio n. 8
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."
Esempio n. 9
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
Esempio n. 10
0
def test_Rat_instantiation():
    rat = Rat("P", 1, 4)

    assert rat.symbol == "P"
    assert rat.row == 1
    assert rat.col == 4
    assert rat.num_sprouts_eaten == 0
Esempio n. 11
0
def test_Rat_eat_sprout():
    rat = Rat("P", 1, 4)

    rat.eat_sprout()
    assert rat.num_sprouts_eaten == 1

    rat.eat_sprout()
    assert rat.num_sprouts_eaten == 2
Esempio n. 12
0
def test_Rat_set_location():
    rat = Rat("P", 1, 4)

    rat.set_location(3, 2)
    assert rat.row == 3
    assert rat.col == 2

    rat.set_location(1, 3)
    assert rat.row == 1
    assert rat.col == 3
Esempio n. 13
0
def test_Rat_print():
    rat_1 = Rat("P", 1, 4)
    rat_2 = Rat("P", 2, 2)

    assert str(rat_1) == "P at (1, 4) ate 0 sprouts."
    assert str(rat_2) == "P at (2, 2) ate 0 sprouts."