def test_item_init(self): info_item = Item('food', 100) item_item = Item(item=info_item) self.assertEqual(info_item.name, mock_item_base.name) self.assertEqual(info_item.limit, mock_item_base.limit) self.assertEqual(item_item.name, mock_item_base.name) self.assertEqual(item_item.limit, mock_item_base.limit) info_item.limit = 110 self.assertEqual(info_item.limit, 110) self.assertEqual(item_item.limit, 100) item_item.append(purchase=Purchase(0, 'lunch', 1, 2)) self.assertNotEqual(len(info_item.purchases), len(item_item.purchases))
def test_update_spent(self): item = Item(item=mock_item_base) item.update_spent() self.assertEqual(item.spent, 0) item.append(purchase=Purchase(0, 'breakfast', 1, 2)) item.update_spent() self.assertEqual(item.spent, 2)
from taxes import ISS, ICMS, ICPP, IKCV class CalculatorTaxes(object): def calculates(self, budget, taxe): print(round(taxe.calc(budget), 2)) if __name__ == '__main__': from budget import Budget, Item # Budget One budget = Budget() budget.add_item(Item('Product 1', 10)) budget.add_item(Item('Product 2', 5)) budget.add_item(Item('Product 3', 4)) budget.add_item(Item('Product 4', 4)) budget.add_item(Item('Product 5', 4)) budget.add_item(Item('Product 6', 1)) # Calculator Taxes calculator = CalculatorTaxes() print('ISS and ICMS') calculator.calculates(budget, ISS()) calculator.calculates(budget, ICMS()) print('ISPP and IKCV') calculator.calculates(budget, ICPP())
from discounts import * class Discount_calculator(object): def calculate(self, budget): discount = Discount_per_five_items( Discount_per_more_then_five_hundred_reais( Without_discount())).Calculate(budget) return discount if __name__ == '__main__': from budget import Budget, Item budget = Budget() budget.add_item(Item('Item - 1', 50)) budget.add_item(Item('Item - 2', 100)) budget.add_item(Item('Item - 3', 500)) print('Value without discount', budget.value) calculator = Discount_calculator() discount = calculator.calculate(budget) final_value = budget.value - discount print('Value with discount: ', discount)
# -*- coding: UTF-8 -*- from taxes import * class Tax_calculator(object): def performs_calculation(self, budget, tax): calculated_tax = tax.calculate(budget) print(calculated_tax) if __name__ == '__main__': from budget import Budget, Item calculator = Tax_calculator() budget = Budget() budget.add_item(Item('Item 1 - ', 50)) budget.add_item(Item('Item 1 - ', 200)) budget.add_item(Item('Item 1 - ', 250)) print('ISS and ICMS') calculator.performs_calculation(budget, ICMS()) calculator.performs_calculation(budget, ISS()) calculator.performs_calculation(budget, ISS(ICMS())) print('ICPP and IKCV') calculator.performs_calculation(budget, ICPP()) calculator.performs_calculation(budget, IKCV()) calculator.performs_calculation(budget, ICPP(IKCV()))
def test_item_append_info(self): mock_item = Item(item=mock_item_base) mock_item.append(name='breakfast', day=1, amount=2) self.assertEqual( Purchase(0, 'breakfast', 1, 2) in mock_item.purchases, True)
def test_get_progression(self): budget_budget = Budget(mock_budget_base) food = Item('food', 100) food.append(name='breakfast', day=1, amount=2) budget_budget.items.append(food) self.assertEqual(budget_budget.get_progression()[0]['food'], .02)
def test_item_append_purchase(self): mock_item = Item(item=mock_item_base) mock_item.append(purchase=Purchase(0, 'breakfast', 1, 2)) self.assertEqual( Purchase(0, 'breakfast', 1, 2) in mock_item.purchases, True)
import unittest from budget import Budget, Item, Purchase mock_item_base = Item('food', 100) mock_budget_base = Budget('March 2021') class TestBudget(unittest.TestCase): def test_item_append_info(self): mock_item = Item(item=mock_item_base) mock_item.append(name='breakfast', day=1, amount=2) self.assertEqual( Purchase(0, 'breakfast', 1, 2) in mock_item.purchases, True) def test_item_append_purchase(self): mock_item = Item(item=mock_item_base) mock_item.append(purchase=Purchase(0, 'breakfast', 1, 2)) self.assertEqual( Purchase(0, 'breakfast', 1, 2) in mock_item.purchases, True) def test_item_init(self): info_item = Item('food', 100) item_item = Item(item=info_item) self.assertEqual(info_item.name, mock_item_base.name) self.assertEqual(info_item.limit, mock_item_base.limit) self.assertEqual(item_item.name, mock_item_base.name) self.assertEqual(item_item.limit, mock_item_base.limit) info_item.limit = 110 self.assertEqual(info_item.limit, 110) self.assertEqual(item_item.limit, 100)