def test_calcula(self): item_a = Item(nome='Item A', valor=100) orcamento = Orcamento(itens=[item_a]) imposto = ICMS() imposto_calculado = imposto.calcula(orcamento) imposto_esperado = 60 self.assertEqual(imposto_esperado, imposto_calculado)
from imposto import ISS, ICMS, ICPP, IKCV from orcamento import Orcamento, Item class Calculador_Imposto(object): def __init__(self, orcamento, imposto): self.__calculado = imposto.calcula(orcamento) @property def imposto_calculado(self): return self.__calculado if __name__ == '__main__': orcamento = Orcamento() orcamento.adiciona_item(Item('Item - A', 100.0)) orcamento.adiciona_item(Item('Item - B', 50.0)) orcamento.adiciona_item(Item('Item - C', 400.0)) print 'ISS e ICMS' iss = Calculador_Imposto(orcamento, ISS()) icms = Calculador_Imposto(orcamento, ICMS()) print '%s\n%s' % (iss.imposto_calculado, icms.imposto_calculado) print 'ICPP e IKCV' icpp = Calculador_Imposto(orcamento, ICPP()) ikcv = Calculador_Imposto(orcamento, IKCV()) print '%s\n%s' % (icpp.imposto_calculado, ikcv.imposto_calculado)
class Calculador_de_imposto(object): def calcula(self, orcamento, imposto): print(imposto.calcula(orcamento)) if __name__ == '__main__': from orcamento import Orcamento, Item from imposto import ICMS, ISS orcamento = Orcamento() orcamento.adiciona_item(Item('ITEM_1', 50)) orcamento.adiciona_item(Item('ITEM_2', 200)) orcamento.adiciona_item(Item('ITEM_3', 250)) calculador_de_imposto = Calculador_de_imposto() print('ICSM e ISS') calculador_de_imposto.calcula(orcamento, ICMS()) calculador_de_imposto.calcula(orcamento, ISS()) print('ICSM com ISS') calculador_de_imposto.calcula(orcamento, ICMS(ISS()))
#!/usr/bin/env python # -*- coding=utf-8 -*- from imposto import ISS, ICMS from orcamento import Orcamento class Calculador_Imposto(object): def __init__(self, orcamento, imposto): self.__imposto_calculado = imposto.calcula(orcamento) @property def imposto_calculado(self): return self.__imposto_calculado if __name__ == '__main__': orcamento = Orcamento(500) iss = Calculador_Imposto(orcamento.valor, ISS()) icms = Calculador_Imposto(orcamento.valor, ICMS()) print '%s\n%s' % (iss.imposto_calculado, icms.imposto_calculado)
class Calculador_de_imposto(object): def calcula(self, orcamento, imposto): return imposto.calcula(orcamento) if __name__ == '__main__': from orcamento import Orcamento from imposto import ICMS, ISS orcamento = Orcamento(500.0) calculador_de_imposto = Calculador_de_imposto() imposto_ICMS = calculador_de_imposto.calcula(orcamento, ICMS()) imposto_ISS = calculador_de_imposto.calcula(orcamento, ISS()) print(f'imposto ICMS: {imposto_ICMS}') print(f'imposto ISS: {imposto_ISS}')
def __init__(self, orcamento, imposto): self.__calculado = imposto.calcula(orcamento) @property def imposto_calculado(self): return self.__calculado if __name__ == '__main__': orcamento = Orcamento() orcamento.adiciona_item(Item('Item - A', 100.0)) orcamento.adiciona_item(Item('Item - B', 50.0)) orcamento.adiciona_item(Item('Item - C', 400.0)) print 'ISS e ICMS' iss = Calculador_Imposto(orcamento, ISS()) icms = Calculador_Imposto(orcamento, ICMS()) print '%s\n%s' % (iss.imposto_calculado, icms.imposto_calculado) print 'ISS com ICMS' iss_com_icms = Calculador_Imposto(orcamento, ISS(ICMS())) print '%s' % (iss_com_icms.imposto_calculado) print 'ICPP e IKCV' icpp = Calculador_Imposto(orcamento, ICPP()) ikcv = Calculador_Imposto(orcamento, IKCV()) print '%s\n%s' % (icpp.imposto_calculado, ikcv.imposto_calculado) print 'ICPP com IKCV' icpp_com_ikcv = Calculador_Imposto(orcamento, ICPP(IKCV())) print '%s' % (icpp_com_ikcv.imposto_calculado)