Esempio n. 1
0
        public void NaoDevePermitirJogarQuandoTodosOsJogadoresJogaram()
        {
            var parcial = FluentBuilder <Parcial> .New().With(p => p.Jogadores, _jogadores)
                          .With(p => p.JogadorDaCarta, _jogadores.Last()).Build();

            Assert.IsFalse(parcial.PermiteJogar());
        }
Esempio n. 2
0
        Nao_deve_alterar_a_pontuacao_da_familia_e_nem_alterar_quantidade_de_criterios_atendidos_quando_ela_nao_atender_o_criterio()
        {
            const int quantidadeDeCriteriosInicialmenteAtendidos = 1;
            const int pontuacaoInicialDaFamilia = 4;
            const int valorDaRendaUm            = 400;
            const int valorDaRendaDois          = 800;
            var       rendaDaPessoaUm           = FluentBuilder <Renda> .New().With(renda => renda.Valor, valorDaRendaUm).Build();

            var rendaDaPessoaDois = FluentBuilder <Renda> .New().With(renda => renda.Valor, valorDaRendaDois).Build();

            var pessoaUm = FluentBuilder <Pessoa> .New().With(pessoa => pessoa.Renda, rendaDaPessoaUm).Build();

            var pessoaDois = FluentBuilder <Pessoa> .New().With(pessoa => pessoa.Renda, rendaDaPessoaDois).Build();

            var pessoas = new[] { pessoaUm, pessoaDois };
            var familia = FluentBuilder <Familia> .New()
                          .With(f => f.QuantidadeDeCriteriosAtendidos, quantidadeDeCriteriosInicialmenteAtendidos)
                          .With(f => f.Pontuacao, pontuacaoInicialDaFamilia)
                          .WithCollection(f => f.Pessoas, pessoas).Build();

            _pontuacaoDeFamilias.Pontuar(_criterioDeRendaInferiorA900, familia);

            Assert.Equal(pontuacaoInicialDaFamilia, familia.Pontuacao);
            Assert.Equal(quantidadeDeCriteriosInicialmenteAtendidos, familia.QuantidadeDeCriteriosAtendidos);
        }
Esempio n. 3
0
        public void TestBuilderImplicitlyCoercesFromStartingState()
        {
            var startingValue           = Any.Int();
            FluentBuilder <int> builder = startingValue;

            builder.Apply().Should().Be(startingValue);
        }
Esempio n. 4
0
        public void Setup()
        {
            _dto = new CursoAbertoParaCadastroViewModel
            {
                Preco   = "10",
                Codigo  = "XPTO",
                IdCurso = 10,
                PeriodoFinalParaMatricula   = DateTime.Now.AddDays(-1),
                PeriodoInicialParaMatricula = DateTime.Now.AddDays(-10),
                InicioDoCurso     = DateTime.Now,
                FimDoCurso        = DateTime.Now.AddDays(10),
                TipoDeCursoAberto = "Publico"
            };

            _cursoRepositorio = new Mock <IRepositorio <Curso> >();
            _cursoRepositorio.Setup(repositorio => repositorio.ObterPorId(_dto.IdCurso))
            .Returns(FluentBuilder <Curso> .New().Build);
            _cursoAbertoRepositorio = new Mock <ICursoAbertoRepositorio>();

            _instrutorRepositorio = new Mock <IPessoaRepositorio>();
            _instrutor            = FluentBuilder <Pessoa> .New().With(i => i.Id, InstrutorId).Build();

            _instrutorRepositorio.Setup(r => r.ObterPorId(InstrutorId)).Returns(_instrutor);

            _armazenador = new ArmazenadorDeCursoAberto(
                _cursoRepositorio.Object,
                _cursoAbertoRepositorio.Object,
                _instrutorRepositorio.Object);
        }
        public SolicitadorDeManutencaoTeste()
        {
            _dto = new SolicitacaoDeManutencaoDto
            {
                SubsidiariaId                 = "XPTO-ABC",
                SolicitanteId                 = 1,
                NomeDoSolicitante             = "Ricardo José",
                TipoDeSolicitacaoDeManutencao = TipoDeSolicitacaoDeManutencao.Jardinagem.GetHashCode(),
                Justificativa                 = "Grama Alta",
                NumeroDoContrato              = "2135",
                InicioDesejadoParaManutencao  = DateTime.Now.AddMonths(2)
            };
            _contratoDto = new ContratoDto
            {
                Numero              = _dto.NumeroDoContrato,
                NomeDaTerceirizada  = "Grama SA",
                GestorDoContrato    = "Edivaldo Pereira",
                CnpjDaTerceirizada  = "00000000000000",
                DataFinalDaVigencia = DateTime.Now.AddMonths(1)
            };

            _solicitacaoDeManutencaoRepositorio = Substitute.For <ISolicitacaoDeManutencaoRepositorio>();
            var subsidiariaRepositorio = Substitute.For <ISubsidiariaRepositorio>();

            _subsidiaria = FluentBuilder <Subsidiaria> .New().Build();

            subsidiariaRepositorio.ObterPorId(_dto.SubsidiariaId).Returns(_subsidiaria);
            _canceladorDeSolicitacoesDeManutencaoPendentes = Substitute.For <ICanceladorDeSolicitacoesDeManutencaoPendentes>();
            _buscadorDeContrato = Substitute.For <IBuscadorDeContrato>();
            _buscadorDeContrato.Buscar(_dto.NumeroDoContrato).Returns(_contratoDto);
            _solicitador = new SolicitadorDeManutencao(_solicitacaoDeManutencaoRepositorio, subsidiariaRepositorio, _buscadorDeContrato, _canceladorDeSolicitacoesDeManutencaoPendentes);
        }
Esempio n. 6
0
        public void Nao_deve_pontuar_quando_familia_nao_atender_ao_criterio()
        {
            const int pontuacaoEsperada        = 0;
            var       dependenteMenorDeIdadeUm = PessoaBuilder.UmaPessoa()
                                                 .ComTipo(TipoDePessoa.Dependente)
                                                 .ComDataDeNascimento(new DateTime(2006, 12, 1))
                                                 .Build();
            var dependenteMenorDeIdadeDois = PessoaBuilder.UmaPessoa()
                                             .ComTipo(TipoDePessoa.Dependente)
                                             .ComDataDeNascimento(new DateTime(2005, 12, 1))
                                             .Build();
            var dependenteMenorDeIdadeTres = PessoaBuilder.UmaPessoa()
                                             .ComTipo(TipoDePessoa.Dependente)
                                             .ComDataDeNascimento(new DateTime(2000, 12, 1))
                                             .Build();
            var pretendente = PessoaBuilder.UmaPessoa().ComTipo(TipoDePessoa.Pretendete).Build();
            var pessoas     = new[]
            { dependenteMenorDeIdadeUm, dependenteMenorDeIdadeDois, dependenteMenorDeIdadeTres, pretendente };
            var familia = FluentBuilder <Familia> .New()
                          .WithCollection(f => f.Pessoas, pessoas)
                          .Build();

            var pontuacaoObtida = _criterio.EhAtendidoPela(familia);

            Assert.Equal(pontuacaoEsperada, pontuacaoObtida);
        }
        public void WithFieldValue_throws_exception_when_member_was_not_found()
        {
            var newValue = new StandAloneComplexType();

            Assert.Throws <FluentBuilderException>(() => FluentBuilder <SampleClass> .New()
                                                   .WithFieldValue(newValue));
        }
Esempio n. 8
0
        /// <summary>
        /// Updates help options to use the given column widths.
        /// </summary>
        /// <param name="builder">Options builder.</param>
        /// <param name="widths">Column widths.</param>
        /// <returns>The updated builder.</returns>
        public static FluentBuilder <ArgumentSetHelpOptions> ColumnWidths(this FluentBuilder <ArgumentSetHelpOptions> builder, params int[] widths)
        {
            builder.AddTransformer(options =>
            {
                if (options.Arguments.Layout is TwoColumnArgumentHelpLayout layout)
                {
                    if (widths.Length > 2)
                    {
                        throw new NotSupportedException("May only specify up to 2 column widths with this layout");
                    }

                    if (widths.Length >= 1)
                    {
                        layout.ColumnWidths[0] = widths[0];
                    }
                    if (widths.Length >= 2)
                    {
                        layout.ColumnWidths[1] = widths[1];
                    }
                }
                else
                {
                    throw new NotSupportedException("Cannot specify column widths on this layout");
                }
            });

            return(builder);
        }
        public void Builder_Should_ProperlyBuildMoreComplicatedObjects(PersonExtendedInfo sourcePersonInfo)
        {
            dynamic personInfoBuilder = new FluentBuilder <PersonExtendedInfo>();

            personInfoBuilder.WithActive(sourcePersonInfo.Active)
            .WithAdditionalData(sourcePersonInfo.AdditionalData)
            .WithAddress(sourcePersonInfo.Address)
            .WithAge(sourcePersonInfo.Age)
            .WithDateOfBirth(sourcePersonInfo.DateOfBirth)
            .WithDateOfDeath(sourcePersonInfo.DateOfDeath)
            .WithName(sourcePersonInfo.Name)
            .WithSurname(sourcePersonInfo.Surname)
            .WithSalary(sourcePersonInfo.Salary);

            PersonExtendedInfo builtPersonInfo = personInfoBuilder.Get();

            //TODO: find/write some Shouldly method to compare objects only by property values
            builtPersonInfo.Active.ShouldBe(sourcePersonInfo.Active);
            builtPersonInfo.AdditionalData.ShouldBe(sourcePersonInfo.AdditionalData);
            builtPersonInfo.Address.ShouldBe(sourcePersonInfo.Address);
            builtPersonInfo.Age.ShouldBe(sourcePersonInfo.Age);
            builtPersonInfo.DateOfBirth.ShouldBe(sourcePersonInfo.DateOfBirth);
            builtPersonInfo.DateOfDeath.ShouldBe(sourcePersonInfo.DateOfDeath);
            builtPersonInfo.Name.ShouldBe(sourcePersonInfo.Name);
            builtPersonInfo.Surname.ShouldBe(sourcePersonInfo.Surname);
            builtPersonInfo.Salary.ShouldBe(sourcePersonInfo.Salary);
        }
Esempio n. 10
0
        public void BuilderCreatesDefaultObject()
        {
            var builder = new FluentBuilder <Car>();
            Car car     = builder.Create();

            car.Should().NotBeNull();
        }
        public void Setup()
        {
            _pessoa = FluentBuilder <Pessoa> .New().With(a => a.TipoDePublico, "Medico(a)").Build();

            var cursoAbertoMock = new Mock <CursoAberto>();

            cursoAbertoMock.Setup(c => c.ContemPublicoAlvo(_pessoa.TipoDePublico)).Returns(true);
            _cursoAberto        = cursoAbertoMock.Object;
            _estaPago           = true;
            _valorPago          = 100m;
            _idCursoAberto      = 100;
            _idAluno            = 600;
            _idComoFicouSabendo = 346;
            _comoFicouSabendo   = FluentBuilder <ComoFicouSabendo> .New().With(c => c.Id, _idComoFicouSabendo).Build();

            _matriculaRepositorio   = new Mock <IMatriculaRepositorio>();
            _cursoAbertoRepositorio = new Mock <ICursoAbertoRepositorio>();
            _cursoAbertoRepositorio.Setup(r => r.ObterPorId(_idCursoAberto)).Returns(_cursoAberto);
            _alunoRepositorio = new Mock <IPessoaRepositorio>();
            _alunoRepositorio.Setup(r => r.ObterPorId(_idAluno)).Returns(_pessoa);
            _comoFicouSabendoRepositorio = new Mock <IRepositorio <ComoFicouSabendo> >();
            _comoFicouSabendoRepositorio.Setup(r => r.ObterPorId(_idComoFicouSabendo)).Returns(_comoFicouSabendo);

            _criacaoDeMatricula =
                new CriacaoDeMatricula(_matriculaRepositorio.Object, _cursoAbertoRepositorio.Object, _alunoRepositorio.Object, _comoFicouSabendoRepositorio.Object);
        }
Esempio n. 12
0
        public void TestBuilderWithNoTransformationsAppliesToStartingState()
        {
            var startingValue = Any.Int();
            var builder       = new FluentBuilder <int>(startingValue);

            builder.Apply().Should().Be(startingValue);
        }
Esempio n. 13
0
        public IBehaviour <Creature> AttackBehaviour()
        {
            return(FluentBuilder.Create <Creature>()
                   .Selector("attack-behaviour")
                   //.Wait("GCD", 1400)


                   .Random("change-to-random", .05)
                   .Do("change-to-random", ChangeToRandomTarget)
                   .End()
                   .Random("seeping-wound", .05)
                   .Do("seeping-wound", SeepingWound)
                   .End()
                   .Random("touch-of-palsy", .10)
                   .Do("touch-of-palsy", TouchOfPalsy)
                   .End()
                   .Random("ravage", 25.00)
                   .Do("ravage", Ravage)
                   .End()
                   .Random("Taunt", 0.05)
                   .Do("Taunt", Taunt)
                   .End()

                   .End()
                   .Build());
        }
Esempio n. 14
0
        public void NaoDeveAdicionarStatusDeAprovacaoDaMatriculaInvalida()
        {
            var matricula = FluentBuilder <Matricula> .New().Build();

            Assert.ThrowsException <ExcecaoDeDominio>(() => matricula.AdicionarNotaDoAlunoNoCurso(1, StatusDaAprovacaoDaMatricula.Nenhum))
            .Message.StartsWith("Status de aprovação é inválido");
        }
Esempio n. 15
0
        public void Should_build_a_collection_of_objects()
        {
            const int amountOfObjects = 3;

            var collection = FluentBuilder <SampleClass> .Many(amountOfObjects);

            Assert.AreEqual(amountOfObjects, collection.Count());
        }
Esempio n. 16
0
        public void Deve_cancelar_solicitacao_de_manutencao()
        {
            var solicitacao = FluentBuilder <SolicitacaoDeManutencao> .New().Build();

            solicitacao.Cancelar();

            Assert.Equal(StatusDaSolicitacao.Cancelada, solicitacao.StatusDaSolicitacao);
        }
Esempio n. 17
0
                public void should_fail()
                {
                    IFluentBuilder <Bar> nonListBuilder = new FluentBuilder <Bar>();

                    Action setList = () => _builder.SetList(x => x.Bars, nonListBuilder);

                    setList.ShouldThrow <ArgumentException>();
                }
 public void NodeTests()
 {
     var builder = new FluentBuilder();
     builder.For<Foo>()
         .Setup(m => m.Value)
         .Setup(m => m.Value)
         .EndSetup();
 }
Esempio n. 19
0
        public void TestBuilderImplicitlyCoercesToAppliedResult()
        {
            var startingValue = Any.Int();
            var builder       = new FluentBuilder <int>(startingValue);
            int coerced       = builder;

            builder.Apply().Should().Be(coerced);
        }
Esempio n. 20
0
        public void BuilderCreatesObjectWithRequiredProperty()
        {
            var builder = new FluentBuilder <Car>();
            Car car     = builder.Create(1);

            car.Should().NotBeNull();
            car.Id.Should().Be(1);
        }
        public void BuildMethods_Should_ReturnBuilderObject()
        {
            var builder = new FluentBuilder <SomeClass>();

            FluentBuilder <SomeClass> builderAfterMethodCall = ((dynamic)builder).WithSomeNumber(1);

            builderAfterMethodCall.ShouldBeSameAs(builder);
        }
Esempio n. 22
0
        public void Should_build_object_using_implicit_conversion_when_not_calling_build_method()
        {
            const string newValue = "Robson";

            SampleClass createdObject = FluentBuilder <SampleClass> .New().With(newObject => newObject.PropertyWithSetter, newValue);

            Assert.AreEqual(newValue, createdObject.PropertyWithSetter);
        }
Esempio n. 23
0
        public void DeveSerPossivelCancelarMatricula()
        {
            var matricula = FluentBuilder <Matricula> .New().Build();

            matricula.CancelarMatricula();

            Assert.IsTrue(matricula.Cancelada);
        }
Esempio n. 24
0
        public void DevePoderAdicionarStatusDeReprovadoESemNota()
        {
            var matricula = FluentBuilder <Matricula> .New().Build();

            matricula.AdicionarNotaDoAlunoNoCurso(0, StatusDaAprovacaoDaMatricula.Reprovado);

            Assert.AreEqual(StatusDaAprovacaoDaMatricula.Reprovado, matricula.StatusDaAprovacao);
        }
Esempio n. 25
0
        public void NaoDeveAdicionarObservacaoVazia()
        {
            var matricula = FluentBuilder <Matricula> .New().Build();

            var message = Assert.ThrowsException <ExcecaoDeDominio>(() => matricula.AdicionarObservacao(null)).Message;

            Assert.AreEqual("Observação é obrigatório", message);
        }
Esempio n. 26
0
        public void DeveInformarAMaiorCartaJogada()
        {
            var nomeDoJogador = "jogador1";
            var carta         = FluentBuilder <Carta> .New().Build();

            _parcial.Jogar(nomeDoJogador, carta);

            Assert.AreEqual(carta, _parcial.MaiorCartaJogada);
        }
Esempio n. 27
0
        public void NaoDeveJogarQuandoNaoForAVezDoJogador()
        {
            const string nomeDoJogador = "jogador2";
            var          carta         = FluentBuilder <Carta> .New().Build();

            var message = Assert.ThrowsException <ExcecaoDeDominio>(() => _parcial.Jogar(nomeDoJogador, carta)).Message;

            Assert.AreEqual(message, "Não é permitido jogar na vez de outro jogador");
        }
Esempio n. 28
0
        public void DevePoderAdicionarObservacao()
        {
            const string observacao = "observacao";
            var          matricula  = FluentBuilder <Matricula> .New().Build();

            matricula.AdicionarObservacao(observacao);

            Assert.AreEqual(observacao, matricula.Observacao);
        }
Esempio n. 29
0
        public void DevePoderInformarSeAlunoEhUmInstrutorEmPotencial()
        {
            const bool ip        = true;
            var        matricula = FluentBuilder <Matricula> .New().Build();

            matricula.EhInstrutorEmPotencial(ip);

            Assert.AreEqual(ip, matricula.Ip);
        }
Esempio n. 30
0
        public void Deve_aprovar_solicitacao_de_manutencao()
        {
            var aprovador   = new Autor(1, "Reprovador");
            var solicitacao = FluentBuilder <SolicitacaoDeManutencao> .New().Build();

            solicitacao.Aprovar(aprovador);

            Assert.Equal(StatusDaSolicitacao.Aprovada, solicitacao.StatusDaSolicitacao);
        }
Esempio n. 31
0
        public void Deve_informar_o_aprovador_da_aprovacao()
        {
            var aprovador   = new Autor(1, "Reprovador");
            var solicitacao = FluentBuilder <SolicitacaoDeManutencao> .New().Build();

            solicitacao.Aprovar(aprovador);

            Assert.Equal(aprovador, solicitacao.Aprovador);
        }
        public void ShouldCreateEngine()
        {
            var builder = new FluentBuilder();
            builder.For<Foo>()
                    .Setup(m => m.Value)
                        .MustBeGreaterThan(10);

            var engine = builder.Build();
            Assert.IsTrue(engine.Validate(new Foo(11)));
            Assert.IsFalse(engine.Validate(new Foo(9)));

        }