Beispiel #1
0
        public static void CaptureCollection_GetEnumeratorTest()
        {
            Regex             rgx1     = new Regex(@"(?<A1>a*)(?<A2>b*)(?<A3>c*)");
            String            strInput = "aaabbccccccccccaaaabc";
            Match             mtch1    = rgx1.Match(strInput);
            CaptureCollection captrc1  = mtch1.Captures;

            IEnumerator enmtr1 = captrc1.GetEnumerator();

            for (int i = 0; i < captrc1.Count; i++)
            {
                enmtr1.MoveNext();

                Assert.Equal(enmtr1.Current, captrc1[i]);
            }

            Assert.False(enmtr1.MoveNext(), "Err_5! enmtr1.MoveNext returned true");

            enmtr1.Reset();

            for (int i = 0; i < captrc1.Count; i++)
            {
                enmtr1.MoveNext();

                Assert.Equal(enmtr1.Current, captrc1[i]);
            }
        }
Beispiel #2
0
        public static void CaptureCollection_GetEnumeratorTest_Negative()
        {
            Regex             rgx1     = new Regex(@"(?<A1>a*)(?<A2>b*)(?<A3>c*)");
            String            strInput = "aaabbccccccccccaaaabc";
            Match             mtch1    = rgx1.Match(strInput);
            CaptureCollection captrc1  = mtch1.Captures;

            IEnumerator enmtr1 = captrc1.GetEnumerator();

            Capture currentCapture;

            Assert.Throws <InvalidOperationException>(() => currentCapture = (Capture)enmtr1.Current);


            for (int i = 0; i < captrc1.Count; i++)
            {
                enmtr1.MoveNext();
            }

            enmtr1.MoveNext();

            Assert.Throws <InvalidOperationException>(() => currentCapture = (Capture)enmtr1.Current);
            enmtr1.Reset();

            Assert.Throws <InvalidOperationException>(() => currentCapture = (Capture)enmtr1.Current);
        }
        public void Deny_Unrestricted()
        {
            Assert.AreEqual(0, coll.Count, "Count");
            Assert.IsTrue(coll.IsReadOnly, "IsReadOnly");
            Assert.IsFalse(coll.IsSynchronized, "IsSynchronized");
            Assert.IsNotNull(coll.SyncRoot, "SyncRoot");

            Assert.IsNotNull(coll.GetEnumerator(), "GetEnumerator");
            Capture[] captures = new Capture[0];
            coll.CopyTo(captures, 0);
        }
        public static void GetEnumerator()
        {
            Regex regex = new Regex(@"(?<A1>a*)(?<A2>b*)(?<A3>c*)");
            Match match = regex.Match("aaabbccccccccccaaaabc");

            CaptureCollection captures   = match.Captures;
            IEnumerator       enumerator = captures.GetEnumerator();

            for (int i = 0; i < 2; i++)
            {
                int counter = 0;
                while (enumerator.MoveNext())
                {
                    Assert.Equal(captures[counter], enumerator.Current);
                    counter++;
                }
                Assert.Equal(captures.Count, counter);
                enumerator.Reset();
            }
        }