Example #1
0
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, Item

	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())
	calculador.realiza_calculo(orcamento,ICMS())
	
	print('ISS com ICMS')
	calculador.realiza_calculo(orcamento,ISS(ICMS()))

	print('ICPP e IKCV')
	calculador.realiza_calculo(orcamento,ICPP())
	calculador.realiza_calculo(orcamento,IKCV())
	
	print('ICPP com IKCV')
	calculador.realiza_calculo(orcamento,ICPP(IKCV()))
Example #2
0
    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
'''


'''
Example #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
# -*- 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 IKCV, ICPP

    valor_do_orcamento = Orcamento(100)
    calculadora = Calculador_de_impostos()

    print(calculadora.calcula_imposto(valor_do_orcamento, IKCV()))
    print(calculadora.calcula_imposto(valor_do_orcamento, ICPP(IKCV())))
Example #5
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())))
Example #6
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()))
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()))

Example #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())
from impostos import ICMS, ISS, ICPP, IKCV


class Calculador_de_impostos(object):
    def realize_calculo(self, orcamento, imposto):

        imposto_calculado = imposto.calcula(orcamento)

        print(imposto_calculado)


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

    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.realize_calculo(orcamento, ISS())
    calculador.realize_calculo(orcamento, ICMS())

    print("ICPP e IKCV")
    calculador.realize_calculo(orcamento, ICPP())
    calculador.realize_calculo(orcamento, IKCV())
Example #10
0
 def test_realiza_calculo_ICPP(self):
     valor = self.calculador_de_impostos.realiza_calculo(
         self.orcamento, ICPP())
     self.assertEqual(valor, 38.5)
        # 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()))))
Example #12
0
class Calculador_de_impostos(object):
    def realiza_calculo(self, orcamento, imposto):
        valor = imposto.calcula(orcamento)
        print(valor)


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

    orcamento = Orcamento()
    calculador_de_impostos = Calculador_de_impostos()
    orcamento.adiciona_item(Item('Item A', 50.0))
    orcamento.adiciona_item(Item('Item B', 200.0))
    orcamento.adiciona_item(Item('Item C', 250.0))
    print('ICMS e ISS')
    calculador_de_impostos.realiza_calculo(orcamento, ICMS())
    calculador_de_impostos.realiza_calculo(orcamento, ISS())

    print('ISS com ICMS')
    ISS_com_ICMS = ISS(ICMS())
    calculador_de_impostos.realiza_calculo(orcamento, ISS_com_ICMS)

    print('ICPP e IKCV')
    calculador_de_impostos.realiza_calculo(orcamento, ICPP())
    calculador_de_impostos.realiza_calculo(orcamento, IKCV())

    print('ICPP com IKCV')
    ICPP_com_IKCV = ICPP(IKCV())
    calculador_de_impostos.realiza_calculo(orcamento, ICPP_com_IKCV)