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