public void SelectMany_on_Some_and_None_returns_None() { var enclosedValue = new NestedOptionals(new Option <string>()); var option = new Option <NestedOptionals>(enclosedValue); var result = from value in option from optionalString in value.OptionString select optionalString; Assert.That(result, Is.EqualTo(Option <string> .None)); }
public void SelectMany_on_Some_and_Some_returns_Some() { var enclosedValue = Guid.NewGuid().ToString(); var nestedOptional = new NestedOptionals(new Option <string>(enclosedValue)); var option = new Option <NestedOptionals>(nestedOptional); var result = from value in option from optionalString in value.OptionString select optionalString; Assert.That(result, Is.EqualTo(Option <string> .Create(enclosedValue))); }
public void SelectMany_on_Some_and_Some_returns_Some() { var enclosedValue = Guid.NewGuid().ToString(); var nestedOptional = new NestedOptionals(new Optional<string>(enclosedValue)); var option = new Optional<NestedOptionals>(nestedOptional); var result = from value in option from optionalString in value.OptionalString select optionalString; Assert.That(result, Is.EqualTo(Optional<string>.Create(enclosedValue))); }
public void SelectMany_on_Some_and_None_returns_None() { var enclosedValue = new NestedOptionals(new Optional<string>()); var option = new Optional<NestedOptionals>(enclosedValue); var result = from value in option from optionalString in value.OptionalString select optionalString; Assert.That(result, Is.EqualTo(Optional<string>.None)); }