Exemple #1
0
 def test_board_as_array(self):
     with mock.patch('src.tictactoe.game.Board') as MockBoard:
         MockBoard.return_value.asArray.return_value = [Board.Mark.CROSS
                                                        ] * 9
         game = Tictactoe(MockBoard())
         self.assertEqual(game.getBoardAsArray(), [Board.Mark.CROSS] * 9)
         MockBoard.return_value.asArray.assert_called_once()
Exemple #2
0
 def test_win_in_third_column(self):
     with mock.patch('src.tictactoe.game.Board') as MockBoard:
         MockBoard.return_value.asArray.return_value = [
             Board.Mark.NOUGHT, Board.Mark.CROSS, Board.Mark.NOUGHT,
             Board.Mark.CROSS, Board.Mark.EMPTY, Board.Mark.NOUGHT,
             Board.Mark.CROSS, Board.Mark.CROSS, Board.Mark.NOUGHT
         ]
         game = Tictactoe(MockBoard())
         self.assertEqual(game.isWinner(), True)
         self.assertEqual(game.getWinner(), Board.Mark.NOUGHT)
         self.assertEqual(game.isFinished(), True)
Exemple #3
0
 def test_not_finished_game(self):
     with mock.patch('src.tictactoe.game.Board') as MockBoard:
         MockBoard.return_value.asArray.return_value = [
             Board.Mark.NOUGHT, Board.Mark.NOUGHT, Board.Mark.CROSS,
             Board.Mark.EMPTY, Board.Mark.CROSS, Board.Mark.NOUGHT,
             Board.Mark.EMPTY, Board.Mark.CROSS, Board.Mark.EMPTY
         ]
         game = Tictactoe(MockBoard())
         self.assertEqual(game.isWinner(), False)
         self.assertEqual(game.getWinner(), None)
         self.assertEqual(game.isFinished(), False)
Exemple #4
0
 def test_win_diagonally_from_right_top(self):
     with mock.patch('src.tictactoe.game.Board') as MockBoard:
         MockBoard.return_value.asArray.return_value = [
             Board.Mark.NOUGHT, Board.Mark.NOUGHT, Board.Mark.CROSS,
             Board.Mark.CROSS, Board.Mark.CROSS, Board.Mark.NOUGHT,
             Board.Mark.CROSS, Board.Mark.CROSS, Board.Mark.NOUGHT
         ]
         game = Tictactoe(MockBoard())
         self.assertEqual(game.isWinner(), True)
         self.assertEqual(game.getWinner(), Board.Mark.CROSS)
         self.assertEqual(game.isFinished(), True)
    def printBoard(self, game: Tictactoe):
        boardArray = game.getBoardAsArray()
        view = self.getHtmlView(boardArray)

        self.__saveHtmlView(view)
        webbrowser.open("file://" +
                        FileHelper.getTmpFilePath(self.HTML_VIEW_FILE))
Exemple #6
0
 def run(self, game=Tictactoe()):
     self.game = game
     self.root.title(self.APP_NAME)
     self.root.iconbitmap(FileHelper.getAssetFilePath('icon.ico'))
     self.view = View(self.root, self)
     self.view.createBoard()
     self.root.mainloop()
Exemple #7
0
        return 0


gameType = 0
while gameType not in [1, 2]:
    gameType = askForIntOrGetZero(
        "Jak chcesz zagrac ? \n1) GUI \n2) Konsola \n")

app: Application

if gameType == 1:
    app = Gui()

else:
    printerType = 0
    while printerType not in PrinterFactory.getTypes():
        printerType = askForIntOrGetZero(
            "Jak chcesz wysweitlac plansze ? \n1) W konsoli ?\n2) W przegladarce ?\n"
        )
    printer = PrinterFactory.getPrinter(PrinterFactory.Type(printerType))

    inputType = 0
    while inputType not in InputAdapterFactory.getTypes():
        inputType = askForIntOrGetZero(
            "Jak chcesz wprowadzac wspolrzedne ?\n 1) Kolejno od 1 do 9\n 2) Wspolrzedne jak dla mecierzy od 1 do 3, wiersz i kolumna rozdzielone przecinkiem ? "
        )
    inputAdapter = InputAdapterFactory.getAdapter(inputType)
    app = Console(printer, Input(inputAdapter))

app.run(Tictactoe())