implement the shooping cart and test case