Collaboration is strongly encouraged on this assignment. See the syllabus for the constraints and the reward function. Use Piazza for help with getting tools to run.
You can use the examples from Koskela's book, or Fowler's Mocks aren't Stubs article, or another source.
The point is that you are actually running the mock tests.
Deliverable: A report that convinces me that you actually did the assignment. The GTA must be able to tell that your code runs.
Deliverable: Same as above. The GTA must be able to tell that your code runs.
There are two smells identified in this chunk: "Primitive Obsession" and a violation of "Tell, don't ask".
For one of these smells (your choice), I would like you to think about why the smell is bad. Specifically, engineer a fault into the code that is not plausible in the refactored version.
Demonstrate your understanding by writing the relevant test in JUnit. Show that the faulty version fails the test, and argue that the specific fault isn't really realistic in the refactored version.
Deliverable: Turn in a story, complete with code/test snippets. The GTA must be able to tell that your code runs.
Grading: Grading is a function of whether you followed the directions, and whether your story is coherent. Submissions where the GTA cannot tell if your code runs will not be graded. Submissions with an incoherent story will not be graded.