Пример #1
0
class TestHigscore(unittest.TestCase):
    """Test Higscore Class."""

    def setUp(self):
        """Run at the beginning of the test."""
        self.game = Game()
        self.mock_player1 = Mock(spec=Player, name="player1",
                                 score=42, decision=False)
        self.mock_player2 = Mock(spec=Player, name="Computer",
                                 score=65, decision=True)

        self.assertIsInstance(self.mock_player1, Player)
        self.assertIsInstance(self.mock_player2, Player)
        self.score = Highscore(self.mock_player1, self.mock_player2)

    def test_write_file(self):
        """Test write_file."""
        self.player1 = Player("score1", False)
        self.game.set_playing_now(self.game.player1)
        self.player1.change_score(5)
        self.score.write_file()

        self.player2_name = Player("score2", False)
        self.game.set_playing_now(self.game.player2)
        self.player1.change_score(4)

    def test_read_file(self):
        """Test read_file."""
        self.score.get_path()
        catch_output = io.StringIO()
        sys.stdout = catch_output

        self.score.read_file()

        sys.stdout = sys.__stdout__
        output = catch_output.getvalue()

        self.assertIn("player name: ", output)
        self.assertIn(" (score) -> ", output)

    def test_get_path(self):
        """Test get_path."""
        exp = self.score.get_path()
        self.assertTrue(exp, 'score.txt')