Programming Assignment 2 code with test case.