Tic-Tac-Toe

This project is designed as an introduction to Data Structures.

Write a class definition for a class called TicTacToe. An object of type TicTacToe is a single game of TicTacToe. Your TicTacToe class should include methods to

Write a main method for the class that will allow users to play the game on the console with a keyboard. Both players will sit at the keyboard and enter their moves in turn.

There should be a clear separation between the TicTacToe object, the code that displays information to the screen, and the main method that starts everything up.
This will allow you to test the game logic apart from the display code and the startup code.

Extra Credit (10 points)

Write a JUnit test class that tests your Tic-tacToe class independently from the main method. Your tests do not have to cover every possible case-- nominal cases are sufficient as long as every method gets called at least once. Naturally, some methods must be called more than once in order to have a reasonable test. For example, you would want to test that the game tells you there isn't a winner when there isn't and that there is a winner when there is.


Things to think about