finish getCartItems and test pass
add getCartCategories method and test
finish getCartCategories method and test pass
finish calculate method and test pass in PromotionDiscount
modify Scanner
finish calculate method and test pass in PromotionOneFree
finish calculate method and test pass in PromotionSecondHalf