public void TestCosineSimilarityWithDifferentValues() { this.TestRange(0.9.ToPercentValue(), Similarity.CalculateCosineSimilarity("test", "test2"), 1.ToPercentValue()); this.TestRange(0.8.ToPercentValue(), Similarity.CalculateCosineSimilarity("test1", "test2"), 0.9.ToPercentValue()); Assert.AreEqual(0, Similarity.CalculateCosineSimilarity("test", string.Empty).Value); Assert.AreEqual(0, Similarity.CalculateCosineSimilarity(string.Empty, "test").Value); Assert.AreEqual(0, Similarity.CalculateCosineSimilarity("test", "a").Value); Assert.AreEqual(0, Similarity.CalculateCosineSimilarity("a", "test").Value); this.TestRange(0.1.ToPercentValue(), Similarity.CalculateCosineSimilarity("test", "aeaa"), 0.2.ToPercentValue()); this.TestRange(0.1.ToPercentValue(), Similarity.CalculateCosineSimilarity("aeaa", "test"), 0.2.ToPercentValue()); Assert.AreEqual(0, Similarity.CalculateCosineSimilarity("abcd", "efgh").Value); this.TestRange(0.1.ToPercentValue(), Similarity.CalculateCosineSimilarity("xx345xxx", "yy345yyy"), 0.2.ToPercentValue()); this.TestRange(0.3.ToPercentValue(), Similarity.CalculateCosineSimilarity("12xxx678", "12yyy678"), 0.4.ToPercentValue()); this.TestRange(0.7.ToPercentValue(), Similarity.CalculateCosineSimilarity("12345678", "1x34567890"), 0.8.ToPercentValue()); }
public void TestCosineSimilarityWithCompletelyDifferentStrings() { Assert.AreEqual(0, Similarity.CalculateCosineSimilarity("abcd", "efgh").Value); }
public void TestCosineSimilarityWithEqualStrings() { string testString = "test"; Assert.AreEqual(1, Similarity.CalculateCosineSimilarity(testString, testString).Value); }