public void MatchDigetsFindsOneMatchForAllCharacters()
        {
            var expression = new ListExpression<char> (m_digits.ToArray ());

             int index = (int)'0';
             var list = AllCharacters;
             var match = expression.Match (list, index);

             Assert.IsTrue (match.Success, "match.Success");
             Assert.AreEqual (index, match.Index, "match.Index");
             Assert.AreEqual (m_digits.Length, match.Length, "match.Length");
             Assert.AreEqual (m_digits.Length, match.Items.Count, "match.Items.Count");
             Assert.AreEqual ("0123456789", new string(match.Items.ToArray ()), "match.Items");
        }
        public void MatchAInFirst100FindsMatchForAllCharacters()
        {
            var expression =
            new ListExpression<char> (
               new StartExpression<char> (),
               new RepeatExpression<char> (
                  new NotClass<char> (m_A),
                  0, 100),
                  m_A);

             int index = 0;
             int length = (int)'A' + 1;
             var list = AllCharacters;
             var match = expression.Match (list, index);

             Assert.IsTrue (match.Success, "match.Success");
             Assert.AreEqual (index, match.Index, "match.Index");
             Assert.AreEqual (length, match.Length, "match.Length");
             Assert.AreEqual (length, match.Items.Count, "match.Items.Count");
        }