from impostos import ISS, ICMS


class Calculador_de_impostos(object):
    def realiza_calculo(self, orcamento, imposto):
        imposto_calculado = imposto.calcula(orcamento)
        print imposto_calculado


if __name__ == '__main__':
    from orcamento import Orcamento

    orcamento = Orcamento(500)

    calculador = Calculador_de_impostos()
    calculador.realiza_calculo(orcamento, ISS())
    calculador.realiza_calculo(orcamento, ICMS())
Exemplo n.º 2
0
 def test_calcula_ISS(self):
     iss = ISS()
     self.assertEqual(iss.calcula(self.orcamento), 200 * 0.1)
Exemplo n.º 3
0
        imposto_calculado = imposto.calcula(orcamento)
        print(imposto_calculado)


if __name__ == '__main__':
    from orcamento import Orcamento, Item

    from impostos import ISS, ICMS, ICPP, IKCV

    orcamento = Orcamento()
    # adicionando itens ao orçamento
    orcamento.adiciona_item(Item('ITEM 1', 50))
    orcamento.adiciona_item(Item('ITEM 2', 200))
    orcamento.adiciona_item(Item('ITEM 3', 250))

    calculador_de_impostos = Calculador_de_impostos()
    print('ISS e ICMS')
    calculador_de_impostos.realiza_calculo(orcamento, ISS())
    calculador_de_impostos.realiza_calculo(orcamento, ICMS())

    print('ISS com ICMS')
    calculador_de_impostos.realiza_calculo(orcamento, ISS(ICMS()))
    # cálculo dos novos impostos
    print('ICPP e IKCV')
    calculador_de_impostos.realiza_calculo(orcamento, ICPP())  # imprime 25.0
    calculador_de_impostos.realiza_calculo(orcamento, IKCV())  # imprime 30.0

    print('ICPP com IKCV')
    calculador_de_impostos.realiza_calculo(orcamento,
                                           ICPP(IKCV()))  # imprime 25.0
Exemplo n.º 4
0
# -*- coding: UTF-8 -*-
# calculador_de_impostos.py

class Calculador_de_impostos(object):

    def realiza_calculo(self, orcamento, calcula_imposto):
        valor = calcula_imposto(orcamento)
        print(valor)

if (__name__ == '__main__'):
    from orcamento import Orcamento
    from impostos import ISS, ICMS

    orcamento = Orcamento(500.0)
    calculador_de_impostos = Calculador_de_impostos()
    calculador_de_impostos.realiza_calculo(orcamento, ICMS().calcula_ICMS) # imprime 50.0
    calculador_de_impostos.realiza_calculo(orcamento, ISS().calcula_ISS)  # imprime 30.0
Exemplo n.º 5
0
        print importo_calculado


if __name__ == '__main__':
    from orcamento import Orcamento, Item
    from impostos import IKCV, ICPP, ISS, ICMS

    calculador = Calculador_de_impostos()

    orcamento = Orcamento()
    orcamento.adiciona_item(Item('ITEM 1', 50))
    orcamento.adiciona_item(Item('ITEM 2', 200))
    orcamento.adiciona_item(Item('ITEM 3', 250))

    print 'ISS e ICMS'
    calculador.realiza_calculo(orcamento, ISS())  # imprime 30.0
    calculador.realiza_calculo(orcamento, ICMS())  # imprime 50.0

    print 'ISS_com_ICMS'
    # veja, não é necessária mais uma classe. Imposto recebe outro em seu construtor
    ISS_com_ICMS = ISS(ICMS())
    calculador.realiza_calculo(orcamento, ISS_com_ICMS)  # imprime 80

    print 'ICPP e IKCV'
    calculador.realiza_calculo(orcamento, ICPP())  # imprime 25.0
    calculador.realiza_calculo(orcamento, IKCV())  # imprime 30.0

    print 'ICPP_com_IKCV'
    # veja, não é necessária mais uma classe. Imposto recebe outro em seu construtor
    #ICPP_com_IKCV = ICPP(IKVC())
    #calculador.realiza_calculo(orcamento, ICPP_com_IKVC) # imprime 55.0
if __name__ == '__main__':

    from orcamento import Orcamento, Item
    from impostos import ICMS, ISS, IKCV, ICPP

    orcamento = Orcamento()

    orcamento.adiciona_item(Item('Item 1', 20))
    orcamento.adiciona_item(Item('Item 2', 20))
    orcamento.adiciona_item(Item('Item 3', 20))
    orcamento.adiciona_item(Item('Item 4', 20))
    orcamento.adiciona_item(Item('Item 5', 200))

    calculador_de_impostos = Calculador_de_impostos()
    
    print 'ICMS seguido de ISS:'
    calculador_de_impostos.realiza_calculo(orcamento, ICMS())
    calculador_de_impostos.realiza_calculo(orcamento, ISS())
    
    print '\nICMS com ISS:'
    ISS_com_ICMS = ISS(ICMS())
    calculador_de_impostos.realiza_calculo(orcamento, ISS_com_ICMS)

    print '\nICPP seguido de IKCV:'
    calculador_de_impostos.realiza_calculo(orcamento, ICPP())
    calculador_de_impostos.realiza_calculo(orcamento, IKCV())

    print '\nICPP com IKCV:'
    calculador_de_impostos.realiza_calculo(orcamento, ICPP(IKCV()))

Exemplo n.º 7
0
# -*- coding: UTF-8 -*-
'''
Created on Oct 21, 2016
@author: tca85
'''

from calculador_de_impostos import Calculador_de_impostos

# -----------------------------------------------------------------------------------------
if __name__ == '__main__':
    from orcamento import Orcamento, Item
    from impostos import ICMS, ISS, ICPP, IKCV

    orcamento = Orcamento()

    orcamento.adiciona_item(Item('Item 1', 500.0))

    imposto = Calculador_de_impostos()

    print 'ISS  %f' % (imposto.realiza_calculo(orcamento, ISS()))
    print 'ICMS %f' % (imposto.realiza_calculo(orcamento, ICMS()))
    print 'ISS com ICMS %f' % (imposto.realiza_calculo(orcamento, ISS(ICMS())))

    print 'ICPP  %f' % (imposto.realiza_calculo(orcamento, ICPP()))
    print 'IKCV  %f' % (imposto.realiza_calculo(orcamento, IKCV()))
    print 'ICPP com IKCV %f' % (imposto.realiza_calculo(
        orcamento, ICPP(IKCV())))
Exemplo n.º 8
0
from impostos import ISS, ICMS, ICPP, IKCV


class Calculador_de_imposto(object):
    def realiza_calculo(self, orcamento, strategy):
        imposto_caculado = strategy.calcula(orcamento)
        print(imposto_caculado)


if __name__ == "__main__":

    from orcamento import Orcamento, Item

    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))

    calculo = Calculador_de_imposto()
    calculo.realiza_calculo(orcamento, ISS())
    calculo.realiza_calculo(orcamento, ICMS())

    print "ICPP IKCV"
    calculo.realiza_calculo(orcamento, ICPP())
    calculo.realiza_calculo(orcamento, IKCV())
Exemplo n.º 9
0
        imposto_calculado = imposto.calcula(orcamento)

        print(imposto_calculado)


if __name__ == '__main__':
    from orcamento import Orcamento, Item

    calculador = CalculadorDeImpostos()

    orcamento = Orcamento()
    orcamento.adiciona_item(Item('ITEM - 1', 50))
    orcamento.adiciona_item(Item('ITEM - 2', 200))
    orcamento.adiciona_item(Item('ITEM - 3', 250))

    print('ISS e ICMS')
    calculador.realiza_calculo(orcamento,
                               ISS())  # passando método por parâmetro
    calculador.realiza_calculo(orcamento, ICMS())

    print('ISS com ICMS')
    calculador.realiza_calculo(orcamento, ISS(ICMS()))

    print('ICPP e IKCV')
    calculador.realiza_calculo(orcamento,
                               ICPP())  # passando método por parâmetro
    calculador.realiza_calculo(orcamento, IKCV())

    print('ICPP com IKCV')
    calculador.realiza_calculo(orcamento, ICPP(IKCV()))
Exemplo n.º 10
0
 def test_realiza_calculo_ISS(self):
     valor = self.calculador_de_impostos.realiza_calculo(
         self.orcamento, ISS())
     self.assertEqual(valor, 105.0)
        print(valor)


if __name__ == '__main__':
    from Orcamento import Orcamento
    from Item import Item

    # adicionado os impostos no import
    from impostos import ISS, ICMS, ICPP, IKCV

    orcamento = Orcamento()
    # adicionando itens ao orçamento
    orcamento.adiciona_item(Item('ITEM 1', 50))
    orcamento.adiciona_item(Item('ITEM 2', 200))
    orcamento.adiciona_item(Item('ITEM 3', 250))

    calculador_de_impostos = Calculador_de_impostos()
    print('ISS e ICMS')
    calculador_de_impostos.realiza_calculo(orcamento, ISS())    #imprime 50.0
    calculador_de_impostos.realiza_calculo(orcamento, ICMS())   #imprime 30.0
    print('ISS com ICMS')
    calculador_de_impostos.realiza_calculo(orcamento, ICMS(ISS()))  # imprime 80.0
    calculador_de_impostos.realiza_calculo(orcamento, ISS(ICMS()))  # imprime 80.0

    # cálculo dos novos impostos
    print('ICPP e IKCV')
    calculador_de_impostos.realiza_calculo(orcamento, ICPP())  # imprime 25.0
    calculador_de_impostos.realiza_calculo(orcamento, IKCV())  # imprime 30.0
    print('ICPP com IKCV')
    calculador_de_impostos.realiza_calculo(orcamento, IKCV(ICPP()))  # imprime 55.0
    calculador_de_impostos.realiza_calculo(orcamento, ICPP(IKCV()))  # imprime 55.0
Exemplo n.º 12
0
from calculador import CalculadorDeImpostos, CalculadorDeDescontos
from orcarmento import Orcamento, Item
from impostos import ISS, ICMS, ICMP, IJM

orcamento = Orcamento()

orcamento.adiciona_item(Item('Item 1', 100))
orcamento.adiciona_item(Item('Item 2', 500))


calculadorDeImpostos = CalculadorDeImpostos()
calculadorDeDescontos = CalculadorDeDescontos()

print("ICM")
calculadorDeImpostos.realiza_calculo(orcamento, ISS())
print("ICMS")
calculadorDeImpostos.realiza_calculo(orcamento, ICMS())

print("ICMP")
calculadorDeImpostos.realiza_calculo(orcamento, ICMP())
print("IJM")
calculadorDeImpostos.realiza_calculo(orcamento, IJM())

# -*- coding: UTF-8 -*-


class Calculador_de_impostos(object):
    """Classe calculadora de impostos responsável pela montagem do cálculo de
        impostos com base no padrão strategy.
    """
    def calcula_imposto(self, orcamento, imposto):
        return imposto.calcula(orcamento)


if __name__ == "__main__":
    from orcamento import Orcamento
    from impostos import ICMS, ISS

    valor_do_orcamento = Orcamento(100)
    calculadora = Calculador_de_impostos()

    print(calculadora.calcula_imposto(valor_do_orcamento, ICMS()))
    print(calculadora.calcula_imposto(valor_do_orcamento, ISS()))
        # elif imposto == 'ICMS':
        #     imposto_calculado = calcula_ICMS(orcamento)

        imposto_calculado = imposto.calcula(orcamento)

        print(imposto_calculado)


if __name__ == "__main__":
    from orcamento import Orcamento, Item

    orcamento = Orcamento()
    calculador = Calulador_de_impostos()
    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 ICMC")
    calculador.realiza_calculo(orcamento, ISS())
    calculador.realiza_calculo(orcamento, ICMS())
    print("Impostos combinados")
    calculador.realiza_calculo(orcamento, ISS(ICMS()))

    print("ICPP e ICKV")
    calculador.realiza_calculo(orcamento, ICPP())
    calculador.realiza_calculo(orcamento, ICKV())
    print("Impostos combinados")
    calculador.realiza_calculo(orcamento, ISS(ICKV()))

    print("Impostos combinados -- todas as comb")
    calculador.realiza_calculo(orcamento, ISS(ICPP(ICKV(ICMS()))))
Exemplo n.º 15
0
# -*- coding: UTF-8 -*-

from impostos import ISS, ICMS


class Calculador_de_impostos(object):
    def realiza_calculo(self, orcamento, imposto):
        return imposto.calcula(orcamento)


if __name__ == '__main__':
    from orcamento import Orcamento

    calculador = Calculador_de_impostos()

    orcamento = Orcamento(500)

    print('Valor ISS {}'.format(calculador.realiza_calculo(orcamento, ISS())))
    print('Valor ICMSS {}'.format(calculador.realiza_calculo(
        orcamento, ICMS())))
Exemplo n.º 16
0
# -*- coding: utf-8 -*-
from impostos import ISS, ICMS, ICPP, IKCV
from orcamento import Item

class Calculador_de_impostos(object):
    
    def realiza_calculo(self, orcamento, imposto):
        imposto_calculado = imposto.calcula(orcamento)           
        print imposto_calculado
        
if __name__ == '__main__':
    from orcamento import Orcamento

    calculador = Calculador_de_impostos()

    orcamento = Orcamento()
    orcamento.adiciona_item(Item("pasta de dentes", 100))
    
    calculador.realiza_calculo(orcamento, ISS())
    calculador.realiza_calculo(orcamento, ICMS())
    calculador.realiza_calculo(orcamento, ICPP())
    calculador.realiza_calculo(orcamento, IKCV())

    #Calculo imposto composto IKCV + ISS
    calculador.realiza_calculo(orcamento, IKCV(ISS(ICMS())))