public void GetPossibleMatchLengths_For_3to5_2to3()
 {
     var expected = new int [] {3+3,3+3+3,3+3+4,3+3+5,3+4,3+4+5,3+5,3+5+5,4+5+5,5+5+5};
      var expression = new GreedyRepeatExpression<char> (MatchLengths3to5, 2,3);
      expression.AssertPossibleMatchLengths (expected);
 }
 public void GetPossibleMatchLengths_ForEmpty()
 {
     var expected = new int [] {0};
      var expression = new GreedyRepeatExpression<char> (new AlternationExpression<char>());
      expression.AssertPossibleMatchLengths (expected);
 }
 public void GetPossibleMatchLengths_For_2_3to4()
 {
     var expected = new int [] {6,8};
      var expression = new GreedyRepeatExpression<char> (MatchLength2, 3,4);
      expression.AssertPossibleMatchLengths (expected);
 }
 public void GetPossibleMatchLengths_For1_4to6()
 {
     var expected = new int [] {4,5,6};
      var expression = new GreedyRepeatExpression<char> (MatchLength1, 4, 6);
      expression.AssertPossibleMatchLengths (expected);
 }