Deliverable: One single zip file containing all the folders that you find attached to this assignment, augmented with the
tests you will write for each problem, as described below. Additionally, a Documentation.md
file per exercise where
you document your decisions, testing strategy, choices, and any assumptions made. Furthermore, create an
Assets folder for each exercise which contains screenshots of your test results.
- Deadline: May 20, 2024, at 18:00 (Zurich, CH, time).
The assignment should be submitted by the same group as assignments 01 and 02.
Carry out the assignment with your group only. You are allowed to discuss solutions with other groups, but each group should come up with its own solution. A strict plagiarism policy will be applied to all the artifacts submitted for evaluation.
This assignment consists of eight exercises. Each exercise has its own folder and a README.md
file that describes the requirements of each exercise.
Java 11 is used for all the exercises. There is no guarantee things will work with other versions. Use JUnit 5 for implementing your test suite. The IntelliJ IDEA is strongly recommended.
This assignment covers Chapter 6: Test doubles and mocks, Chapter 7: Designing for testability, and Chapter 10: Test code quality. You will apply the concepts learned to design and implement tests for given exercises.
Each assignment will be graded with either 0 (fail) or 1 (pass). For an assignment to score 1, it must:
- Provide clear evidence of effort. and
- Provide a clear
Documentation.md
file (one file per exercise) and - Provide code that fulfils the requirements of the assignment.
Please note that the lab assignments are propaedeutic to proper preparation for the final exam, i.e., the lab work should be considered as important not only for the bonus points but also for preparing the final exam.
Using Generative AI tools in the assignments is allowed, given that you deliver an appendix in the Documentation.md
file with all the prompts you used.