class TestHasNotEndedInDrawYet(unittest.TestCase):
    def setUp(self):
        self.board = TicTacToeBoard('''
XOX
OOX
 XO
''')

    def test_has_winner(self):
        self.assertFalse(self.board.has_winner())

    def test_winner(self):
        self.assertIsNone(self.board.winner())

    def test_has_ended_in_draw(self):
        self.assertFalse(self.board.has_ended_in_draw())
class TestCrossWins(unittest.TestCase):
    def setUp(self):
        self.board = TicTacToeBoard('''
XOO
XOO
XXX
''')

    def test_has_winner(self):
        self.assertTrue(self.board.has_winner())

    def test_winner(self):
        self.assertEqual(self.board.winner(), 'X')

    def test_has_ended_in_draw(self):
        self.assertFalse(self.board.has_ended_in_draw())