Example #1
0
        public void LinqSelectManyWithNull()
        {
            var pessoa = new Pessoa
            {
                Nome = "Robb Stark"
            };

            var res = (from p in Option.Of(pessoa)
                      from e in p.Endereco.ToOption()
                      select e.Cidade).GetOrElse("Sem endereco");

            res.Should().Be("Sem endereco");
        }
Example #2
0
        public void LinqSelectMany()
        {
            var pessoa = new Pessoa
            {
                Nome = "Robb Stark",
                Endereco = new Endereco
                {
                    Cidade = "Winterfell"
                }
            };

            var res = from p in Option.Of(pessoa)
                      from e in p.Endereco.ToOption()
                      select e.Cidade;

            res.Should().Be(Option.Of("Winterfell"));
        }
Example #3
0
        public void WhereOperatorWithFalsePredicate()
        {
            var pessoa = new Pessoa
            {
                Nome = "Robb Stark"
            };

            var res = from p in pessoa.ToOption()
                      where p.Nome == "Jon Snow"
                      select p;

            res.Should().Be(Option.None<Pessoa>());
        }
Example #4
0
        public void WhereOperatorWithTruePredicate()
        {
            var pessoa = new Pessoa
            {
                Nome = "Robb Stark"
            };

            var res = from p in pessoa.ToOption()
                      where p.Nome == "Robb Stark"
                      select p.Nome;

            res.GetOrElse("").Should().Be("Robb Stark");
        }
Example #5
0
        public void OptionSomeTeste()
        {
            var pessoa = new Pessoa
            {
                Nome = "Robb Stark",
                Endereco = new Endereco
                {
                    Cidade = "Winterfell"
                }
            };

            var optionPessoa = Option.Create(pessoa);

            var logradouro = optionPessoa
                                    .Map(p => p.Endereco)
                                    .Map(e => e.Cidade)
                                    .GetOrElse("Não informado");

            logradouro.Should().Be("Winterfell");
        }