public void Quando_ocorrer_lancamentos_diversos_deve_constar_saldos_e_totais_corretamente() { var competencia = new Competencia(_competenciaId, _dataCriacao, _ano, _mes); var receitaAlterar = LancamentoStub.CreateReceitaComValor(55); var despesaAlterar = LancamentoStub.CreateDespesaComValor(85); var receitaARemover = LancamentoStub.CreateReceitaComValor(60); var despesaARemover = LancamentoStub.CreateDespesaComValor(50); competencia.AdicionarDespesa(despesaARemover); competencia.AdicionarReceita(LancamentoStub.CreateReceitaComValor(10)); competencia.RemoverDespesa(despesaARemover); competencia.AdicionarReceita(receitaARemover); competencia.RemoverReceita(receitaARemover); competencia.AdicionarReceita(receitaAlterar); competencia.AlterarReceita(LancamentoStub.CreateReceitaComValor(receitaAlterar.EntityId, 90)); competencia.AdicionarDespesa(despesaAlterar); competencia.AlterarDespesa(LancamentoStub.CreateDespesaComValor(despesaAlterar.EntityId, 90)); competencia.Saldo.Should().Be(10M); competencia.TotalContasAPagar.Should().Be(-90M); competencia.TotalContasAReceber.Should().Be(100M); }