require "minitest/autorun" require "./checkout.rb" class TestCheckout < Minitest::Test def setup @checkout = Checkout.new end def test_that_unknown_items_cannot_be_added assert_raises Checkout::InvalidItem do @checkout.add(:foo) end end def test_that_allowed_items_are_added @checkout.add(:PI5) @checkout.add(:ZERO2W) @checkout.add(:PICO2) assert_equal [:PI5, :ZERO2W, :PICO2].sort, @checkout.items.sort end def test_that_total_is_the_sum_of_all_items # Not accounting for discounts at the moment @checkout.add(:PI5) # 60.00 @checkout.add(:ZERO2W) # 15.00 @checkout.add(:PICO2) # 4.00 # ----- # 79.00 total assert_equal 79.00, @checkout.total end def test_that_an_empty_checkout_total_is_zero assert_equal 0.00, @checkout.total end end