summaryrefslogtreecommitdiff
path: root/core/src/test/scala/com/rockymadden/stringmetric/MetricSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/scala/com/rockymadden/stringmetric/MetricSpec.scala')
-rw-r--r--core/src/test/scala/com/rockymadden/stringmetric/MetricSpec.scala56
1 files changed, 56 insertions, 0 deletions
diff --git a/core/src/test/scala/com/rockymadden/stringmetric/MetricSpec.scala b/core/src/test/scala/com/rockymadden/stringmetric/MetricSpec.scala
new file mode 100644
index 0000000..3b9021d
--- /dev/null
+++ b/core/src/test/scala/com/rockymadden/stringmetric/MetricSpec.scala
@@ -0,0 +1,56 @@
+package com.rockymadden.stringmetric
+
+import org.junit.runner.RunWith
+import org.scalatest.junit.JUnitRunner
+
+@RunWith(classOf[JUnitRunner])
+final class MetricSpec extends ScalaTest {
+ import phonetic._
+ import similarity._
+ import Metric._
+ import Transform.StringTransform
+
+ "StringMetric standalone object" should provide {
+ "compare method and companion object pass through" in {
+ StringMetric.compareWithDiceSorensen(1)("testone", "testtwo").get should
+ equal (DiceSorensenMetric(1).compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithHamming("testone", "testtwo").get should
+ equal (HammingMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithJaccard(1)("testone", "testtwo").get should
+ equal (JaccardMetric(1).compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithJaro("testone", "testtwo").get should
+ equal (JaroMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithJaroWinkler("testone", "testtwo").get should
+ equal (JaroWinklerMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithLevenshtein("testone", "testtwo").get should
+ equal (LevenshteinMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithMetaphone("testone", "testtwo").get should
+ equal (MetaphoneMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithNGram(1)("testone", "testtwo").get should
+ equal (NGramMetric(1).compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithNysiis("testone", "testtwo").get should
+ equal (NysiisMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithOverlap(1)("testone", "testtwo").get should
+ equal (OverlapMetric(1).compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithRefinedNysiis("testone", "testtwo").get should
+ equal (RefinedNysiisMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithRefinedSoundex("testone", "testtwo").get should
+ equal (RefinedSoundexMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithSoundex("testone", "testtwo").get should
+ equal (SoundexMetric.compare("testone".toCharArray, "testtwo".toCharArray).get)
+ StringMetric.compareWithWeightedLevenshtein(1, 2, 3)("testone", "testtwo").get should
+ equal (WeightedLevenshteinMetric(1, 2, 3).compare("testone".toCharArray, "testtwo".toCharArray).get)
+ }
+ }
+
+ "StringMetricDecorator" should provide {
+ "withTransform()" in {
+ (MetaphoneMetric withTransform StringTransform.filterAlpha).compare("abc123", "abc456").get should
+ equal (true)
+ (DiceSorensenMetric(1) withTransform StringTransform.filterAlpha).compare("abc123", "abc456").get should
+ equal (1.0)
+
+ (MetaphoneMetric withTransform (StringTransform.filterAlpha andThen StringTransform.filterUpperCase)).compare("abc123", "abc456")
+ }
+ }
+}