summaryrefslogtreecommitdiff
path: root/cli/src/test/scala/com/rockymadden/stringmetric/cli/similarity/weightedlevenshteinmetricSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'cli/src/test/scala/com/rockymadden/stringmetric/cli/similarity/weightedlevenshteinmetricSpec.scala')
-rwxr-xr-xcli/src/test/scala/com/rockymadden/stringmetric/cli/similarity/weightedlevenshteinmetricSpec.scala121
1 files changed, 121 insertions, 0 deletions
diff --git a/cli/src/test/scala/com/rockymadden/stringmetric/cli/similarity/weightedlevenshteinmetricSpec.scala b/cli/src/test/scala/com/rockymadden/stringmetric/cli/similarity/weightedlevenshteinmetricSpec.scala
new file mode 100755
index 0000000..568f583
--- /dev/null
+++ b/cli/src/test/scala/com/rockymadden/stringmetric/cli/similarity/weightedlevenshteinmetricSpec.scala
@@ -0,0 +1,121 @@
+package com.rockymadden.stringmetric.cli.similarity
+
+import com.rockymadden.stringmetric.cli.ScalaTest
+import org.junit.runner.RunWith
+import org.scalatest.junit.JUnitRunner
+
+@RunWith(classOf[JUnitRunner])
+final class weightedlevenshteinmetricSpec extends ScalaTest { "weightedlevenshteinmetric" should provide {
+ "main method" when passed {
+ "valid dashless arguments and valid weight arguments" should executes {
+ "print if they are a match" in {
+ val out = new java.io.ByteArrayOutputStream()
+
+ Console.withOut(out)(
+ weightedlevenshteinmetric.main(
+ Array(
+ "--unitTest",
+ "--debug",
+ "--deleteWeight=1",
+ "--insertWeight=1",
+ "--substituteWeight=1",
+ "abc",
+ "abc"
+ )
+ )
+ )
+
+ out.toString should equal ("0.0\n")
+ out.reset()
+
+ Console.withOut(out)(
+ weightedlevenshteinmetric.main(
+ Array(
+ "--unitTest",
+ "--debug",
+ "--deleteWeight=2",
+ "--insertWeight=2",
+ "--substituteWeight=1",
+ "abc",
+ "xyz"
+ )
+ )
+ )
+
+ out.toString should equal ("3.0\n")
+ out.reset()
+
+ Console.withOut(out)(
+ weightedlevenshteinmetric.main(
+ Array(
+ "--unitTest",
+ "--debug",
+ "--deleteWeight=2",
+ "--insertWeight=1",
+ "--substituteWeight=2",
+ "xyz",
+ "xyzxyz"
+ )
+ )
+ )
+
+ out.toString should equal ("3.0\n")
+ out.reset()
+
+ Console.withOut(out)(
+ weightedlevenshteinmetric.main(
+ Array(
+ "--unitTest",
+ "--debug",
+ "--deleteWeight=1",
+ "--insertWeight=2",
+ "--substituteWeight=2",
+ "xyzxyz",
+ "xyz"
+ )
+ )
+ )
+
+ out.toString should equal ("3.0\n")
+ out.reset()
+ }
+ }
+ "valid dashless arguments and invalid weight arguments" should throws {
+ "IllegalArgumentException" in {
+ evaluating {
+ weightedlevenshteinmetric.main(
+ Array(
+ "--unitTest",
+ "--debug",
+ "--deleteWeight=1",
+ "--substituteWeight=1",
+ "abc",
+ "abc"
+ )
+ )
+ } should produce [IllegalArgumentException]
+
+ evaluating {
+ weightedlevenshteinmetric.main(
+ Array(
+ "--unitTest",
+ "--debug",
+ "--deleteWeight=1",
+ "--insertWeight=q",
+ "--substituteWeight=1",
+ "abc",
+ "abc"
+ )
+ )
+ } should produce [IllegalArgumentException]
+ }
+ }
+ "no dashless arguments" should throws {
+ "IllegalArgumentException" in {
+ evaluating {
+ weightedlevenshteinmetric.main(Array("--unitTest", "--debug"))
+ } should produce [IllegalArgumentException]
+ }
+ }
+ }
+}}