Source code for assignment and their unit test