summaryrefslogblamecommitdiff
path: root/core/source/test/scala/org/hashtree/stringmetric/distance/LevenshteinMetricSpec.scala
blob: 07e3a94609b97e6238f402c3526f501981581041 (plain) (tree)
1
2
3
                                          
 
                                          


























                                                                                                        
package org.hashtree.stringmetric.distance

import org.hashtree.stringmetric.ScalaTest
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner

@RunWith(classOf[JUnitRunner])
final class LevenshteinMetricSpec extends ScalaTest {
	"LevenshteinMetric" should provide {
		"compare method" when passed {
			"valid arguments" should returns {
				"Int indicating distance" in {
					LevenshteinMetric.compare("", "").isDefined should be (false)

					LevenshteinMetric.compare("abc", "").get should be (3)
					LevenshteinMetric.compare("", "xyz").get should be (3)
					LevenshteinMetric.compare("abc", "abc").get should be (0)
					LevenshteinMetric.compare("abc", "xyz").get should be (3)
					LevenshteinMetric.compare("abc", "a").get should be (2)
					LevenshteinMetric.compare("a", "abc").get should be (2)
					LevenshteinMetric.compare("abc", "c").get should be (2)
					LevenshteinMetric.compare("c", "abc").get should be (2)

					LevenshteinMetric.compare("kitten", "sitting").get should be (3)
					LevenshteinMetric.compare("drake", "cake").get should be (2)
				}
			}
		}
	}
}