public void TestFlags() { var regexOptions = new RegexOptions(); Assert.IsFalse(regexOptions.HasFlag(RegexOptions.Singleline)); regexOptions = regexOptions.SetFlags(RegexOptions.Singleline, RegexOptions.ECMAScript); Assert.IsTrue(regexOptions.HasFlag(RegexOptions.Singleline)); Assert.IsTrue(regexOptions.HasFlag(RegexOptions.ECMAScript)); Assert.IsTrue(regexOptions.HasFlags(RegexOptions.ECMAScript)); Assert.IsTrue(regexOptions.HasFlags(RegexOptions.Singleline, RegexOptions.ECMAScript)); Assert.IsFalse(regexOptions.HasFlags(RegexOptions.Singleline, RegexOptions.ExplicitCapture)); regexOptions = regexOptions.SetFlag(RegexOptions.ExplicitCapture); regexOptions = regexOptions.ClearFlags(RegexOptions.Singleline, RegexOptions.IgnorePatternWhitespace); Assert.IsFalse(regexOptions.HasFlag(RegexOptions.Singleline)); Assert.IsTrue(regexOptions.HasFlag(RegexOptions.ExplicitCapture)); regexOptions = regexOptions.ClearFlag(RegexOptions.ExplicitCapture); Assert.IsFalse(regexOptions.HasFlag(RegexOptions.ExplicitCapture)); }