예제 #1
0
        /// <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));
        }
예제 #2
0
        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();
 }