Ejemplo n.º 1
0
 def test_grouporder_items(self):
     m1 = assignment3.Menu()
     m2 = assignment3.Menu()
     o = assignment3.GroupOrder()
     d = assignment3.Drink("Lemonade", 1.50)
     f = assignment3.Food("Toast", 0.75)
     m1.add_item(d)
     m2.add_item(f)
     self.assertTrue(o.add_item(d))
     self.assertFalse(o.add_item(f))
Ejemplo n.º 2
0
 def test_applicable_tax(self):
     m = assignment3.Menu()
     d = assignment3.Drink("Lemonade", 1.50)
     f = assignment3.Food("Toast", 0.75)
     m.add_item(d)
     m.add_item(f)
     self.assertAlmostEqual(f._applicable_tax(), 0.10)
     self.assertAlmostEqual(d._applicable_tax(), 0.18)
Ejemplo n.º 3
0
 def test_order_small(self):
     m = assignment3.Menu()
     o = assignment3.Order()
     f = assignment3.Food("Toast", 0.75)
     m.add_item(f)
     self.assertAlmostEqual(o.price_plus_tax(), 0)
     o.add_item(f)
     self.assertAlmostEqual(o.price_plus_tax(), 0.75 * 1.10)
Ejemplo n.º 4
0
 def test_grouporder_price_over(self):
     m = assignment3.Menu()
     o = assignment3.GroupOrder()
     d = assignment3.Drink("Lemonade", 1.50)
     f = assignment3.Food("Toast", 0.75)
     m.add_item(d)
     m.add_item(f)
     o.add_item(d)
     o.add_item(f)
     self.assertAlmostEqual(o.price_plus_tax(), 1.50 * 1.18 + 0.75 * 1.10)
     self.assertAlmostEqual(o.price_plus_tax_and_tip(0.32),
                            (1.50 * 1.18 + 0.75 * 1.10) * 1.32)
Ejemplo n.º 5
0
 def test_order_large(self):
     m = assignment3.Menu()
     o = assignment3.Order()
     d = assignment3.Drink("Lemonade", 1.50)
     f = assignment3.Food("Toast", 0.75)
     a = assignment3.Food("A", 10.00)
     b = assignment3.Food("B", 9.50)
     m.add_item(d)
     m.add_item(f)
     m.add_item(a)
     m.add_item(b)
     o.add_item(d)
     o.add_item(f)
     o.add_item(a)
     o.add_item(b)
     self.assertAlmostEqual(o.price_plus_tax(),
                            1.50 * 1.18 + (0.75 + 10 + 9.5) * 1.10)
Ejemplo n.º 6
0
    def test_grouporder_super_use(self):
        class DeliveredOrder(assignment3.Order):
            def price_plus_tax_and_tip(self, amount):
                return super().price_plus_tax_and_tip(amount) + 1.0

        class GroupDeliveredOrder(assignment3.GroupOrder, DeliveredOrder):
            pass

        m = assignment3.Menu()
        o = GroupDeliveredOrder()
        d = assignment3.Drink("Lemonade", 1.50)
        f = assignment3.Food("Toast", 0.75)
        m.add_item(d)
        m.add_item(f)
        o.add_item(d)
        o.add_item(f)
        self.assertAlmostEqual(o.price_plus_tax_and_tip(0.20),
                               (1.50 * 1.18 + 0.75 * 1.10) * 1.20 + 1.0)
Ejemplo n.º 7
0
 def test_tax_attributes(self):
     m = assignment3.Menu()
     self.assertAlmostEqual(m.food_tax, 0.1)
     self.assertAlmostEqual(m.drink_tax, 0.18)