예제 #1
0
파일: OptTests.cs 프로젝트: bragil/funsharp
        public void Deve_Ter_Valor()
        {
            Opt <string> optString = "Teste";

            Assert.IsTrue(optString.IsSome);

            Opt <int> optInt = 20;

            Assert.IsTrue(optInt.IsSome);

            Opt <decimal> optDec = 1908736.97M;

            Assert.IsTrue(optDec.IsSome);

            Opt <TesteStruct> optTesteStruct = new TesteStruct()
            {
                Numero = 10, Texto = "bla bla bla"
            };

            Assert.IsTrue(optTesteStruct.IsSome);

            Opt <TesteEnum> optTesteEnum = TesteEnum.B;

            Assert.IsTrue(optTesteEnum.IsSome);

            Opt <TesteClass> optTeste = new TesteClass()
            {
                Id = 10
            };

            Assert.IsTrue(optTeste.IsSome);
        }
예제 #2
0
파일: OptTests.cs 프로젝트: bragil/funsharp
        public void Deve_Ser_None()
        {
            string       str       = null;
            Opt <string> optString = str;

            Assert.IsFalse(optString.IsSome);

            Opt <int> optInt = 0;

            Assert.IsFalse(optInt.IsSome);

            Opt <decimal> optDec = 0.0M;

            Assert.IsFalse(optDec.IsSome);

            TesteStruct       testeStruct    = default;
            Opt <TesteStruct> optTesteStruct = testeStruct;

            Assert.IsFalse(optTesteStruct.IsSome);

            TesteEnum       testeEnum    = default;
            Opt <TesteEnum> optTesteEnum = testeEnum;

            Assert.IsFalse(optTesteEnum.IsSome);

            TesteClass       testeClass    = default;
            Opt <TesteClass> optTesteClass = testeClass;

            Assert.IsFalse(optTesteClass.IsSome);
        }
예제 #3
0
        public void Deve_Retornar_Valor_com_Match()
        {
            TesteStruct?teste = new TesteStruct()
            {
                Numero = 25, Texto = "Vinte e cinco"
            };

            var retorno = teste.Match(
                t => $"{t.Numero}:{t.Texto}",
                _ => "none"
                );

            Assert.AreEqual("25:Vinte e cinco", retorno);
        }