public void TestCompares(string x, string y, int expectedResult) { var comparer = new PrefixStringComparer(); var result = comparer.Compare(x, y); result.Should().Be(expectedResult); }
public void Throw_ArgumentException_If_Passed_Values_Is_Null(string x, string y) { var comparer = new PrefixStringComparer(); Action compareAction = () => comparer.Compare(x, y); compareAction.Should().Throw <ArgumentException>().And.Message.Should().Be("Passed string could not be null"); }
public void Can_Get_Range_Value_By_Prefix_Comparer() { var stringComparer = StringComparer.Ordinal; var prefixComparer = new PrefixStringComparer(); var suffixArray = new SuffixArray <string, int>(); int[] value; suffixArray.TryAdd("_test", 1, stringComparer); suffixArray.TryAdd("_est", 2, stringComparer); suffixArray.TryAdd("test", 3, stringComparer); suffixArray.TryAdd("zone", 4, stringComparer); suffixArray.TryAdd("z", 5, stringComparer); suffixArray.TryGetRangeValue("_", out value, prefixComparer).Should().BeTrue(); value.Should().BeEquivalentTo(1, 2); suffixArray.TryGetRangeValue("z", out value, prefixComparer).Should().BeTrue(); value.Should().BeEquivalentTo(4, 5); suffixArray.TryGetRangeValue("not_exists", out value, prefixComparer).Should().BeFalse(); }