public void DadoUmaDesapropriacaoSemPremioDeveGerarErro()
        {
            _desapropriacaoPremio = ParcelaDesapropriadaBuilder.UmBuilder()
                                    .ComIdentificador(IdentificadoresPadrao.Identificador)
                                    .ComDataExecucaoEvento(DateTime.Now).Build();

            Assert.That(() => _desapropriacaoPremio.Validar(), GeraErro("Nenhum prêmio para Desapropriar."));
        }
        public void DadoUmContratoDesapropriacaoPremioComIdentificadorInvalidoDeveGerarErro()
        {
            _desapropriacaoPremio = ParcelaDesapropriadaBuilder.UmBuilder()
                                    .ComDataExecucaoEvento(DateTime.Now)
                                    .Build();

            Assert.That(() => _desapropriacaoPremio.Validar(), GeraErro("O Identificador não pode ser nulo."));
        }
        public static void ValidarDesapropriacao(this IParcelaDesapropriada contrato)
        {
            contrato.Validar();

            Assertion.NotNull(contrato.Parcelas, "Nenhum prêmio para Desapropriar.").Validate();

            contrato.Parcelas.Select(p => p.ValidarPremioDesapropriado())
            .Aggregate(Assertion.Neutral(), (x, y) => x.and(y)).Validate();
        }
        public void DadoUmContratoDesapropriacaoPremioComDataExecucaoInvalidaDeveGerarErro()
        {
            _desapropriacaoPremio = ParcelaDesapropriadaBuilder.UmBuilder().ComIdentificador(Guid.NewGuid()).Build();

            Assert.That(() => _desapropriacaoPremio.Validar(), GeraErro("A Data de Execução não pode ser nula."));
        }