CS 215 Project 4 Submission Errors

This document gives some examples of the email the submission system will send for common submission errors

Generally, the test program will not crash. (Two possibilities are errors in dynamic allocation and accessing the grid outside its bounds.) Instead it will exit whenever it encounters an error in the expected results unless otherwise noted. It will output to the emailed grade log copious amounts of output as shown below.

Submission compiled and ran successfully

Compiling dots game
Testing BoxGrid class
Default construction tests - grid should be 3x3
Write test of empty grid
Basic draw tests; drawing box (1,1) - l, r, t, b
Testing duplicate errors
Write test with center box drawn
Passes basic drawing and DuplicateError tests on Default constructed grid

Explicit-value construction tests - grid is 5x7
Write test of empty grid
Drawing the left sides of (0,0) (0,1) (1,0) (1,1)
Drawing the right sides of (0,0) (0,1) (1,0) (1,1)
Drawing the top sides of (0,0) (0,1) (1,0) (1,1)
Drawing the bottom sides of (0,0) (0,1) (1,0) (1,1)
Drawing the left sides of (3,0) (3,1) (4,0) (4,1)
Drawing the right sides of (3,0) (3,1) (4,0) (4,1)
Drawing the bottom sides of (3,0) (3,1) (4,0) (4,1)
Drawing the top sides of (3,0) (3,1) (4,0) (4,1)
Drawing the top sides of (0,5) (0,6) (1,5) (1,6)
Drawing the bottom sides of (0,5) (0,6) (1,5) (1,6)
Drawing the right sides of (0,5) (0,6) (1,5) (1,6)
Drawing the left sides of (0,5) (0,6) (1,5) (1,6)
Drawing the bottom sides of (3,5) (3,6) (4,5) (4,6)
Drawing the top sides of (3,5) (3,6) (4,5) (4,6)
Drawing the left sides of (3,5) (3,6) (4,5) (4,6)
Drawing the right sides of (3,5) (3,6) (4,5) (4,6)
DrawRight 2 box fill test
DrawLeft 2 box fill test
DrawTop 2 box fill tests
DrawBottom 2 box fill tests
GameOver true test
Passes drawing side tests
Write test of final grid

Testing range errors
Passes RangeError tests
Explicit-value constructor error tests
Passes explicit-value constructor error tests
Copy constructor test
Drawing in box (0,0) of copy
Passes copy construction tests
Drawing in box (0,0) of assigned grid
Passes assignment tests

Submission compiled and ran successfully, with Write errors

Formatting errors in BoxGrid::Write will not cause the submission system to report Failure, but will cause extra output in the email log. You are responsible for determining whether the error is something simple, like missing a space, or something serious, like not outputing a '|' when a side is drawn. In this particular case, there is a missing space after the index of each row.

Compiling dots game
Testing BoxGrid class
Default construction tests - grid should be 3x3
Write test of empty grid
Write of empty grid may be incorrect.  Output produced:
   0 1 2
  . . . .
0
  . . . .
1
  . . . .
2
  . . . .

Should look like:
   0 1 2
  . . . .
0
  . . . .
1
  . . . .
2
  . . . .
Basic draw tests; drawing box (1,1) - l, r, t, b
Testing duplicate errors
Write test with center box drawn
Write with center box drawn may be incorrect.  Output produced:
   0 1 2
  . . . .
0
  . ._. .
1  |A|
  . ._. .
2
  . . . .

Should look like:
   0 1 2
  . . . .
0
  . ._. .
1   |A|
  . ._. .
2
  . . . .
Passes basic drawing and DuplicateError tests on Default constructed grid

Explicit-value construction tests - grid is 5x7
Write test of empty grid
Write test of empty grid may be incorrect.  Output produced:
   0 1 2 3 4 5 6
  . . . . . . . .
0
  . . . . . . . .
1
  . . . . . . . .
2
  . . . . . . . .
3
  . . . . . . . .
4
  . . . . . . . .

Should look like:
   0 1 2 3 4 5 6
  . . . . . . . .
0
  . . . . . . . .
1
  . . . . . . . .
2
  . . . . . . . .
3
  . . . . . . . .
4
  . . . . . . . .
Drawing the left sides of (0,0) (0,1) (1,0) (1,1)
Drawing the right sides of (0,0) (0,1) (1,0) (1,1)
Drawing the top sides of (0,0) (0,1) (1,0) (1,1)
Drawing the bottom sides of (0,0) (0,1) (1,0) (1,1)
Drawing the left sides of (3,0) (3,1) (4,0) (4,1)
Drawing the right sides of (3,0) (3,1) (4,0) (4,1)
Drawing the bottom sides of (3,0) (3,1) (4,0) (4,1)
Drawing the top sides of (3,0) (3,1) (4,0) (4,1)
Drawing the top sides of (0,5) (0,6) (1,5) (1,6)
Drawing the bottom sides of (0,5) (0,6) (1,5) (1,6)
Drawing the right sides of (0,5) (0,6) (1,5) (1,6)
Drawing the left sides of (0,5) (0,6) (1,5) (1,6)
Drawing the bottom sides of (3,5) (3,6) (4,5) (4,6)
Drawing the top sides of (3,5) (3,6) (4,5) (4,6)
Drawing the left sides of (3,5) (3,6) (4,5) (4,6)
Drawing the right sides of (3,5) (3,6) (4,5) (4,6)
DrawRight 2 box fill test
DrawLeft 2 box fill test
DrawTop 2 box fill tests
DrawBottom 2 box fill tests
GameOver true test
Passes drawing side tests
Write test of final grid
Write test of final grid may be incorrect.  Output produced:
   0 1 2 3 4 5 6
  ._._._._._._._.
0|A|A|A|A|A|B|B|
  ._._._._._._._.
1|A|A|A|A|A|B|B|
  ._._._._._._._.
2|A|A|B|B|B|B|B|
  ._._._._._._._.
3|B|B|B|B|B|A|A|
  ._._._._._._._.
4|B|B|B|B|B|A|A|
  ._._._._._._._.

Should look like:
   0 1 2 3 4 5 6
  ._._._._._._._.
0 |A|A|A|A|A|B|B|
  ._._._._._._._.
1 |A|A|A|A|A|B|B|
  ._._._._._._._.
2 |A|A|B|B|B|B|B|
  ._._._._._._._.
3 |B|B|B|B|B|A|A|
  ._._._._._._._.
4 |B|B|B|B|B|A|A|
  ._._._._._._._.

Testing range errors
Passes RangeError tests
Explicit-value constructor error tests
Passes explicit-value constructor error tests
Copy constructor test
Drawing in box (0,0) of copy
Passes copy construction tests
Drawing in box (0,0) of assigned grid
Passes assignment tests

Submission compiled and ran with scoring errors

Scoring errors will not cause the submission system to report Failure unless/until it also results in an incorrect return result of BoxGrid::GameOver. The test driver computes the score using BoxGrid::GameOver whenever it expects the score to change. Duplicate messages occur when the score changes correctly for one player after the score is incorrect for the other player. In this particular case, there is a missing increment in BoxGrid::DrawBottom.

Compiling dots game
Testing BoxGrid class
Default construction tests - grid should be 3x3
Write test of empty grid
Basic draw tests; drawing box (1,1) - l, r, t, b
Testing duplicate errors
Write test with center box drawn
Passes basic drawing and DuplicateError tests on Default constructed grid

Explicit-value construction tests - grid is 5x7
Write test of empty grid
Drawing the left sides of (0,0) (0,1) (1,0) (1,1)
Drawing the right sides of (0,0) (0,1) (1,0) (1,1)
Drawing the top sides of (0,0) (0,1) (1,0) (1,1)
Drawing the bottom sides of (0,0) (0,1) (1,0) (1,1)
GameOver Player 1 score 2 incorrect, should be 3
GameOver Player 1 score 2 incorrect, should be 4
Drawing the left sides of (3,0) (3,1) (4,0) (4,1)
Drawing the right sides of (3,0) (3,1) (4,0) (4,1)
Drawing the bottom sides of (3,0) (3,1) (4,0) (4,1)
GameOver Player 1 score 2 incorrect, should be 4
GameOver Player 1 score 2 incorrect, should be 4
Drawing the top sides of (3,0) (3,1) (4,0) (4,1)
GameOver Player 1 score 2 incorrect, should be 4
GameOver Player 1 score 2 incorrect, should be 4
Drawing the top sides of (0,5) (0,6) (1,5) (1,6)
Drawing the bottom sides of (0,5) (0,6) (1,5) (1,6)
Drawing the right sides of (0,5) (0,6) (1,5) (1,6)
GameOver Player 1 score 2 incorrect, should be 4
GameOver Player 1 score 2 incorrect, should be 4
Drawing the left sides of (0,5) (0,6) (1,5) (1,6)
GameOver Player 1 score 2 incorrect, should be 4
GameOver Player 1 score 2 incorrect, should be 4
Drawing the bottom sides of (3,5) (3,6) (4,5) (4,6)
Drawing the top sides of (3,5) (3,6) (4,5) (4,6)
Drawing the left sides of (3,5) (3,6) (4,5) (4,6)
GameOver Player 1 score 3 incorrect, should be 5
GameOver Player 1 score 4 incorrect, should be 6
Drawing the right sides of (3,5) (3,6) (4,5) (4,6)
GameOver Player 1 score 5 incorrect, should be 7
GameOver Player 1 score 6 incorrect, should be 8
DrawRight 2 box fill test
GameOver Player 1 score 8 incorrect, should be 10
DrawLeft 2 box fill test
GameOver Player 1 score 8 incorrect, should be 10
DrawTop 2 box fill tests
GameOver Player 1 score 10 incorrect, should be 12
GameOver Player 1 score 12 incorrect, should be 14
GameOver Player 1 score 14 incorrect, should be 16
DrawBottom 2 box fill tests
GameOver Player 1 score 14 incorrect, should be 16
GameOver Player 2 score 12 incorrect, should be 13
GameOver Player 1 score 14 incorrect, should be 16
GameOver Player 2 score 14 incorrect, should be 16
GameOver Player 1 score 14 incorrect, should be 16
GameOver Player 2 score 15 incorrect, should be 17
GameOver true test
GameOver Player 1 score 14 incorrect, should be 16
GameOver Player 2 score 16 incorrect, should be 19
GameOver returns false incorrectly

Submission compiled, incorrect DuplicateError exception

The test driver depends heavily on the DuplicateError exception being thrown correctly. There are two cases to consider: trying to draw a side that was drawn explicitly previously and trying to draw a side that was drawn implicitly when its corresponding adjacent neighbor side was drawn previously. Thus there is a basic drawing test of one box prior to the more complex drawing tests. In this particular case, BoxGrid::DrawBottom does not check/throw, but was a side that should have been implicitly drawn by BoxGrid::DrawTop.

Compiling dots game
Testing BoxGrid class
Default construction tests - grid should be 3x3
Write test of empty grid
Basic draw tests; drawing box (1,1) - l, r, t, b
Testing duplicate errors
DrawTop does not draw in corresponding bottom side