public void Cuando_la_raiz_es_nula_y_hay_una_condicion_sale_por_no() { cliente = new Cliente { Nombre = "Daniel", }; bool seEjecuto = false; var result = cliente.ToMaybe() .Select(c => c.Direccion) .If(d=> { seEjecuto = true; return EsCodigoPaisEspaña(d); }) .SelectOrDefault(d => d.CodigoPostal, () => "None"); Assert.AreEqual("None", result.Value); Assert.IsFalse(seEjecuto); }
public void Cuando_la_raiz_no_es_nula_y_executa_una_accion() { cliente = new Cliente { Nombre = "Daniel", Direccion = new Direccion { CodigoPostal = "08401", CodigoPais = "PT" } }; bool seEjecuto = false; cliente.ToMaybe() .Execute(c => { seEjecuto = true; }); Assert.IsTrue(seEjecuto); }
public void Cuando_la_raiz_no_es_nula_y_se_pide_un_valor_de_salida() { cliente = new Cliente { Nombre = "Daniel" }; var result = cliente.ToMaybe() .Return(c => c.Nombre, () => "DefaultNombre"); Assert.AreEqual(result, "Daniel"); }
public void Cuando_la_raiz_no_es_nula_y_se_pide_por_un_valor_existente_O_default() { cliente = new Cliente { Nombre = "Daniel" }; var result = cliente.ToMaybe() .SelectOrDefault(c => c.Nombre,()=>DefaultNombre); Assert.IsTrue(result.HasValue); Assert.AreEqual(result.Value, "Daniel"); }