예제 #1
0
        public void Test_Intersect_Empty()
        {
            var all           = RegExFactory.All <char> ();
            var all_intersect = RegExFactory.Intersection <char> ();

            Assert.AreEqual(0, all_intersect.CompareTo(all));
        }
예제 #2
0
        public void Test_Star_All()
        {
            var all  = RegExFactory.All <char> ();
            var star = RegExFactory.Star(all);

            Assert.AreEqual(all, star);
        }
예제 #3
0
        public void Test_Intersect_EmptyList()
        {
            var all             = RegExFactory.All <char> ();
            var empty_intersect = RegExFactory.Intersection(new RegEx <char>[] { });

            Assert.AreEqual(all, empty_intersect);
        }
예제 #4
0
        // complement(empty) = all
        public void Test_Complement_Empty()
        {
            var all         = RegExFactory.All <char> ();
            var empty       = RegExFactory.Empty <char> ();
            var compl_empty = RegExFactory.Complement(empty);

            Assert.AreEqual(all, compl_empty);
        }
예제 #5
0
        public void Test_All()
        {
            var all = RegExFactory.All <char>();

            Assert.IsTrue(all is RegExIntersection <char>);

            var a = all as RegExIntersection <char>;

            Assert.AreEqual(0, a.Regexes.Length);
        }
예제 #6
0
        public void Test_Epsi()
        {
            var epsi   = RegExFactory.Epsilon <char> ();
            var range  = RegExFactory.Range('a');
            var range2 = RegExFactory.Range('b');

            Assert.AreEqual(0, epsi.CompareTo(epsi));                                    // epsi == epsi
            Assert.AreEqual(0, epsi.CompareTo(RegExFactory.Epsilon <char>()));           // epsi == epsi

            Assert.IsTrue(epsi.CompareTo(RegExFactory.Range('a')) < 0);                  // epsi < RegExRange(...)
            Assert.IsTrue(epsi.CompareTo(RegExFactory.Range('a', 'b')) < 0);             // epsi < RegexRange(...)

            Assert.IsTrue(epsi.CompareTo(RegExFactory.Empty <char> ()) < 0);             // epsi < empty
            Assert.IsTrue(epsi.CompareTo(RegExFactory.All <char> ()) < 0);               // epsi < all

            Assert.IsTrue(epsi.CompareTo(RegExFactory.Star(range)) < 0);                 // epsi < star
            Assert.IsTrue(epsi.CompareTo(RegExFactory.Complement(range)) < 0);           // epsi < complement

            Assert.IsTrue(epsi.CompareTo(RegExFactory.Concat(range, range)) < 0);        // epsi < concat
            Assert.IsTrue(epsi.CompareTo(RegExFactory.Union(range, range2)) < 0);        // epsi < union
            Assert.IsTrue(epsi.CompareTo(RegExFactory.Intersection(range, range2)) < 0); // epsi < intersection
        }