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); }
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); }
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); }