Requirement MOD-2 (from Chapter 4), with details agreed with the TAs:
When a post receives reports from 3 different students enrolled in the course, the system shall hide the post from students within 1 minute and add it to the moderation queue. A student cannot report their own post, and reports from TAs/instructors are not counted (they can hide posts directly). A student can report the same post only once; a second report by the same student is ignored. A post that a moderator restored can be hidden again only by 3 new reports (earlier reporters do not count again).
Design a test suite:
- Equivalence partitions and boundaries for the number of valid reports.
- A decision table for whether a single report counts.
- State-based tests covering hide → restore → hide again.
- At least 12 test cases in total, each with preconditions, input and expected result.
- Mark which tests are unit, integration or system tests, and say which double (stub/fake/mock/spy) you would use for the notification and the clock.