public void Equality() { CharGroupPattern pattern1 = new CharGroupPattern(true, "xy"); CharGroupPattern pattern2 = new CharGroupPattern(true, "xyxyy"); Assert.AreEqual(pattern1, pattern2, "CharSet"); pattern1 = new CharGroupPattern(true, new[] { uppercase, lowercase }); pattern2 = new CharGroupPattern(true, new[] { uppercase, lowercase }); Assert.AreEqual(pattern1, pattern2, "CharRange"); pattern1 = new CharGroupPattern(true, "xyyx", new[] { uppercase, lowercase }); pattern2 = new CharGroupPattern(true, "xxy", new[] { uppercase, lowercase }); Assert.AreEqual(pattern1, pattern2, "CharSet/CharRange"); Assert.AreEqual(pattern1.CharSet, pattern2.CharSet, "CharRange"); Assert.AreEqual(pattern1.ChildPatterns[0], pattern2.ChildPatterns[0], "CharRange"); pattern1 = new CharGroupPattern(true, new[] { uppercase, lowercase }); pattern2 = new CharGroupPattern(true, new[] { uppercase, lowercase, digits }); Assert.AreNotEqual(pattern1, pattern2, "NotEqual"); Assert.IsTrue(pattern1 != pattern2, "!="); }