modify printer function with return
delete useless code
transfer printDate and printAllCartItems to public function
add can_print_all_info failed test
new promotion
move promotion content of item to promotion class
delete useless codes
move promotion from item to cartItem
new BuyTwoOneFreePromotion class
rename BuyTwoOneFreePromotion to BuyTwoOneFreeCalculator
override calculatePromotion
new SecondHalfCalculator class
move calculateSecondHalfPrice to SecondHalfCalculator
new Discount class
move calculateDiscount to DiscountPromotion
replace Promotion with its subclass
replace Promotion by its subclass test
finish PrinterTest