public void TestCase(string input, int[] expectedMaximalSuffixes) { var maximalSuffixCalculator = new MaximalSuffixCalculator(input, new CharLessComparer()); var maximalSuffixes = new int[input.Length]; for (var i = 0; i < input.Length; i++) { maximalSuffixCalculator.Calculate(i + 1); maximalSuffixes[i] = maximalSuffixCalculator.MaximalSuffixPosition; } Assert.That(maximalSuffixes, Is.EquivalentTo(expectedMaximalSuffixes)); }
public PrefixFactorizer([NotNull] string word) { maximalSuffixCalculatorForLess = new MaximalSuffixCalculator(word, new CharLessComparer()); maximalSuffixCalculatorForGreater = new MaximalSuffixCalculator(word, new CharGreaterComparer()); }