public void GetPossibleMatchLengths_For_Start_2_3to5_2_2or8_2_End()
 {
     var expected = new int [] {11,17,12,18,13,19};
      var expression = new ListExpression<char> (new StartExpression<char> (), MatchLength2, MatchLengths3to5, MatchLength2, MatchLengths2or8, MatchLength2, new EndExpression<char> ());
      expression.AssertPossibleMatchLengths (expected);
 }
 public void GetPossibleMatchLengths_For_2or8_3to5()
 {
     var expected = new int [] {5,6,7,11,12,13};
      var expression = new ListExpression<char> (MatchLengths2or8,MatchLengths3to5);
      expression.AssertPossibleMatchLengths (expected);
 }
 public void GetPossibleMatchLengths_ForEmptyAlternation()
 {
     var expected = new int [] {0};
      var expression = new ListExpression<char> (new AlternationExpression<char>());
      expression.AssertPossibleMatchLengths (expected);
 }
 public void GetPossibleMatchLengths_For_22222()
 {
     var expected = new int [] {10};
      var expression = new ListExpression<char> (MatchLength2, MatchLength2, MatchLength2, MatchLength2, MatchLength2);
      expression.AssertPossibleMatchLengths (expected);
 }
 public void GetPossibleMatchLengths_For123()
 {
     var expected = new int [] {6};
      var expression = new ListExpression<char> (MatchLength1, MatchLength2, MatchLength3);
      expression.AssertPossibleMatchLengths (expected);
 }