In this assignment, students will practice mutiple aspects involved in unit testing, including (1) how to think through test cases for a given application and (2) how to implement unit test cases for a given program/project.
NOTE: this homework webpage will give you a high-level introduction of HW4. Detailed HW4 instructions will be given through this GitHub link where you can find all the related code repositories for HW4: https://github.com/largehappygroup/HW4-general
Important logistics for HW4:
This homework is based on Java JUnit 5. You are encouraged to work on it in Eclipse for Java (the version does not matter). If you don't have Eclipse on your computer, you can download a version from the official website (you can also just Google "eclipse download"): https://www.eclipse.org/downloads/packages/ . The regular Eclipse IDE for Java Developers will suffice. Please choose the one that is suitable for your own computer (x86 or Arm64). It is fine if you choose a different IDE.
Since HW4 is purposed to practice unit testing, we will be generous on grading for HW4: We expect the majority of students to provide decent unit test cases. We will only give penalty when "absolute low quality" happens. For example, while the majority of students can provide at least N test cases, you put down way less test case or something that is irrelavent to the homework, then we will cut off your points accordingly. Otherwise we prefer giving full credits to our students.