Exemple #1
0
    def test_update_burger_different_id(self):
        burger = Kids(1, 1, 'Cheese Burger')
        updated_burger = Kids(1, 2, 'Hamburger')

        self.basket.add_burger(burger)
        self.basket.update_burger(1, updated_burger)

        self.assertEqual(self.basket.items, [Kids(1, 1, 'Hamburger')])
Exemple #2
0
    def test_update_burger_same_id(self):
        burger = Kids(1, 1, 'Cheese Burger')
        updated_burger = Kids(1, 1, 'Hamburger')

        self.basket.add_burger(burger)
        self.basket.update_burger(1, updated_burger)

        self.assertEqual(self.basket.items, [updated_burger])
Exemple #3
0
    def test_register(self):
        # A burger should only register once
        burger = Kids(1.2, 3, 'Cheese Burger', [])
        identical_burger = Kids(1.2, 3, 'Cheese Burger', [])

        self.burgers_manager.register_burger(burger)

        self.assertEqual(self.burgers_manager.all_burgers(), [burger])

        self.burgers_manager.register_burger(identical_burger)

        self.assertEqual(self.burgers_manager.all_burgers(), [burger])
Exemple #4
0
    def test_calculate_cost(self):
        unit_cost, burger_count = 5, 5

        mocked_calculate_cost = MagicMock(return_value=unit_cost)

        burger = Kids(1, 1, 'Burger')
        burger.calculate_cost = mocked_calculate_cost

        for _ in range(0, burger_count):
            self.basket.add_burger(burger)

        self.assertEqual(self.basket.calculate_cost(),
                         unit_cost * burger_count)
Exemple #5
0
    def test_remove_burger(self):
        burger = Kids(1, 1, 'Cheese Burger')

        self.basket.add_burger(burger)
        self.basket.remove_burger(burger.id)

        self.assertEqual(self.basket.items, [])
    def test_insert(self):
        file = MemoryFile(':memory:')
        file.load()
        burger = Kids(id_number=1, name='Cheese Burger', cost=1.0)
        file.sheets[1].insert(burger)

        self.assertIn(burger, file.sheets[1].data)
Exemple #7
0
    def test_add_burger(self):
        burger = Kids(1, 1, 'Cheese Burger')

        self.basket.add_burger(burger)
        self.assertEqual(self.basket.items, [burger])

        self.basket.add_burger(burger)
        self.assertEqual(self.basket.items, [burger, burger])
    def test_update(self):
        data = {
            'id_number': 1,
            'name': 'Cheese Burger',
            'type': 1,
            'cost': 1.0
        }
        updated_burger = Kids(id_number=1,
                              name='Double Cheese Burger',
                              cost=2.0)
        sheet = BurgerSheet([data])

        sheet._get_index_from_id = _test_update_stub
        sheet.update(updated_burger, 1)

        self.assertIn(updated_burger, sheet.data)
    def test_constructor(self):
        burger = Kids(id_number=1, name='Cheese Burger', cost=1.0)
        burger_factory = BurgerFactory

        mocked_get = MagicMock(return_value=burger)
        burger_factory.get = mocked_get

        data = {
            'id_number': 1,
            'name': 'Cheese Burger',
            'type': 1,
            'cost': 1.0
        }
        sheet = BurgerSheet([data])

        mocked_get.assert_called_with(data)
        self.assertEqual(sheet.data, [burger])
Exemple #10
0
    def test_calculate_cost(self):
        customisations = [Customisation(1, 'Mayonnaise', 0.4), Customisation(2, 'Mustard', 0.5)]
        burger = Kids(1.2, 3, 'Cheese Burger', customisations)

        a = Sizes.KIDS_LARGE.value

        self.assertEqual(burger.calculate_cost(Sizes.KIDS_SMALL.value), 2.1)
        self.assertEqual(burger.calculate_cost(Sizes.KIDS_LARGE.value), 4.2)

        burger.set_size(Sizes.KIDS_LARGE)

        self.assertEqual(burger.calculate_cost(), 4.2)
Exemple #11
0
    def test_get(self):
        # type = 1 is ignored because we mock below
        burger_data = {
            "name": "Cheese Burger",
            "cost": 1.2,
            "id_number": 1,
            "type": 1
        }

        burger_manager = BurgerManager()
        burger_manager.register_burger = MagicMock(return_value=None)
        burger_manager.get_type = MagicMock(side_effect=[Kids, Adults])
        burger_factory = BurgerFactory(burger_manager)

        kids_burger = burger_factory.get(burger_data)

        self.assertEqual(kids_burger, Kids(**burger_data))

        adults_burger = burger_factory.get(burger_data)

        self.assertEqual(adults_burger, Adults(**burger_data))
Exemple #12
0
    def test_add_customisation(self):
        customisation = Customisation(1, 'Mustard', 0.4)
        burger = Kids(1.2, 3, 'Cheese Burger', [])
        burger.add_customisation(customisation)

        self.assertEqual(burger.customisations, [customisation])