There are total 61 test cases for 27 tasks with full 80 points. The grading schemes are shown below in detail:
One typical grading report is as follows:
# Grading Report for Student Name [73/80]
+ Subtask #1: (createStockNode)
+ [1/1] | 1 tests, 1 passed.
- Test #1: Passed.
+ Subtask #2: (createHeadNode)
+ [1/1] | 1 tests, 1 passed.
- Test #1: Passed.
1;2c
+ Subtask #3: (getStockId)
+ [2/2] | 2 tests, 2 passed.
- Test #1: Passed.
- Test #2: Passed.
+ Subtask #4: (getTopValue)
+ [2/2] | 4 tests, 4 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
- Test #4: Passed.
+ Subtask #5: (getValueAt)
+ [2/2] | 4 tests, 4 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
- Test #4: Passed.
+ Subtask #6: (getTopNext)
+ [2/2] | 2 tests, 2 passed.
- Test #1: Passed.
- Test #2: Passed.
+ Subtask #7: (getNextAt)
+ [2/2] | 2 tests, 2 passed.
- Test #1: Passed.
- Test #2: Passed.
+ Subtask #8: (getTopUpdate)
+ [2/2] | 2 tests, 2 passed.
- Test #1: Passed.
- Test #2: Passed.
+ Subtask #9: (getUpdateAt)
+ [3/3] | 3 tests, 3 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
+ Subtask #10: (push)
+ [2/2] | 1 tests, 1 passed.
- Test #1: Passed.
+ Subtask #11: (pop)
+ [3/3] | 1 tests, 1 passed.
- Test #1: Passed.
+ Subtask #12: (createSnapshot)
+ [1/1] | 1 tests, 1 passed.
- Test #1: Passed.
+ Subtask #13: (stampSnapshot)
+ [4/4] | 4 tests, 4 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
- Test #4: Passed.
+ Subtask #14: (add)
+ [6/6] | 6 tests, 6 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
- Test #4: Passed.
- Test #5: Passed.
- Test #6: Passed.
+ Subtask #15: (remove)
+ [6/6] | 3 tests, 3 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
+ Subtask #16: (set)
+ [4/6] | 3 tests, 2 passed.
- Test #1: Failed.
- Test #2: Passed.
- Test #3: Passed.
+ Subtask #17: (undo)
+ [6/6] | 4 tests, 4 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
- Test #4: Passed.
+ Subtask #18: (getValueAt)
+ [3/3] | 3 tests, 3 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
+ Subtask #19: (createSnapshotNode)
+ [1/1] | 1 tests, 1 passed.
- Test #1: Passed.
+ Subtask #20: (createDatabase)
+ [1/1] | 1 tests, 1 passed.
- Test #1: Passed.
+ Subtask #21: (needToStamp)
+ [1/1] | 1 tests, 1 passed.
- Test #1: Passed.
+ Subtask #22: (add)
+ [4/4] | 2 tests, 2 passed.
- Test #1: Passed.
- Test #2: Passed.
+ Subtask #23: (remove)
+ [4/4] | 2 tests, 2 passed.
- Test #1: Passed.
- Test #2: Passed.
+ Subtask #24: (set)
+ [4/4] | 2 tests, 2 passed.
- Test #1: Passed.
- Test #2: Passed.
+ Subtask #25: (getValueAt)
+ [3/3] | 3 tests, 3 passed.
- Test #1: Passed.
- Test #2: Passed.
- Test #3: Passed.
+ Subtask #26: (stamp)
+ [3/3] | 1 tests, 1 passed.
- Test #1: Passed.
+ Subtask #27: (reconstruct)
+ [0/5] | 1 tests, 0 passed.
- Test #1: Failed.
When you passed a test (marked with '1') then you got the corresponding points for this test; otherwise there is no points when failed (marked with '0').
Read all assignment instructions again before appeal if you disagree with any of the expected output.
Since the test cases are self-contained in the main function for each subtask cpp file (see test_wrapper.zip), there are no standard solutions to implement.
Total = 80.00; Mean = 63.25; SD = 20.47
Normalized to 100.0; Mean = 79.05; SD = 25.56
We will perform plagiarism checking at a later time and marks could be adjusted for those who are caught.