def test_inadequada(self):
        bl = BancoLogico()

        bl.condicao = bl.ESTAVEL
        bl.dependentes = 1
        bl.ganhos = 9999999999
        bl.renda() | should_not | equal_to(bl.INADEQUADA)
        bl.condicao = bl.INSTAVEL
        bl.renda() | should | equal_to(bl.INADEQUADA)

        bl.condicao = bl.ESTAVEL

        bl.dependentes = 1
        bl.ganhos = 18999
        bl.renda() | should | equal_to(bl.INADEQUADA)
        bl.ganhos = 19000
        bl.renda() | should_not | equal_to(bl.INADEQUADA)
        bl.ganhos = 19001
        bl.renda() | should_not | equal_to(bl.INADEQUADA)

        bl.dependentes = 2
        bl.ganhos = 22999
        bl.renda() | should | equal_to(bl.INADEQUADA)
        bl.ganhos = 23000
        bl.renda() | should_not | equal_to(bl.INADEQUADA)
        bl.ganhos = 23001
        bl.renda() | should_not | equal_to(bl.INADEQUADA)

        bl.dependentes = 3
        bl.ganhos = 26999
        bl.renda() | should | equal_to(bl.INADEQUADA)
        bl.ganhos = 27000
        bl.renda() | should_not | equal_to(bl.INADEQUADA)
        bl.ganhos = 27001
        bl.renda() | should_not | equal_to(bl.INADEQUADA)
    def test_poupanca_adequada(self):
        bl = BancoLogico()
        bl.quantia_poupada(22000)
        bl.ganhos(25000, bl.ESTAVEL)
        bl.dependentes(3)

        bl.poupanca() | should | equal_to(bl.ADEQUADA)
    def test_inadequada(self):
        bl = BancoLogico()

        bl.dependentes = 1
        bl.quantia_poupada = 4999
        bl.poupanca() | should | equal_to(bl.INADEQUADA)
        bl.quantia_poupada = 5000
        bl.poupanca() | should_not | equal_to(bl.INADEQUADA)
        bl.quantia_poupada = 5001
        bl.poupanca() | should_not | equal_to(bl.INADEQUADA)

        bl.dependentes = 2
        bl.quantia_poupada = 9999
        bl.poupanca() | should | equal_to(bl.INADEQUADA)
        bl.quantia_poupada = 10000
        bl.poupanca() | should_not | equal_to(bl.INADEQUADA)
        bl.quantia_poupada = 10001
        bl.poupanca() | should_not | equal_to(bl.INADEQUADA)

        bl.dependentes = 3
        bl.quantia_poupada = 14999
        bl.poupanca() | should | equal_to(bl.INADEQUADA)
        bl.quantia_poupada = 15000
        bl.poupanca() | should_not | equal_to(bl.INADEQUADA)
        bl.quantia_poupada = 15001
        bl.poupanca() | should_not | equal_to(bl.INADEQUADA)
    def test_investimento(self):
        bl = BancoLogico()

        def renda():
            return bl.ADEQUADA

        bl.renda = renda

        def poupanca():
            return bl.ADEQUADA

        bl.poupanca = poupanca
        bl.investimento() | should | equal_to('Acoes')

        def renda():
            return bl.ADEQUADA

        bl.renda = renda

        def poupanca():
            return bl.INADEQUADA

        bl.poupanca = poupanca
        bl.investimento() | should | equal_to('Poupanca')

        def renda():
            return bl.INADEQUADA

        bl.renda = renda

        def poupanca():
            return bl.ADEQUADA

        bl.poupanca = poupanca
        bl.investimento() | should | equal_to('Ambos')
    def __init__(self):
        self.g = nx.DiGraph()
        self.bl = BancoLogico()

        self.montar_arvore()