_ _ _ _ 15 16 17 18 29 20 21 _ _ _ _ YELLOW _ _ _ _ _ _ _ GREEN 14 _ _ _ _ 22 13 B _ _ B 23 12 _ _ _ _ 24 11 _ _ _ _ 25 10 _ _ _ _ 26 9 _ _ _ _ 27 8 _ _ _ _ 28 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ RED 07 06 05 04 03 02 01 BLUE sample: board.toString() output: Y Y Y Y 15 16 17 18 29 20 21 G G G G \n YELLOW _ _ _ _ _ _ _ GREEN \n \n 14 _ _ _ _ 22 \n 13 _ _ _ _ 23 \n 12 _ _ _ _ 24 \n 11 _ _ _ _ 25 \n 10 _ _ 6 _ _ 26 \n 9 _ _ _ _ 27 \n 8 _ _ _ _ 28 \n _ _ \n \n R R R R _ _ _ _ _ _ _ B B B B\n *RED 07 06 05 04 03 02 01 BLUE \n // initialize to initial game state, where it's R's turn to go first TroubleGameBoard tgb = new TroubleGameBoard("R"); // initialize to initial game state, where who goes first is chosen randomly. TroubleGameBoard tgb = new TroubleGameBoard(); tgb.nextMove(6); // changes game state to the correct value assuming that a 4 was rolled. assertEquals(tgb.getSpace(8).equals("R")); // this assumes that after a 6 is rolled, R frees her first piece. assertEquals(tgb.whoseTurn().equals("Y")); // now its Yellows turn. tgb.nextMove(3); assertEquals(tgb.getSpace(15).equals(" ")); // yellow didn't free anything assertEquals(tgb.whoseTurn().equals("G")); // now its Green's turn // you can continue in this way with a whole series of game moves.... making sure that every thing you can think of // that could happen in a game gets tested. tgb.nextMove(7); // throws IllegalArgumentException .. must be between 1 and 6