using Developpez.Dotnet.Algorithms; using NUnit.Framework; namespace Developpez.Dotnet.Tests.Algorithms { [TestFixture] public class LevenshteinTests { [Test] public void ComputeDistance_CaseSensitive() { Assert.AreEqual(3, Levenshtein.ComputeDistance("kitten", "sitting", true)); Assert.AreEqual(3, Levenshtein.ComputeDistance("Kitten", "Sitting", true)); Assert.AreEqual(1, Levenshtein.ComputeDistance("kitten", "kittens", true)); Assert.AreEqual(7, Levenshtein.ComputeDistance("KITTEN", "kittens", true)); Assert.AreEqual(4, Levenshtein.ComputeDistance("kitTen", "Sitting", true)); Assert.AreEqual(4, Levenshtein.ComputeDistance("kitTen", "sitting", true)); } [Test] public void ComputeDistance_CaseInSensitive() { Assert.AreEqual(3, Levenshtein.ComputeDistance("kitten", "sitting", false)); Assert.AreEqual(1, Levenshtein.ComputeDistance("kitten", "kittens", false)); Assert.AreEqual(1, Levenshtein.ComputeDistance("KITTEN", "kittens", false)); Assert.AreEqual(3, Levenshtein.ComputeDistance("Kitten", "Sitting", false)); Assert.AreEqual(3, Levenshtein.ComputeDistance("kitTen", "Sitting", false)); Assert.AreEqual(3, Levenshtein.ComputeDistance("kitTen", "sitting", false)); } [Test] public void ComputeCorrelation_CaseInSensitive() { Assert.AreEqual(0.5714285714285714d, Levenshtein.ComputeCorrelation("kitten", "sitting", false)); Assert.AreEqual(0.5714285714285714d, Levenshtein.ComputeCorrelation("Kitten", "Sitting", false)); Assert.AreEqual(0.5714285714285714d, Levenshtein.ComputeCorrelation("kitTen", "Sitting", false)); Assert.AreEqual(0, Levenshtein.ComputeCorrelation("kitTen", "dog", false)); Assert.AreEqual(1, Levenshtein.ComputeCorrelation("Kitten", "KITTEN", false)); } [Test] public void ComputeCorrelation_CaseSensitive() { Assert.AreEqual(0.5714285714285714d, Levenshtein.ComputeCorrelation("kitten", "sitting", true)); Assert.AreEqual(0.16666666666666663d, Levenshtein.ComputeCorrelation("Kitten", "KITTEN", true)); Assert.AreEqual(0, Levenshtein.ComputeCorrelation("kitten", "KITTEN", true)); Assert.AreEqual(0.4285714285714286d, Levenshtein.ComputeCorrelation("kitTen", "Sitting", true)); Assert.AreEqual(0.4285714285714286d, Levenshtein.ComputeCorrelation("kitTen", "sitting", true)); } } }