/// <inheritdoc /> protected override void Execute(Context context) { var settings = new StringComparisonSettings { CaseSensitive = CaseSensitive.Get(context), AccentSensitive = AccentSensitive.Get(context) }; var result = StringComparisons.JaroWinklerDistance(String1.Get(context), String2.Get(context), settings); Result.Set(context, (int)Math.Round(result * 100)); }
public void Cases() { var actual = StringComparisons.JaroWinklerDistance("Test", "test", new StringComparisonSettings { CaseSensitive = true }); Assert.AreEqual(0.83, Math.Round(actual, 2)); actual = StringComparisons.JaroWinklerDistance("Test", "test"); Assert.AreEqual(1, Math.Round(actual, 2)); actual = StringComparisons.JaroWinklerDistance("TEST", "TEST"); Assert.AreEqual(1, actual); actual = StringComparisons.JaroWinklerDistance("Тест", "тест"); Assert.AreEqual(1, Math.Round(actual, 2)); actual = Data.Comparisons.StringComparisons.JaroWinklerDistance("Тест", "тест", new StringComparisonSettings { CaseSensitive = true }); Assert.AreEqual(0.83, Math.Round(actual, 2)); actual = StringComparisons.JaroWinklerDistance("ТЕСТ", "ТЕСТ"); Assert.AreEqual(1, actual); actual = StringComparisons.JaroWinklerDistance("ТЁСТ", "ТЕСТ"); Assert.AreEqual(1, Math.Round(actual, 2)); actual = StringComparisons.JaroWinklerDistance("Ёжик", "Ежик"); Assert.AreEqual(1, Math.Round(actual, 2)); actual = StringComparisons.JaroWinklerDistance("Ёжик", "Ежик", new StringComparisonSettings { AccentSensitive = true }); Assert.AreEqual(0.83, Math.Round(actual, 2)); actual = StringComparisons.JaroWinklerDistance("Ёжик", "Ежик", new StringComparisonSettings { CaseSensitive = true }); Assert.AreEqual(1, Math.Round(actual, 2)); actual = StringComparisons.JaroWinklerDistance("Ёжёк", "Ежек", new StringComparisonSettings { CaseSensitive = true }); Assert.AreEqual(1, Math.Round(actual, 2)); }
/// <summary> /// Clear all of the string comparisons. /// </summary> public void ClearStringComparisons() { // CLEAR ALL OF THE STRING COMPARISONS. StringComparisons.Clear(); }