public void NotShouldThrowIfPatternIsNull()
        {
            Action action = () => Pattern.Not <object, object>(null);

            action.Should().Throw <ArgumentNullException>();
        }
 public Property NotValueNullShouldBeOppositeToValueNull(int?x)
 => (Pattern.ValueNull <int>().Match(x).IsSome == Pattern.Not(Pattern.ValueNull <int>()).Match(x).IsNone).ToProperty();
 public void NotTypeShouldFailOnlyWhenTheValueHasType()
 {
     Pattern.Not(Pattern.Type <object, int>()).Match(1).IsSome.Should().BeFalse();
     Pattern.Not(Pattern.Type <object, string>()).Match("string").IsSome.Should().BeFalse();
     Pattern.Not(Pattern.Type <object, object>()).Match(null).IsSome.Should().BeTrue();
 }
 public Property NotPatternShouldBeOppositeToPattern(SimplePattern <string> pattern, string x)
 => (pattern.Match(x).IsSome == Pattern.Not(pattern).Match(x).IsNone).ToProperty();