public void Where_returns_None_when_inner_value_does_not_meet_predicate() { var enclosedValue = 0; var option = new Optional<int>(enclosedValue); var actual = option.Where(i => i > 0); Assert.That(actual, Is.EqualTo(Optional<int>.None)); }
public void Where_returns_Some_when_inner_value_meets_predicate() { var enclosedValue = 0; var option = new Optional<int>(enclosedValue); var actual = option.Where(i => i == 0); Assert.That(actual, Is.EqualTo(Optional<int>.Create(enclosedValue))); }
public void Where_returns_none_on_None() { var none = new Optional<object>(); var actual = none.Where(_ => true); Assert.That(actual, Is.EqualTo(Optional<object>.None)); }