summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcli/source/core/scala/org/hashtree/stringmetric/cli/command/metaphoneAlgorithm.scala (renamed from cli/source/core/scala/org/hashtree/stringmetric/cli/command/metaphone.scala)10
-rwxr-xr-xcli/source/core/scala/org/hashtree/stringmetric/cli/command/nysiisAlgorithm.scala (renamed from cli/source/core/scala/org/hashtree/stringmetric/cli/command/nysiis.scala)10
-rwxr-xr-xcli/source/core/scala/org/hashtree/stringmetric/cli/command/refinedSoundexAlgorithm.scala (renamed from cli/source/core/scala/org/hashtree/stringmetric/cli/command/refinedSoundex.scala)10
-rwxr-xr-xcli/source/core/scala/org/hashtree/stringmetric/cli/command/soundexAlgorithm.scala (renamed from cli/source/core/scala/org/hashtree/stringmetric/cli/command/soundex.scala)10
-rwxr-xr-xcli/source/test/scala/org/hashtree/stringmetric/cli/command/metaphoneAlgorithmSpec.scala (renamed from cli/source/test/scala/org/hashtree/stringmetric/cli/command/metaphoneSpec.scala)10
-rwxr-xr-xcli/source/test/scala/org/hashtree/stringmetric/cli/command/nysiisAlgorithmSpec.scala (renamed from cli/source/test/scala/org/hashtree/stringmetric/cli/command/nysiisSpec.scala)10
-rwxr-xr-xcli/source/test/scala/org/hashtree/stringmetric/cli/command/refinedSoundexAlgorithmSpec.scala (renamed from cli/source/test/scala/org/hashtree/stringmetric/cli/command/refinedSoundexSpec.scala)10
-rwxr-xr-xcli/source/test/scala/org/hashtree/stringmetric/cli/command/soundexAlgorithmSpec.scala (renamed from cli/source/test/scala/org/hashtree/stringmetric/cli/command/soundexSpec.scala)10
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithm.scala (renamed from core/source/core/scala/org/hashtree/stringmetric/phonetic/Metaphone.scala)2
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/phonetic/MetaphoneMetric.scala4
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/phonetic/NysiisAlgorithm.scala (renamed from core/source/core/scala/org/hashtree/stringmetric/phonetic/Nysiis.scala)2
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/phonetic/NysiisMetric.scala4
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexAlgorithm.scala (renamed from core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundex.scala)2
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexMetric.scala4
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/phonetic/SoundexAlgorithm.scala (renamed from core/source/core/scala/org/hashtree/stringmetric/phonetic/Soundex.scala)2
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/phonetic/SoundexMetric.scala4
-rwxr-xr-xcore/source/test/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmSpec.scala213
-rwxr-xr-xcore/source/test/scala/org/hashtree/stringmetric/phonetic/MetaphoneSpec.scala213
-rwxr-xr-xcore/source/test/scala/org/hashtree/stringmetric/phonetic/NysiisAlgorithmSpec.scala163
-rwxr-xr-xcore/source/test/scala/org/hashtree/stringmetric/phonetic/NysiisSpec.scala163
-rwxr-xr-xcore/source/test/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexAlgorithmSpec.scala54
-rwxr-xr-xcore/source/test/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexSpec.scala54
-rwxr-xr-xcore/source/test/scala/org/hashtree/stringmetric/phonetic/SoundexAlgorithmSpec.scala54
-rwxr-xr-xcore/source/test/scala/org/hashtree/stringmetric/phonetic/SoundexSpec.scala54
-rwxr-xr-xreadme.md44
25 files changed, 562 insertions, 554 deletions
diff --git a/cli/source/core/scala/org/hashtree/stringmetric/cli/command/metaphone.scala b/cli/source/core/scala/org/hashtree/stringmetric/cli/command/metaphoneAlgorithm.scala
index c915a84..50f2e8f 100755
--- a/cli/source/core/scala/org/hashtree/stringmetric/cli/command/metaphone.scala
+++ b/cli/source/core/scala/org/hashtree/stringmetric/cli/command/metaphoneAlgorithm.scala
@@ -3,13 +3,13 @@ package org.hashtree.stringmetric.cli.command
import org.hashtree.stringmetric.StringFilterDelegate
import org.hashtree.stringmetric.cli._
import org.hashtree.stringmetric.cli.command._
-import org.hashtree.stringmetric.phonetic.Metaphone
+import org.hashtree.stringmetric.phonetic.MetaphoneAlgorithm
/**
- * The Metaphone [[org.hashtree.stringmetric.cli.command.Command]]. Returns the phonetic representation of the
+ * The metaphoneAlgorithm [[org.hashtree.stringmetric.cli.command.Command]]. Returns the phonetic representation of the
* passed string, per the Metaphone algorithm.
*/
-object metaphone extends Command {
+object metaphoneAlgorithm extends Command {
override def main(args: Array[String]): Unit = {
val options = OptionMapUtility.toOptionMap(args)
@@ -36,7 +36,7 @@ object metaphone extends Command {
println(
"Returns the phonetic representation of the passed string, per the Metaphone algorithm." + ls + ls +
"Syntax:" + ls +
- tab + "metaphone [Options] string..." + ls + ls +
+ tab + "metaphoneAlgorithm [Options] string..." + ls + ls +
"Options:" + ls +
tab + "-h, --help" + ls +
tab + tab + "Outputs description, syntax, and options."
@@ -45,7 +45,7 @@ object metaphone extends Command {
override def execute(options: OptionMap): Unit =
println(
- Metaphone.compute(
+ MetaphoneAlgorithm.compute(
options('dashless)
)(new StringFilterDelegate).getOrElse("not computable").toString
)
diff --git a/cli/source/core/scala/org/hashtree/stringmetric/cli/command/nysiis.scala b/cli/source/core/scala/org/hashtree/stringmetric/cli/command/nysiisAlgorithm.scala
index f9f624e..b4f4130 100755
--- a/cli/source/core/scala/org/hashtree/stringmetric/cli/command/nysiis.scala
+++ b/cli/source/core/scala/org/hashtree/stringmetric/cli/command/nysiisAlgorithm.scala
@@ -3,13 +3,13 @@ package org.hashtree.stringmetric.cli.command
import org.hashtree.stringmetric.StringFilterDelegate
import org.hashtree.stringmetric.cli._
import org.hashtree.stringmetric.cli.command._
-import org.hashtree.stringmetric.phonetic.Nysiis
+import org.hashtree.stringmetric.phonetic.NysiisAlgorithm
/**
- * The NYSIIS [[org.hashtree.stringmetric.cli.command.Command]]. Returns the phonetic representation of the
+ * The nysiisAlgorithm [[org.hashtree.stringmetric.cli.command.Command]]. Returns the phonetic representation of the
* passed string, per the NYSIIS algorithm.
*/
-object nysiis extends Command {
+object nysiisAlgorithm extends Command {
override def main(args: Array[String]): Unit = {
val options = OptionMapUtility.toOptionMap(args)
@@ -36,7 +36,7 @@ object nysiis extends Command {
println(
"Returns the phonetic representation of the passed string, per the NYSIIS algorithm." + ls + ls +
"Syntax:" + ls +
- tab + "nysiis [Options] string..." + ls + ls +
+ tab + "nysiisAlgorithm [Options] string..." + ls + ls +
"Options:" + ls +
tab + "-h, --help" + ls +
tab + tab + "Outputs description, syntax, and options."
@@ -45,7 +45,7 @@ object nysiis extends Command {
override def execute(options: OptionMap): Unit =
println(
- Nysiis.compute(
+ NysiisAlgorithm.compute(
options('dashless)
)(new StringFilterDelegate).getOrElse("not computable").toString
)
diff --git a/cli/source/core/scala/org/hashtree/stringmetric/cli/command/refinedSoundex.scala b/cli/source/core/scala/org/hashtree/stringmetric/cli/command/refinedSoundexAlgorithm.scala
index f1b4123..d935e71 100755
--- a/cli/source/core/scala/org/hashtree/stringmetric/cli/command/refinedSoundex.scala
+++ b/cli/source/core/scala/org/hashtree/stringmetric/cli/command/refinedSoundexAlgorithm.scala
@@ -3,13 +3,13 @@ package org.hashtree.stringmetric.cli.command
import org.hashtree.stringmetric.StringFilterDelegate
import org.hashtree.stringmetric.cli._
import org.hashtree.stringmetric.cli.command._
-import org.hashtree.stringmetric.phonetic.RefinedSoundex
+import org.hashtree.stringmetric.phonetic.RefinedSoundexAlgorithm
/**
- * The refined Soundex [[org.hashtree.stringmetric.cli.command.Command]]. Returns the phonetic representation of the
+ * The refinedSoundexAlgorithm [[org.hashtree.stringmetric.cli.command.Command]]. Returns the phonetic representation of the
* passed string, per the refined Soundex algorithm.
*/
-object refinedSoundex extends Command {
+object refinedSoundexAlgorithm extends Command {
override def main(args: Array[String]): Unit = {
val options = OptionMapUtility.toOptionMap(args)
@@ -36,7 +36,7 @@ object refinedSoundex extends Command {
println(
"Returns the phonetic representation of the passed string, per the refined Soundex algorithm." + ls + ls +
"Syntax:" + ls +
- tab + "refinedSoundex [Options] string..." + ls + ls +
+ tab + "refinedSoundexAlgorithm [Options] string..." + ls + ls +
"Options:" + ls +
tab + "-h, --help" + ls +
tab + tab + "Outputs description, syntax, and options."
@@ -45,7 +45,7 @@ object refinedSoundex extends Command {
override def execute(options: OptionMap): Unit =
println(
- RefinedSoundex.compute(
+ RefinedSoundexAlgorithm.compute(
options('dashless)
)(new StringFilterDelegate).getOrElse("not computable").toString
)
diff --git a/cli/source/core/scala/org/hashtree/stringmetric/cli/command/soundex.scala b/cli/source/core/scala/org/hashtree/stringmetric/cli/command/soundexAlgorithm.scala
index 0a2ed0b..ba64498 100755
--- a/cli/source/core/scala/org/hashtree/stringmetric/cli/command/soundex.scala
+++ b/cli/source/core/scala/org/hashtree/stringmetric/cli/command/soundexAlgorithm.scala
@@ -3,13 +3,13 @@ package org.hashtree.stringmetric.cli.command
import org.hashtree.stringmetric.StringFilterDelegate
import org.hashtree.stringmetric.cli._
import org.hashtree.stringmetric.cli.command._
-import org.hashtree.stringmetric.phonetic.Soundex
+import org.hashtree.stringmetric.phonetic.SoundexAlgorithm
/**
- * The Soundex [[org.hashtree.stringmetric.cli.command.Command]]. Returns the phonetic representation of the
+ * The soundexAlgorithm [[org.hashtree.stringmetric.cli.command.Command]]. Returns the phonetic representation of the
* passed string, per the Soundex algorithm.
*/
-object soundex extends Command {
+object soundexAlgorithm extends Command {
override def main(args: Array[String]): Unit = {
val options = OptionMapUtility.toOptionMap(args)
@@ -36,7 +36,7 @@ object soundex extends Command {
println(
"Returns the phonetic representation of the passed string, per the Soundex algorithm." + ls + ls +
"Syntax:" + ls +
- tab + "soundex [Options] string..." + ls + ls +
+ tab + "soundexAlgorithm [Options] string..." + ls + ls +
"Options:" + ls +
tab + "-h, --help" + ls +
tab + tab + "Outputs description, syntax, and options."
@@ -45,7 +45,7 @@ object soundex extends Command {
override def execute(options: OptionMap): Unit =
println(
- Soundex.compute(
+ SoundexAlgorithm.compute(
options('dashless)
)(new StringFilterDelegate).getOrElse("not computable").toString
)
diff --git a/cli/source/test/scala/org/hashtree/stringmetric/cli/command/metaphoneSpec.scala b/cli/source/test/scala/org/hashtree/stringmetric/cli/command/metaphoneAlgorithmSpec.scala
index 38b07fb..5de40e4 100755
--- a/cli/source/test/scala/org/hashtree/stringmetric/cli/command/metaphoneSpec.scala
+++ b/cli/source/test/scala/org/hashtree/stringmetric/cli/command/metaphoneAlgorithmSpec.scala
@@ -5,22 +5,22 @@ import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
-final class metaphoneSpec extends ScalaTest {
- "metaphone" should provide {
+final class metaphoneAlgorithmSpec extends ScalaTest {
+ "metaphoneAlgorithm" should provide {
"main method" when passed {
"valid dashless argument" should executes {
"print phonetic representation" in {
val out = new java.io.ByteArrayOutputStream()
Console.withOut(out)(
- metaphone.main(Array("--unitTest", "--debug", "aBc"))
+ metaphoneAlgorithm.main(Array("--unitTest", "--debug", "aBc"))
)
out.toString should equal ("abk\n")
out.reset()
Console.withOut(out)(
- metaphone.main(Array("--unitTest", "--debug", "1"))
+ metaphoneAlgorithm.main(Array("--unitTest", "--debug", "1"))
)
out.toString should equal ("not computable\n")
@@ -30,7 +30,7 @@ final class metaphoneSpec extends ScalaTest {
"no dashless argument" should throws {
"IllegalArgumentException" in {
evaluating {
- metaphone.main(Array("--unitTest", "--debug"))
+ metaphoneAlgorithm.main(Array("--unitTest", "--debug"))
} should produce [IllegalArgumentException]
}
}
diff --git a/cli/source/test/scala/org/hashtree/stringmetric/cli/command/nysiisSpec.scala b/cli/source/test/scala/org/hashtree/stringmetric/cli/command/nysiisAlgorithmSpec.scala
index eddf3da..957a098 100755
--- a/cli/source/test/scala/org/hashtree/stringmetric/cli/command/nysiisSpec.scala
+++ b/cli/source/test/scala/org/hashtree/stringmetric/cli/command/nysiisAlgorithmSpec.scala
@@ -5,22 +5,22 @@ import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
-final class nysiisSpec extends ScalaTest {
- "nysiis" should provide {
+final class nysiisAlgorithmSpec extends ScalaTest {
+ "nysiisAlgorithm" should provide {
"main method" when passed {
"valid dashless argument" should executes {
"print phonetic representation" in {
val out = new java.io.ByteArrayOutputStream()
Console.withOut(out)(
- nysiis.main(Array("--unitTest", "--debug", "aBc"))
+ nysiisAlgorithm.main(Array("--unitTest", "--debug", "aBc"))
)
out.toString should equal ("abc\n")
out.reset()
Console.withOut(out)(
- nysiis.main(Array("--unitTest", "--debug", "1"))
+ nysiisAlgorithm.main(Array("--unitTest", "--debug", "1"))
)
out.toString should equal ("not computable\n")
@@ -30,7 +30,7 @@ final class nysiisSpec extends ScalaTest {
"no dashless argument" should throws {
"IllegalArgumentException" in {
evaluating {
- nysiis.main(Array("--unitTest", "--debug"))
+ nysiisAlgorithm.main(Array("--unitTest", "--debug"))
} should produce [IllegalArgumentException]
}
}
diff --git a/cli/source/test/scala/org/hashtree/stringmetric/cli/command/refinedSoundexSpec.scala b/cli/source/test/scala/org/hashtree/stringmetric/cli/command/refinedSoundexAlgorithmSpec.scala
index ae338d1..d8c9ce6 100755
--- a/cli/source/test/scala/org/hashtree/stringmetric/cli/command/refinedSoundexSpec.scala
+++ b/cli/source/test/scala/org/hashtree/stringmetric/cli/command/refinedSoundexAlgorithmSpec.scala
@@ -5,22 +5,22 @@ import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
-final class refinedSoundexSpec extends ScalaTest {
- "refinedSoundex" should provide {
+final class refinedSoundexAlgorithmSpec extends ScalaTest {
+ "refinedSoundexAlgorithm" should provide {
"main method" when passed {
"valid dashless argument" should executes {
"print phonetic representation" in {
val out = new java.io.ByteArrayOutputStream()
Console.withOut(out)(
- refinedSoundex.main(Array("--unitTest", "--debug", "aBc"))
+ refinedSoundexAlgorithm.main(Array("--unitTest", "--debug", "aBc"))
)
out.toString should equal ("a013\n")
out.reset()
Console.withOut(out)(
- refinedSoundex.main(Array("--unitTest", "--debug", "1"))
+ refinedSoundexAlgorithm.main(Array("--unitTest", "--debug", "1"))
)
out.toString should equal ("not computable\n")
@@ -30,7 +30,7 @@ final class refinedSoundexSpec extends ScalaTest {
"no dashless argument" should throws {
"IllegalArgumentException" in {
evaluating {
- refinedSoundex.main(Array("--unitTest", "--debug"))
+ refinedSoundexAlgorithm.main(Array("--unitTest", "--debug"))
} should produce [IllegalArgumentException]
}
}
diff --git a/cli/source/test/scala/org/hashtree/stringmetric/cli/command/soundexSpec.scala b/cli/source/test/scala/org/hashtree/stringmetric/cli/command/soundexAlgorithmSpec.scala
index c25191a..05ba8ae 100755
--- a/cli/source/test/scala/org/hashtree/stringmetric/cli/command/soundexSpec.scala
+++ b/cli/source/test/scala/org/hashtree/stringmetric/cli/command/soundexAlgorithmSpec.scala
@@ -5,22 +5,22 @@ import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
-final class soundexSpec extends ScalaTest {
- "soundex" should provide {
+final class soundexAlgorithmSpec extends ScalaTest {
+ "soundexAlgorithm" should provide {
"main method" when passed {
"valid dashless argument" should executes {
"print phonetic representation" in {
val out = new java.io.ByteArrayOutputStream()
Console.withOut(out)(
- soundex.main(Array("--unitTest", "--debug", "aBc"))
+ soundexAlgorithm.main(Array("--unitTest", "--debug", "aBc"))
)
out.toString should equal ("a120\n")
out.reset()
Console.withOut(out)(
- soundex.main(Array("--unitTest", "--debug", "1"))
+ soundexAlgorithm.main(Array("--unitTest", "--debug", "1"))
)
out.toString should equal ("not computable\n")
@@ -30,7 +30,7 @@ final class soundexSpec extends ScalaTest {
"no dashless argument" should throws {
"IllegalArgumentException" in {
evaluating {
- soundex.main(Array("--unitTest", "--debug"))
+ soundexAlgorithm.main(Array("--unitTest", "--debug"))
} should produce [IllegalArgumentException]
}
}
diff --git a/core/source/core/scala/org/hashtree/stringmetric/phonetic/Metaphone.scala b/core/source/core/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithm.scala
index 557829f..b82a8c7 100755
--- a/core/source/core/scala/org/hashtree/stringmetric/phonetic/Metaphone.scala
+++ b/core/source/core/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithm.scala
@@ -4,7 +4,7 @@ import org.hashtree.stringmetric.{ StringAlgorithm, StringFilter, StringFilterDe
import scala.annotation.tailrec
/** An implementation of the Metaphone [[org.hashtree.stringmetric.StringAlgorithm]]. */
-object Metaphone extends StringAlgorithm {
+object MetaphoneAlgorithm extends StringAlgorithm {
override def compute(charArray: Array[Char])(implicit stringFilter: StringFilter): Option[Array[Char]] = {
val ca = stringFilter.filter(charArray)
diff --git a/core/source/core/scala/org/hashtree/stringmetric/phonetic/MetaphoneMetric.scala b/core/source/core/scala/org/hashtree/stringmetric/phonetic/MetaphoneMetric.scala
index 73f48af..6bdc130 100755
--- a/core/source/core/scala/org/hashtree/stringmetric/phonetic/MetaphoneMetric.scala
+++ b/core/source/core/scala/org/hashtree/stringmetric/phonetic/MetaphoneMetric.scala
@@ -10,8 +10,8 @@ object MetaphoneMetric extends StringMetric {
if (ca1.length == 0 || ca2.length == 0) None
else {
- val mp1 = Metaphone.compute(ca1)
- val mp2 = Metaphone.compute(ca2)
+ val mp1 = MetaphoneAlgorithm.compute(ca1)
+ val mp2 = MetaphoneAlgorithm.compute(ca2)
if (!mp1.isDefined || !mp2.isDefined || (mp1.get.length == 0 && mp2.get.length == 0)) None
else Some(mp1.get.sameElements(mp2.get))
diff --git a/core/source/core/scala/org/hashtree/stringmetric/phonetic/Nysiis.scala b/core/source/core/scala/org/hashtree/stringmetric/phonetic/NysiisAlgorithm.scala
index 6718fb2..67b9552 100755
--- a/core/source/core/scala/org/hashtree/stringmetric/phonetic/Nysiis.scala
+++ b/core/source/core/scala/org/hashtree/stringmetric/phonetic/NysiisAlgorithm.scala
@@ -4,7 +4,7 @@ import org.hashtree.stringmetric.{ StringAlgorithm, StringFilter, StringFilterDe
import scala.annotation.tailrec
/** An implementation of the NYSIIS [[org.hashtree.stringmetric.StringAlgorithm]]. */
-object Nysiis extends StringAlgorithm {
+object NysiisAlgorithm extends StringAlgorithm {
override def compute(charArray: Array[Char])(implicit stringFilter: StringFilter): Option[Array[Char]] = {
val ca = stringFilter.filter(charArray)
diff --git a/core/source/core/scala/org/hashtree/stringmetric/phonetic/NysiisMetric.scala b/core/source/core/scala/org/hashtree/stringmetric/phonetic/NysiisMetric.scala
index 6d4cec1..e8f48d2 100755
--- a/core/source/core/scala/org/hashtree/stringmetric/phonetic/NysiisMetric.scala
+++ b/core/source/core/scala/org/hashtree/stringmetric/phonetic/NysiisMetric.scala
@@ -10,8 +10,8 @@ object NysiisMetric extends StringMetric {
if (ca1.length == 0 || ca2.length == 0) None
else {
- val ny1 = Nysiis.compute(ca1)
- val ny2 = Nysiis.compute(ca2)
+ val ny1 = NysiisAlgorithm.compute(ca1)
+ val ny2 = NysiisAlgorithm.compute(ca2)
if (!ny1.isDefined || !ny2.isDefined || (ny1.get.length == 0 && ny2.get.length == 0)) None
else Some(ny1.get.sameElements(ny2.get))
diff --git a/core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundex.scala b/core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexAlgorithm.scala
index 8443a5f..df03712 100755
--- a/core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundex.scala
+++ b/core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexAlgorithm.scala
@@ -4,7 +4,7 @@ import org.hashtree.stringmetric.{ StringAlgorithm, StringFilter, StringFilterDe
import scala.annotation.tailrec
/** An implementation of the refined Soundex [[org.hashtree.stringmetric.StringAlgorithm]]. */
-object RefinedSoundex extends StringAlgorithm {
+object RefinedSoundexAlgorithm extends StringAlgorithm {
override def compute(charArray: Array[Char])(implicit stringFilter: StringFilter): Option[Array[Char]] = {
val ca = stringFilter.filter(charArray)
diff --git a/core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexMetric.scala b/core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexMetric.scala
index 0c233b0..7c5f012 100755
--- a/core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexMetric.scala
+++ b/core/source/core/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexMetric.scala
@@ -10,8 +10,8 @@ object RefinedSoundexMetric extends StringMetric {
if (ca1.length == 0 || ca2.length == 0) None
else {
- val rse1 = RefinedSoundex.compute(ca1)
- val rse2 = RefinedSoundex.compute(ca2)
+ val rse1 = RefinedSoundexAlgorithm.compute(ca1)
+ val rse2 = RefinedSoundexAlgorithm.compute(ca2)
if (!rse1.isDefined || !rse2.isDefined || (rse1.get.length == 0 && rse2.get.length == 0)) None
else Some(rse1.get.sameElements(rse2.get))
diff --git a/core/source/core/scala/org/hashtree/stringmetric/phonetic/Soundex.scala b/core/source/core/scala/org/hashtree/stringmetric/phonetic/SoundexAlgorithm.scala
index 8d1a783..579e677 100755
--- a/core/source/core/scala/org/hashtree/stringmetric/phonetic/Soundex.scala
+++ b/core/source/core/scala/org/hashtree/stringmetric/phonetic/SoundexAlgorithm.scala
@@ -4,7 +4,7 @@ import org.hashtree.stringmetric.{ StringAlgorithm, StringFilter, StringFilterDe
import scala.annotation.tailrec
/** An implementation of the Soundex [[org.hashtree.stringmetric.StringAlgorithm]]. */
-object Soundex extends StringAlgorithm {
+object SoundexAlgorithm extends StringAlgorithm {
override def compute(charArray: Array[Char])(implicit stringFilter: StringFilter): Option[Array[Char]] = {
val ca = stringFilter.filter(charArray)
diff --git a/core/source/core/scala/org/hashtree/stringmetric/phonetic/SoundexMetric.scala b/core/source/core/scala/org/hashtree/stringmetric/phonetic/SoundexMetric.scala
index 439cf14..7cd9939 100755
--- a/core/source/core/scala/org/hashtree/stringmetric/phonetic/SoundexMetric.scala
+++ b/core/source/core/scala/org/hashtree/stringmetric/phonetic/SoundexMetric.scala
@@ -10,8 +10,8 @@ object SoundexMetric extends StringMetric {
if (ca1.length == 0 || ca2.length == 0) None
else {
- val se1 = Soundex.compute(ca1)
- val se2 = Soundex.compute(ca2)
+ val se1 = SoundexAlgorithm.compute(ca1)
+ val se2 = SoundexAlgorithm.compute(ca2)
if (!se1.isDefined || !se2.isDefined || (se1.get.length == 0 && se2.get.length == 0)) None
else Some(se1.get.sameElements(se2.get))
diff --git a/core/source/test/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmSpec.scala b/core/source/test/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmSpec.scala
new file mode 100755
index 0000000..1df8ff3
--- /dev/null
+++ b/core/source/test/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmSpec.scala
@@ -0,0 +1,213 @@
+package org.hashtree.stringmetric.phonetic
+
+import org.hashtree.stringmetric.ScalaTest
+import org.junit.runner.RunWith
+import org.scalatest.junit.JUnitRunner
+
+@RunWith(classOf[JUnitRunner])
+final class MetaphoneAlgorithmSpec extends ScalaTest {
+ "MetaphoneAlgorithm" should provide {
+ "compute method" when passed {
+ "empty argument" should returns {
+ "None" in {
+ MetaphoneAlgorithm.compute("").isDefined should be (false)
+ }
+ }
+ "non-phonetic argument" should returns {
+ "None" in {
+ MetaphoneAlgorithm.compute("123").isDefined should be (false)
+ }
+ }
+ "phonetic argument" should returns {
+ "Some" in {
+ // z
+ MetaphoneAlgorithm.compute("z").get should equal ("s")
+ MetaphoneAlgorithm.compute("zz").get should equal ("s")
+
+ // y
+ MetaphoneAlgorithm.compute("y").isDefined should be (false)
+ MetaphoneAlgorithm.compute("zy").get should equal ("s")
+ MetaphoneAlgorithm.compute("zyz").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zya").get should equal ("sy")
+
+ // x
+ MetaphoneAlgorithm.compute("x").get should equal ("s")
+ MetaphoneAlgorithm.compute("zx").get should equal ("sks")
+ MetaphoneAlgorithm.compute("zxz").get should equal ("skss")
+
+ // w
+ MetaphoneAlgorithm.compute("w").isDefined should be (false)
+ MetaphoneAlgorithm.compute("zw").get should equal ("s")
+ MetaphoneAlgorithm.compute("zwz").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zwa").get should equal ("sw")
+
+ // v
+ MetaphoneAlgorithm.compute("v").get should equal ("f")
+ MetaphoneAlgorithm.compute("zv").get should equal ("sf")
+ MetaphoneAlgorithm.compute("zvz").get should equal ("sfs")
+
+ // u
+ MetaphoneAlgorithm.compute("u").get should equal ("u")
+ MetaphoneAlgorithm.compute("zu").get should equal ("s")
+
+ // t
+ MetaphoneAlgorithm.compute("t").get should equal ("t")
+ MetaphoneAlgorithm.compute("ztiaz").get should equal ("sxs")
+ MetaphoneAlgorithm.compute("ztioz").get should equal ("sxs")
+ MetaphoneAlgorithm.compute("zthz").get should equal ("s0s")
+ MetaphoneAlgorithm.compute("ztchz").get should equal ("sxs")
+ MetaphoneAlgorithm.compute("ztz").get should equal ("sts")
+
+ // s
+ MetaphoneAlgorithm.compute("s").get should equal ("s")
+ MetaphoneAlgorithm.compute("zshz").get should equal ("sxs")
+ MetaphoneAlgorithm.compute("zsioz").get should equal ("sxs")
+ MetaphoneAlgorithm.compute("zsiaz").get should equal ("sxs")
+ MetaphoneAlgorithm.compute("zs").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zsz").get should equal ("sss")
+
+ // r
+ MetaphoneAlgorithm.compute("r").get should equal ("r")
+ MetaphoneAlgorithm.compute("zr").get should equal ("sr")
+ MetaphoneAlgorithm.compute("zrz").get should equal ("srs")
+
+ // q
+ MetaphoneAlgorithm.compute("q").get should equal ("k")
+ MetaphoneAlgorithm.compute("zq").get should equal ("sk")
+ MetaphoneAlgorithm.compute("zqz").get should equal ("sks")
+
+ // p
+ MetaphoneAlgorithm.compute("p").get should equal ("p")
+ MetaphoneAlgorithm.compute("zp").get should equal ("sp")
+ MetaphoneAlgorithm.compute("zph").get should equal ("sf")
+ MetaphoneAlgorithm.compute("zpz").get should equal ("sps")
+
+ // o
+ MetaphoneAlgorithm.compute("o").get should equal ("o")
+ MetaphoneAlgorithm.compute("zo").get should equal ("s")
+
+ // n
+ MetaphoneAlgorithm.compute("n").get should equal ("n")
+ MetaphoneAlgorithm.compute("zn").get should equal ("sn")
+ MetaphoneAlgorithm.compute("znz").get should equal ("sns")
+
+ // m
+ MetaphoneAlgorithm.compute("m").get should equal ("m")
+ MetaphoneAlgorithm.compute("zm").get should equal ("sm")
+ MetaphoneAlgorithm.compute("zmz").get should equal ("sms")
+
+ // l
+ MetaphoneAlgorithm.compute("l").get should equal ("l")
+ MetaphoneAlgorithm.compute("zl").get should equal ("sl")
+ MetaphoneAlgorithm.compute("zlz").get should equal ("sls")
+
+ // k
+ MetaphoneAlgorithm.compute("k").get should equal ("k")
+ MetaphoneAlgorithm.compute("zk").get should equal ("sk")
+ MetaphoneAlgorithm.compute("zck").get should equal ("sk")
+
+ // j
+ MetaphoneAlgorithm.compute("j").get should equal ("j")
+ MetaphoneAlgorithm.compute("zj").get should equal ("sj")
+ MetaphoneAlgorithm.compute("zjz").get should equal ("sjs")
+
+ // i
+ MetaphoneAlgorithm.compute("i").get should equal ("i")
+ MetaphoneAlgorithm.compute("zi").get should equal ("s")
+
+ // h
+ MetaphoneAlgorithm.compute("h").get should equal ("h") // php wrongly says nothing
+ MetaphoneAlgorithm.compute("zh").get should equal ("sh") // php wrongly says s
+ MetaphoneAlgorithm.compute("zah").get should equal ("s")
+ MetaphoneAlgorithm.compute("zchh").get should equal ("sx")
+ MetaphoneAlgorithm.compute("ha").get should equal ("h")
+
+ // g
+ MetaphoneAlgorithm.compute("g").get should equal ("k")
+ MetaphoneAlgorithm.compute("zg").get should equal ("sk")
+ MetaphoneAlgorithm.compute("zgh").get should equal ("skh") // php wrongly says sf
+ MetaphoneAlgorithm.compute("zghz").get should equal ("shs") // php wrongly says sfs
+ MetaphoneAlgorithm.compute("zgha").get should equal ("sh") // php wrongly says sf others wrongly say skh
+ MetaphoneAlgorithm.compute("zgn").get should equal ("sn")
+ MetaphoneAlgorithm.compute("zgns").get should equal ("skns")
+ MetaphoneAlgorithm.compute("zgned").get should equal ("snt") // others wrongly says sknt
+ MetaphoneAlgorithm.compute("zgneds").get should equal ("sknts") // php wrongly says snts
+ MetaphoneAlgorithm.compute("zgi").get should equal ("sj")
+ MetaphoneAlgorithm.compute("zgiz").get should equal ("sjs")
+ MetaphoneAlgorithm.compute("zge").get should equal ("sj")
+ MetaphoneAlgorithm.compute("zgez").get should equal ("sjs")
+ MetaphoneAlgorithm.compute("zgy").get should equal ("sj")
+ MetaphoneAlgorithm.compute("zgyz").get should equal ("sjs")
+ MetaphoneAlgorithm.compute("zgz").get should equal ("sks")
+
+ // f
+ MetaphoneAlgorithm.compute("f").get should equal ("f")
+ MetaphoneAlgorithm.compute("zf").get should equal ("sf")
+ MetaphoneAlgorithm.compute("zfz").get should equal ("sfs")
+
+ // e
+ MetaphoneAlgorithm.compute("e").get should equal ("e")
+ MetaphoneAlgorithm.compute("ze").get should equal ("s")
+
+ // d
+ MetaphoneAlgorithm.compute("d").get should equal ("t")
+ MetaphoneAlgorithm.compute("fudge").get should equal ("fjj") // php wrongly says fj
+ MetaphoneAlgorithm.compute("dodgy").get should equal ("tjj") // php wrongly says tj others wrongly say tjjy
+ MetaphoneAlgorithm.compute("dodgi").get should equal ("tjj") // php wrongly says tj
+ MetaphoneAlgorithm.compute("zd").get should equal ("st")
+ MetaphoneAlgorithm.compute("zdz").get should equal ("sts")
+
+ // c
+ MetaphoneAlgorithm.compute("c").get should equal ("k")
+ MetaphoneAlgorithm.compute("zcia").get should equal ("sx")
+ MetaphoneAlgorithm.compute("zciaz").get should equal ("sxs")
+ MetaphoneAlgorithm.compute("zch").get should equal ("sx")
+ MetaphoneAlgorithm.compute("zchz").get should equal ("sxs")
+ MetaphoneAlgorithm.compute("zci").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zciz").get should equal ("sss")
+ MetaphoneAlgorithm.compute("zce").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zcez").get should equal ("sss")
+ MetaphoneAlgorithm.compute("zcy").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zcyz").get should equal ("sss")
+ MetaphoneAlgorithm.compute("zsci").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zsciz").get should equal ("sss")
+ MetaphoneAlgorithm.compute("zsce").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zscez").get should equal ("sss")
+ MetaphoneAlgorithm.compute("zscy").get should equal ("ss")
+ MetaphoneAlgorithm.compute("zscyz").get should equal ("sss")
+ MetaphoneAlgorithm.compute("zsch").get should equal ("sskh") // php wrongly says ssx
+ MetaphoneAlgorithm.compute("zc").get should equal ("sk")
+ MetaphoneAlgorithm.compute("zcz").get should equal ("sks")
+
+ // b
+ MetaphoneAlgorithm.compute("b").get should equal ("b")
+ MetaphoneAlgorithm.compute("zb").get should equal ("sb")
+ MetaphoneAlgorithm.compute("zbz").get should equal ("sbs")
+ MetaphoneAlgorithm.compute("zmb").get should equal ("sm")
+
+ // a
+ MetaphoneAlgorithm.compute("a").get should equal ("a")
+ MetaphoneAlgorithm.compute("za").get should equal ("s")
+
+ // Miscellaneous.
+ MetaphoneAlgorithm.compute("dumb").get should equal ("tm")
+ MetaphoneAlgorithm.compute("smith").get should equal ("sm0")
+ MetaphoneAlgorithm.compute("school").get should equal ("skhl") // php wrongly says sxl
+ MetaphoneAlgorithm.compute("merci").get should equal ("mrs")
+ MetaphoneAlgorithm.compute("cool").get should equal ("kl")
+ MetaphoneAlgorithm.compute("aebersold").get should equal ("ebrslt")
+ MetaphoneAlgorithm.compute("gnagy").get should equal ("nj")
+ MetaphoneAlgorithm.compute("knuth").get should equal ("n0")
+ MetaphoneAlgorithm.compute("pniewski").get should equal ("nsk")
+ MetaphoneAlgorithm.compute("wright").get should equal ("rht") // php wrongly says rft
+ MetaphoneAlgorithm.compute("phone").get should equal ("fn")
+ MetaphoneAlgorithm.compute("aggregate").get should equal ("akrkt")
+ MetaphoneAlgorithm.compute("accuracy").get should equal ("akkrs")
+ MetaphoneAlgorithm.compute("encyclopedia").get should equal ("ensklpt")
+ MetaphoneAlgorithm.compute("honorificabilitudinitatibus").get should equal ("hnrfkblttnttbs")
+ MetaphoneAlgorithm.compute("antidisestablishmentarianism").get should equal ("anttsstblxmntrnsm")
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/core/source/test/scala/org/hashtree/stringmetric/phonetic/MetaphoneSpec.scala b/core/source/test/scala/org/hashtree/stringmetric/phonetic/MetaphoneSpec.scala
deleted file mode 100755
index 2cfcc36..0000000
--- a/core/source/test/scala/org/hashtree/stringmetric/phonetic/MetaphoneSpec.scala
+++ /dev/null
@@ -1,213 +0,0 @@
-package org.hashtree.stringmetric.phonetic
-
-import org.hashtree.stringmetric.ScalaTest
-import org.junit.runner.RunWith
-import org.scalatest.junit.JUnitRunner
-
-@RunWith(classOf[JUnitRunner])
-final class MetaphoneSpec extends ScalaTest {
- "Metaphone" should provide {
- "compute method" when passed {
- "empty argument" should returns {
- "None" in {
- Metaphone.compute("").isDefined should be (false)
- }
- }
- "non-phonetic argument" should returns {
- "None" in {
- Metaphone.compute("123").isDefined should be (false)
- }
- }
- "phonetic argument" should returns {
- "Some" in {
- // z
- Metaphone.compute("z").get should equal ("s")
- Metaphone.compute("zz").get should equal ("s")
-
- // y
- Metaphone.compute("y").isDefined should be (false)
- Metaphone.compute("zy").get should equal ("s")
- Metaphone.compute("zyz").get should equal ("ss")
- Metaphone.compute("zya").get should equal ("sy")
-
- // x
- Metaphone.compute("x").get should equal ("s")
- Metaphone.compute("zx").get should equal ("sks")
- Metaphone.compute("zxz").get should equal ("skss")
-
- // w
- Metaphone.compute("w").isDefined should be (false)
- Metaphone.compute("zw").get should equal ("s")
- Metaphone.compute("zwz").get should equal ("ss")
- Metaphone.compute("zwa").get should equal ("sw")
-
- // v
- Metaphone.compute("v").get should equal ("f")
- Metaphone.compute("zv").get should equal ("sf")
- Metaphone.compute("zvz").get should equal ("sfs")
-
- // u
- Metaphone.compute("u").get should equal ("u")
- Metaphone.compute("zu").get should equal ("s")
-
- // t
- Metaphone.compute("t").get should equal ("t")
- Metaphone.compute("ztiaz").get should equal ("sxs")
- Metaphone.compute("ztioz").get should equal ("sxs")
- Metaphone.compute("zthz").get should equal ("s0s")
- Metaphone.compute("ztchz").get should equal ("sxs")
- Metaphone.compute("ztz").get should equal ("sts")
-
- // s
- Metaphone.compute("s").get should equal ("s")
- Metaphone.compute("zshz").get should equal ("sxs")
- Metaphone.compute("zsioz").get should equal ("sxs")
- Metaphone.compute("zsiaz").get should equal ("sxs")
- Metaphone.compute("zs").get should equal ("ss")
- Metaphone.compute("zsz").get should equal ("sss")
-
- // r
- Metaphone.compute("r").get should equal ("r")
- Metaphone.compute("zr").get should equal ("sr")
- Metaphone.compute("zrz").get should equal ("srs")
-
- // q
- Metaphone.compute("q").get should equal ("k")
- Metaphone.compute("zq").get should equal ("sk")
- Metaphone.compute("zqz").get should equal ("sks")
-
- // p
- Metaphone.compute("p").get should equal ("p")
- Metaphone.compute("zp").get should equal ("sp")
- Metaphone.compute("zph").get should equal ("sf")
- Metaphone.compute("zpz").get should equal ("sps")
-
- // o
- Metaphone.compute("o").get should equal ("o")
- Metaphone.compute("zo").get should equal ("s")
-
- // n
- Metaphone.compute("n").get should equal ("n")
- Metaphone.compute("zn").get should equal ("sn")
- Metaphone.compute("znz").get should equal ("sns")
-
- // m
- Metaphone.compute("m").get should equal ("m")
- Metaphone.compute("zm").get should equal ("sm")
- Metaphone.compute("zmz").get should equal ("sms")
-
- // l
- Metaphone.compute("l").get should equal ("l")
- Metaphone.compute("zl").get should equal ("sl")
- Metaphone.compute("zlz").get should equal ("sls")
-
- // k
- Metaphone.compute("k").get should equal ("k")
- Metaphone.compute("zk").get should equal ("sk")
- Metaphone.compute("zck").get should equal ("sk")
-
- // j
- Metaphone.compute("j").get should equal ("j")
- Metaphone.compute("zj").get should equal ("sj")
- Metaphone.compute("zjz").get should equal ("sjs")
-
- // i
- Metaphone.compute("i").get should equal ("i")
- Metaphone.compute("zi").get should equal ("s")
-
- // h
- Metaphone.compute("h").get should equal ("h") // php wrongly says nothing
- Metaphone.compute("zh").get should equal ("sh") // php wrongly says s
- Metaphone.compute("zah").get should equal ("s")
- Metaphone.compute("zchh").get should equal ("sx")
- Metaphone.compute("ha").get should equal ("h")
-
- // g
- Metaphone.compute("g").get should equal ("k")
- Metaphone.compute("zg").get should equal ("sk")
- Metaphone.compute("zgh").get should equal ("skh") // php wrongly says sf
- Metaphone.compute("zghz").get should equal ("shs") // php wrongly says sfs
- Metaphone.compute("zgha").get should equal ("sh") // php wrongly says sf others wrongly say skh
- Metaphone.compute("zgn").get should equal ("sn")
- Metaphone.compute("zgns").get should equal ("skns")
- Metaphone.compute("zgned").get should equal ("snt") // others wrongly says sknt
- Metaphone.compute("zgneds").get should equal ("sknts") // php wrongly says snts
- Metaphone.compute("zgi").get should equal ("sj")
- Metaphone.compute("zgiz").get should equal ("sjs")
- Metaphone.compute("zge").get should equal ("sj")
- Metaphone.compute("zgez").get should equal ("sjs")
- Metaphone.compute("zgy").get should equal ("sj")
- Metaphone.compute("zgyz").get should equal ("sjs")
- Metaphone.compute("zgz").get should equal ("sks")
-
- // f
- Metaphone.compute("f").get should equal ("f")
- Metaphone.compute("zf").get should equal ("sf")
- Metaphone.compute("zfz").get should equal ("sfs")
-
- // e
- Metaphone.compute("e").get should equal ("e")
- Metaphone.compute("ze").get should equal ("s")
-
- // d
- Metaphone.compute("d").get should equal ("t")
- Metaphone.compute("fudge").get should equal ("fjj") // php wrongly says fj
- Metaphone.compute("dodgy").get should equal ("tjj") // php wrongly says tj others wrongly say tjjy
- Metaphone.compute("dodgi").get should equal ("tjj") // php wrongly says tj
- Metaphone.compute("zd").get should equal ("st")
- Metaphone.compute("zdz").get should equal ("sts")
-
- // c
- Metaphone.compute("c").get should equal ("k")
- Metaphone.compute("zcia").get should equal ("sx")
- Metaphone.compute("zciaz").get should equal ("sxs")
- Metaphone.compute("zch").get should equal ("sx")
- Metaphone.compute("zchz").get should equal ("sxs")
- Metaphone.compute("zci").get should equal ("ss")
- Metaphone.compute("zciz").get should equal ("sss")
- Metaphone.compute("zce").get should equal ("ss")
- Metaphone.compute("zcez").get should equal ("sss")
- Metaphone.compute("zcy").get should equal ("ss")
- Metaphone.compute("zcyz").get should equal ("sss")
- Metaphone.compute("zsci").get should equal ("ss")
- Metaphone.compute("zsciz").get should equal ("sss")
- Metaphone.compute("zsce").get should equal ("ss")
- Metaphone.compute("zscez").get should equal ("sss")
- Metaphone.compute("zscy").get should equal ("ss")
- Metaphone.compute("zscyz").get should equal ("sss")
- Metaphone.compute("zsch").get should equal ("sskh") // php wrongly says ssx
- Metaphone.compute("zc").get should equal ("sk")
- Metaphone.compute("zcz").get should equal ("sks")
-
- // b
- Metaphone.compute("b").get should equal ("b")
- Metaphone.compute("zb").get should equal ("sb")
- Metaphone.compute("zbz").get should equal ("sbs")
- Metaphone.compute("zmb").get should equal ("sm")
-
- // a
- Metaphone.compute("a").get should equal ("a")
- Metaphone.compute("za").get should equal ("s")
-
- // Miscellaneous.
- Metaphone.compute("dumb").get should equal ("tm")
- Metaphone.compute("smith").get should equal ("sm0")
- Metaphone.compute("school").get should equal ("skhl") // php wrongly says sxl
- Metaphone.compute("merci").get should equal ("mrs")
- Metaphone.compute("cool").get should equal ("kl")
- Metaphone.compute("aebersold").get should equal ("ebrslt")
- Metaphone.compute("gnagy").get should equal ("nj")
- Metaphone.compute("knuth").get should equal ("n0")
- Metaphone.compute("pniewski").get should equal ("nsk")
- Metaphone.compute("wright").get should equal ("rht") // php wrongly says rft
- Metaphone.compute("phone").get should equal ("fn")
- Metaphone.compute("aggregate").get should equal ("akrkt")
- Metaphone.compute("accuracy").get should equal ("akkrs")
- Metaphone.compute("encyclopedia").get should equal ("ensklpt")
- Metaphone.compute("honorificabilitudinitatibus").get should equal ("hnrfkblttnttbs")
- Metaphone.compute("antidisestablishmentarianism").get should equal ("anttsstblxmntrnsm")
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/core/source/test/scala/org/hashtree/stringmetric/phonetic/NysiisAlgorithmSpec.scala b/core/source/test/scala/org/hashtree/stringmetric/phonetic/NysiisAlgorithmSpec.scala
new file mode 100755
index 0000000..d1a209f
--- /dev/null
+++ b/core/source/test/scala/org/hashtree/stringmetric/phonetic/NysiisAlgorithmSpec.scala
@@ -0,0 +1,163 @@
+package org.hashtree.stringmetric.phonetic
+
+import org.hashtree.stringmetric.ScalaTest
+import org.junit.runner.RunWith
+import org.scalatest.junit.JUnitRunner
+
+@RunWith(classOf[JUnitRunner])
+final class NysiisAlgorithmSpec extends ScalaTest {
+ "NysiisAlgorithm" should provide {
+ "compute method" when passed {
+ "empty argument" should returns {
+ "None" in {
+ NysiisAlgorithm.compute("").isDefined should be (false)
+ }
+ }
+ "non-phonetic argument" should returns {
+ "None" in {
+ NysiisAlgorithm.compute("123").isDefined should be (false)
+ }
+ }
+ "phonetic argument" should returns {
+ "Some" in {
+ // a
+ NysiisAlgorithm.compute("a").get should equal ("a")
+ NysiisAlgorithm.compute("aa").get should equal ("a")
+
+ // b
+ NysiisAlgorithm.compute("b").get should equal ("b")
+ NysiisAlgorithm.compute("bb").get should equal ("bb")
+
+ // c
+ NysiisAlgorithm.compute("c").get should equal ("c")
+ NysiisAlgorithm.compute("cc").get should equal ("cc")
+
+ // d
+ NysiisAlgorithm.compute("d").get should equal ("d")
+ NysiisAlgorithm.compute("dd").get should equal ("dd")
+
+ // e
+ NysiisAlgorithm.compute("e").get should equal ("e")
+ NysiisAlgorithm.compute("ee").get should equal ("y")
+
+ // f
+ NysiisAlgorithm.compute("f").get should equal ("f")
+ NysiisAlgorithm.compute("ff").get should equal ("ff")
+
+ // g
+ NysiisAlgorithm.compute("g").get should equal ("g")
+ NysiisAlgorithm.compute("gg").get should equal ("gg")
+
+ // h
+ NysiisAlgorithm.compute("h").get should equal ("h")
+ NysiisAlgorithm.compute("hh").get should equal ("hh")
+
+ // i
+ NysiisAlgorithm.compute("i").get should equal ("i")
+ NysiisAlgorithm.compute("ii").get should equal ("i")
+
+ // j
+ NysiisAlgorithm.compute("j").get should equal ("j")
+ NysiisAlgorithm.compute("jj").get should equal ("jj")
+
+ // k
+ NysiisAlgorithm.compute("k").get should equal ("c")
+ NysiisAlgorithm.compute("kk").get should equal ("cc")
+
+ // l
+ NysiisAlgorithm.compute("l").get should equal ("l")
+ NysiisAlgorithm.compute("ll").get should equal ("ll")
+
+ // m
+ NysiisAlgorithm.compute("m").get should equal ("m")
+ NysiisAlgorithm.compute("mm").get should equal ("mn")
+
+ // n
+ NysiisAlgorithm.compute("n").get should equal ("n")
+ NysiisAlgorithm.compute("nn").get should equal ("nn")
+
+ // o
+ NysiisAlgorithm.compute("o").get should equal ("o")
+ NysiisAlgorithm.compute("oo").get should equal ("o")
+
+ // p
+ NysiisAlgorithm.compute("p").get should equal ("p")
+ NysiisAlgorithm.compute("pp").get should equal ("pp")
+
+ // q
+ NysiisAlgorithm.compute("q").get should equal ("q")
+ NysiisAlgorithm.compute("qq").get should equal ("qg")
+
+ // r
+ NysiisAlgorithm.compute("r").get should equal ("r")
+ NysiisAlgorithm.compute("rr").get should equal ("rr")
+
+ // s
+ NysiisAlgorithm.compute("s").get should equal ("s")
+ NysiisAlgorithm.compute("ss").get should equal ("s")
+
+ // t
+ NysiisAlgorithm.compute("t").get should equal ("t")
+ NysiisAlgorithm.compute("tt").get should equal ("tt")
+
+ // u
+ NysiisAlgorithm.compute("u").get should equal ("u")
+ NysiisAlgorithm.compute("uu").get should equal ("u")
+
+ // v
+ NysiisAlgorithm.compute("v").get should equal ("v")
+ NysiisAlgorithm.compute("vv").get should equal ("vv")
+
+ // w
+ NysiisAlgorithm.compute("w").get should equal ("w")
+ NysiisAlgorithm.compute("ww").get should equal ("ww")
+
+ // x
+ NysiisAlgorithm.compute("x").get should equal ("x")
+ NysiisAlgorithm.compute("xx").get should equal ("xx")
+
+ // y
+ NysiisAlgorithm.compute("y").get should equal ("y")
+ NysiisAlgorithm.compute("yy").get should equal ("yy")
+
+ // z
+ NysiisAlgorithm.compute("z").get should equal ("z")
+ NysiisAlgorithm.compute("zz").get should equal ("z")
+
+ // Head cases.
+ NysiisAlgorithm.compute("mac").get should equal ("mc")
+ NysiisAlgorithm.compute("kn").get should equal ("nn")
+ NysiisAlgorithm.compute("k").get should equal ("c")
+ NysiisAlgorithm.compute("ph").get should equal ("ff")
+ NysiisAlgorithm.compute("pf").get should equal ("ff")
+ NysiisAlgorithm.compute("sch").get should equal ("s") // dropby wrongly says ss
+
+ // Last cases.
+ NysiisAlgorithm.compute("ee").get should equal ("y")
+ NysiisAlgorithm.compute("ie").get should equal ("y")
+ NysiisAlgorithm.compute("dt").get should equal ("d")
+ NysiisAlgorithm.compute("rt").get should equal ("d")
+ NysiisAlgorithm.compute("rd").get should equal ("d")
+ NysiisAlgorithm.compute("nt").get should equal ("d")
+ NysiisAlgorithm.compute("nd").get should equal ("d")
+
+ // Core cases.
+ NysiisAlgorithm.compute("eev").get should equal ("yv") //dropby wrongly says eaf
+ NysiisAlgorithm.compute("zev").get should equal ("zaf")
+ NysiisAlgorithm.compute("kkn").get should equal ("cn")
+ NysiisAlgorithm.compute("sschn").get should equal ("ssn")
+ NysiisAlgorithm.compute("pph").get should equal ("pf")
+
+ // Miscellaneous.
+ NysiisAlgorithm.compute("macdonald").get should equal ("mcdanald")
+ NysiisAlgorithm.compute("phone").get should equal ("ffan")
+ NysiisAlgorithm.compute("aggregate").get should equal ("agragat")
+ NysiisAlgorithm.compute("accuracy").get should equal ("acaracy")
+ NysiisAlgorithm.compute("encyclopedia").get should equal ("encyclapad")
+ NysiisAlgorithm.compute("honorificabilitudinitatibus").get should equal ("hanarafacabalatadanatatab")
+ NysiisAlgorithm.compute("antidisestablishmentarianism").get should equal ("antadasastablasnantaranasn")
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/core/source/test/scala/org/hashtree/stringmetric/phonetic/NysiisSpec.scala b/core/source/test/scala/org/hashtree/stringmetric/phonetic/NysiisSpec.scala
deleted file mode 100755
index 7186238..0000000
--- a/core/source/test/scala/org/hashtree/stringmetric/phonetic/NysiisSpec.scala
+++ /dev/null
@@ -1,163 +0,0 @@
-package org.hashtree.stringmetric.phonetic
-
-import org.hashtree.stringmetric.ScalaTest
-import org.junit.runner.RunWith
-import org.scalatest.junit.JUnitRunner
-
-@RunWith(classOf[JUnitRunner])
-final class NysiisSpec extends ScalaTest {
- "Nysiis" should provide {
- "compute method" when passed {
- "empty argument" should returns {
- "None" in {
- Nysiis.compute("").isDefined should be (false)
- }
- }
- "non-phonetic argument" should returns {
- "None" in {
- Nysiis.compute("123").isDefined should be (false)
- }
- }
- "phonetic argument" should returns {
- "Some" in {
- // a
- Nysiis.compute("a").get should equal ("a")
- Nysiis.compute("aa").get should equal ("a")
-
- // b
- Nysiis.compute("b").get should equal ("b")
- Nysiis.compute("bb").get should equal ("bb")
-
- // c
- Nysiis.compute("c").get should equal ("c")
- Nysiis.compute("cc").get should equal ("cc")
-
- // d
- Nysiis.compute("d").get should equal ("d")
- Nysiis.compute("dd").get should equal ("dd")
-
- // e
- Nysiis.compute("e").get should equal ("e")
- Nysiis.compute("ee").get should equal ("y")
-
- // f
- Nysiis.compute("f").get should equal ("f")
- Nysiis.compute("ff").get should equal ("ff")
-
- // g
- Nysiis.compute("g").get should equal ("g")
- Nysiis.compute("gg").get should equal ("gg")
-
- // h
- Nysiis.compute("h").get should equal ("h")
- Nysiis.compute("hh").get should equal ("hh")
-
- // i
- Nysiis.compute("i").get should equal ("i")
- Nysiis.compute("ii").get should equal ("i")
-
- // j
- Nysiis.compute("j").get should equal ("j")
- Nysiis.compute("jj").get should equal ("jj")
-
- // k
- Nysiis.compute("k").get should equal ("c")
- Nysiis.compute("kk").get should equal ("cc")
-
- // l
- Nysiis.compute("l").get should equal ("l")
- Nysiis.compute("ll").get should equal ("ll")
-
- // m
- Nysiis.compute("m").get should equal ("m")
- Nysiis.compute("mm").get should equal ("mn")
-
- // n
- Nysiis.compute("n").get should equal ("n")
- Nysiis.compute("nn").get should equal ("nn")
-
- // o
- Nysiis.compute("o").get should equal ("o")
- Nysiis.compute("oo").get should equal ("o")
-
- // p
- Nysiis.compute("p").get should equal ("p")
- Nysiis.compute("pp").get should equal ("pp")
-
- // q
- Nysiis.compute("q").get should equal ("q")
- Nysiis.compute("qq").get should equal ("qg")
-
- // r
- Nysiis.compute("r").get should equal ("r")
- Nysiis.compute("rr").get should equal ("rr")
-
- // s
- Nysiis.compute("s").get should equal ("s")
- Nysiis.compute("ss").get should equal ("s")
-
- // t
- Nysiis.compute("t").get should equal ("t")
- Nysiis.compute("tt").get should equal ("tt")
-
- // u
- Nysiis.compute("u").get should equal ("u")
- Nysiis.compute("uu").get should equal ("u")
-
- // v
- Nysiis.compute("v").get should equal ("v")
- Nysiis.compute("vv").get should equal ("vv")
-
- // w
- Nysiis.compute("w").get should equal ("w")
- Nysiis.compute("ww").get should equal ("ww")
-
- // x
- Nysiis.compute("x").get should equal ("x")
- Nysiis.compute("xx").get should equal ("xx")
-
- // y
- Nysiis.compute("y").get should equal ("y")
- Nysiis.compute("yy").get should equal ("yy")
-
- // z
- Nysiis.compute("z").get should equal ("z")
- Nysiis.compute("zz").get should equal ("z")
-
- // Head cases.
- Nysiis.compute("mac").get should equal ("mc")
- Nysiis.compute("kn").get should equal ("nn")
- Nysiis.compute("k").get should equal ("c")
- Nysiis.compute("ph").get should equal ("ff")
- Nysiis.compute("pf").get should equal ("ff")
- Nysiis.compute("sch").get should equal ("s") // dropby wrongly says ss
-
- // Last cases.
- Nysiis.compute("ee").get should equal ("y")
- Nysiis.compute("ie").get should equal ("y")
- Nysiis.compute("dt").get should equal ("d")
- Nysiis.compute("rt").get should equal ("d")
- Nysiis.compute("rd").get should equal ("d")
- Nysiis.compute("nt").get should equal ("d")
- Nysiis.compute("nd").get should equal ("d")
-
- // Core cases.
- Nysiis.compute("eev").get should equal ("yv") //dropby wrongly says eaf
- Nysiis.compute("zev").get should equal ("zaf")
- Nysiis.compute("kkn").get should equal ("cn")
- Nysiis.compute("sschn").get should equal ("ssn")
- Nysiis.compute("pph").get should equal ("pf")
-
- // Miscellaneous.
- Nysiis.compute("macdonald").get should equal ("mcdanald")
- Nysiis.compute("phone").get should equal ("ffan")
- Nysiis.compute("aggregate").get should equal ("agragat")
- Nysiis.compute("accuracy").get should equal ("acaracy")
- Nysiis.compute("encyclopedia").get should equal ("encyclapad")
- Nysiis.compute("honorificabilitudinitatibus").get should equal ("hanarafacabalatadanatatab")
- Nysiis.compute("antidisestablishmentarianism").get should equal ("antadasastablasnantaranasn")
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/core/source/test/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexAlgorithmSpec.scala b/core/source/test/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexAlgorithmSpec.scala
new file mode 100755
index 0000000..7d7d76b
--- /dev/null
+++ b/core/source/test/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexAlgorithmSpec.scala
@@ -0,0 +1,54 @@
+package org.hashtree.stringmetric.phonetic
+
+import org.hashtree.stringmetric.ScalaTest
+import org.junit.runner.RunWith
+import org.scalatest.junit.JUnitRunner
+
+@RunWith(classOf[JUnitRunner])
+final class RefinedSoundexAlgorithmSpec extends ScalaTest {
+ "RefinedSoundexAlgorithm" should provide {
+ "compute method" when passed {
+ "empty argument" should returns {
+ "None" in {
+ RefinedSoundexAlgorithm.compute("").isDefined should be (false)
+ }
+ }
+ "non-phonetic argument" should returns {
+ "None" in {
+ RefinedSoundexAlgorithm.compute("123").isDefined should be (false)
+ }
+ }
+ "phonetic argument" should returns {
+ "Some" in {
+ RefinedSoundexAlgorithm.compute("x123").get should equal ("x5")
+
+ RefinedSoundexAlgorithm.compute("braz").get should equal ("b1905")
+ RefinedSoundexAlgorithm.compute("broz").get should equal ("b1905")
+ RefinedSoundexAlgorithm.compute("caren").get should equal ("c30908")
+ RefinedSoundexAlgorithm.compute("carren").get should equal ("c30908")
+ RefinedSoundexAlgorithm.compute("coram").get should equal ("c30908")
+ RefinedSoundexAlgorithm.compute("corran").get should equal ("c30908")
+ RefinedSoundexAlgorithm.compute("curreen").get should equal ("c30908")
+ RefinedSoundexAlgorithm.compute("curwen").get should equal ("c30908")
+ RefinedSoundexAlgorithm.compute("hairs").get should equal ("h093")
+ RefinedSoundexAlgorithm.compute("hark").get should equal ("h093")
+ RefinedSoundexAlgorithm.compute("hars").get should equal ("h093")
+ RefinedSoundexAlgorithm.compute("hayers").get should equal ("h093")
+ RefinedSoundexAlgorithm.compute("heers").get should equal ("h093")
+ RefinedSoundexAlgorithm.compute("hiers").get should equal ("h093")
+ RefinedSoundexAlgorithm.compute("lambard").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("lambart").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("lambert").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("lambird").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("lampaert").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("lampart").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("lamport").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("limbert").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("lombard").get should equal ("l7081096")
+ RefinedSoundexAlgorithm.compute("nolton").get should equal ("n807608")
+ RefinedSoundexAlgorithm.compute("noulton").get should equal ("n807608")
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/core/source/test/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexSpec.scala b/core/source/test/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexSpec.scala
deleted file mode 100755
index 1531eb0..0000000
--- a/core/source/test/scala/org/hashtree/stringmetric/phonetic/RefinedSoundexSpec.scala
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.hashtree.stringmetric.phonetic
-
-import org.hashtree.stringmetric.ScalaTest
-import org.junit.runner.RunWith
-import org.scalatest.junit.JUnitRunner
-
-@RunWith(classOf[JUnitRunner])
-final class RefinedSoundexSpec extends ScalaTest {
- "RefinedSoundex" should provide {
- "compute method" when passed {
- "empty argument" should returns {
- "None" in {
- RefinedSoundex.compute("").isDefined should be (false)
- }
- }
- "non-phonetic argument" should returns {
- "None" in {
- RefinedSoundex.compute("123").isDefined should be (false)
- }
- }
- "phonetic argument" should returns {
- "Some" in {
- RefinedSoundex.compute("x123").get should equal ("x5")
-
- RefinedSoundex.compute("braz").get should equal ("b1905")
- RefinedSoundex.compute("broz").get should equal ("b1905")
- RefinedSoundex.compute("caren").get should equal ("c30908")
- RefinedSoundex.compute("carren").get should equal ("c30908")
- RefinedSoundex.compute("coram").get should equal ("c30908")
- RefinedSoundex.compute("corran").get should equal ("c30908")
- RefinedSoundex.compute("curreen").get should equal ("c30908")
- RefinedSoundex.compute("curwen").get should equal ("c30908")
- RefinedSoundex.compute("hairs").get should equal ("h093")
- RefinedSoundex.compute("hark").get should equal ("h093")
- RefinedSoundex.compute("hars").get should equal ("h093")
- RefinedSoundex.compute("hayers").get should equal ("h093")
- RefinedSoundex.compute("heers").get should equal ("h093")
- RefinedSoundex.compute("hiers").get should equal ("h093")
- RefinedSoundex.compute("lambard").get should equal ("l7081096")
- RefinedSoundex.compute("lambart").get should equal ("l7081096")
- RefinedSoundex.compute("lambert").get should equal ("l7081096")
- RefinedSoundex.compute("lambird").get should equal ("l7081096")
- RefinedSoundex.compute("lampaert").get should equal ("l7081096")
- RefinedSoundex.compute("lampart").get should equal ("l7081096")
- RefinedSoundex.compute("lamport").get should equal ("l7081096")
- RefinedSoundex.compute("limbert").get should equal ("l7081096")
- RefinedSoundex.compute("lombard").get should equal ("l7081096")
- RefinedSoundex.compute("nolton").get should equal ("n807608")
- RefinedSoundex.compute("noulton").get should equal ("n807608")
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/core/source/test/scala/org/hashtree/stringmetric/phonetic/SoundexAlgorithmSpec.scala b/core/source/test/scala/org/hashtree/stringmetric/phonetic/SoundexAlgorithmSpec.scala
new file mode 100755
index 0000000..8a8c21b
--- /dev/null
+++ b/core/source/test/scala/org/hashtree/stringmetric/phonetic/SoundexAlgorithmSpec.scala
@@ -0,0 +1,54 @@
+package org.hashtree.stringmetric.phonetic
+
+import org.hashtree.stringmetric.ScalaTest
+import org.junit.runner.RunWith
+import org.scalatest.junit.JUnitRunner
+
+@RunWith(classOf[JUnitRunner])
+final class SoundexAlgorithmSpec extends ScalaTest {
+ "SoundexAlgorithm" should provide {
+ "compute method" when passed {
+ "empty argument" should returns {
+ "None" in {
+ SoundexAlgorithm.compute("").isDefined should be (false)
+ }
+ }
+ "non-phonetic argument" should returns {
+ "None" in {
+ SoundexAlgorithm.compute("123").isDefined should be (false)
+ }
+ }
+ "phonetic argument" should returns {
+ "Some" in {
+ SoundexAlgorithm.compute("x123").get should equal ("x000")
+
+ SoundexAlgorithm.compute("abc").get should equal ("a120")
+ SoundexAlgorithm.compute("xyz").get should equal ("x200")
+
+ SoundexAlgorithm.compute("robert").get should equal ("r163")
+ SoundexAlgorithm.compute("rupert").get should equal ("r163")
+ SoundexAlgorithm.compute("rubin").get should equal ("r150")
+ SoundexAlgorithm.compute("ashcraft").get should equal ("a261")
+ SoundexAlgorithm.compute("tymczak").get should equal ("t522")
+ SoundexAlgorithm.compute("pfister").get should equal ("p236")
+ SoundexAlgorithm.compute("euler").get should equal ("e460")
+ SoundexAlgorithm.compute("gauss").get should equal ("g200")
+ SoundexAlgorithm.compute("hilbert").get should equal ("h416")
+ SoundexAlgorithm.compute("knuth").get should equal ("k530")
+ SoundexAlgorithm.compute("lloyd").get should equal ("l300")
+ SoundexAlgorithm.compute("lukasiewicz").get should equal ("l222")
+ SoundexAlgorithm.compute("ashcroft").get should equal ("a261")
+ SoundexAlgorithm.compute("tymczak").get should equal ("t522")
+ SoundexAlgorithm.compute("pfister").get should equal ("p236")
+ SoundexAlgorithm.compute("ellery").get should equal ("e460")
+ SoundexAlgorithm.compute("ghosh").get should equal ("g200")
+ SoundexAlgorithm.compute("heilbronn").get should equal ("h416")
+ SoundexAlgorithm.compute("kant").get should equal ("k530")
+ SoundexAlgorithm.compute("ladd").get should equal ("l300")
+ SoundexAlgorithm.compute("lissajous").get should equal ("l222")
+ SoundexAlgorithm.compute("fusedale").get should equal ("f234")
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/core/source/test/scala/org/hashtree/stringmetric/phonetic/SoundexSpec.scala b/core/source/test/scala/org/hashtree/stringmetric/phonetic/SoundexSpec.scala
deleted file mode 100755
index 9f18bc9..0000000
--- a/core/source/test/scala/org/hashtree/stringmetric/phonetic/SoundexSpec.scala
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.hashtree.stringmetric.phonetic
-
-import org.hashtree.stringmetric.ScalaTest
-import org.junit.runner.RunWith
-import org.scalatest.junit.JUnitRunner
-
-@RunWith(classOf[JUnitRunner])
-final class SoundexSpec extends ScalaTest {
- "Soundex" should provide {
- "compute method" when passed {
- "empty argument" should returns {
- "None" in {
- Soundex.compute("").isDefined should be (false)
- }
- }
- "non-phonetic argument" should returns {
- "None" in {
- Soundex.compute("123").isDefined should be (false)
- }
- }
- "phonetic argument" should returns {
- "Some" in {
- Soundex.compute("x123").get should equal ("x000")
-
- Soundex.compute("abc").get should equal ("a120")
- Soundex.compute("xyz").get should equal ("x200")
-
- Soundex.compute("robert").get should equal ("r163")
- Soundex.compute("rupert").get should equal ("r163")
- Soundex.compute("rubin").get should equal ("r150")
- Soundex.compute("ashcraft").get should equal ("a261")
- Soundex.compute("tymczak").get should equal ("t522")
- Soundex.compute("pfister").get should equal ("p236")
- Soundex.compute("euler").get should equal ("e460")
- Soundex.compute("gauss").get should equal ("g200")
- Soundex.compute("hilbert").get should equal ("h416")
- Soundex.compute("knuth").get should equal ("k530")
- Soundex.compute("lloyd").get should equal ("l300")
- Soundex.compute("lukasiewicz").get should equal ("l222")
- Soundex.compute("ashcroft").get should equal ("a261")
- Soundex.compute("tymczak").get should equal ("t522")
- Soundex.compute("pfister").get should equal ("p236")
- Soundex.compute("ellery").get should equal ("e460")
- Soundex.compute("ghosh").get should equal ("g200")
- Soundex.compute("heilbronn").get should equal ("h416")
- Soundex.compute("kant").get should equal ("k530")
- Soundex.compute("ladd").get should equal ("l300")
- Soundex.compute("lissajous").get should equal ("l222")
- Soundex.compute("fusedale").get should equal ("f234")
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/readme.md b/readme.md
index b6521b3..9a70fd0 100755
--- a/readme.md
+++ b/readme.md
@@ -29,7 +29,22 @@ A collection of string metrics implemented in Scala. Includes a light-weight cor
* _API namespace_: org.hashtree.stringmetric.phonetic.SoundexMetric
* _CLI name_: soundexMetric
-In addition to string metrics, several filters are available which clean up passed arguments prior to evaluation. Filtering rules can be composed via trait mixing.
+All phonetic string metrics have a stand alone algorithm counter part. They provide a means to extract the phonetic representation of the argument passed, rather than determining if two arguments sound the same phonetically.
+
+* __Metaphone__
+ * _API namespace_: org.hashtree.stringmetric.phonetic.MetaphoneAlgorithm
+ * _CLI name_: metaphoneAlgorithm
+* __NYSIIS__
+ * _API namespace_: org.hashtree.stringmetric.phonetic.NysiisAlgorithm
+ * _CLI name_: nysiisAlgorithm
+* __Refined Soundex__
+ * _API namespace_: org.hashtree.stringmetric.phonetic.RefinedSoundexAlgorithm
+ * _CLI name_: refinedSoundexAlgorithm
+* __Soundex__
+ * _API namespace_: org.hashtree.stringmetric.phonetic.SoundexAlgorithm
+ * _CLI name_: soundexAlgorithm
+
+In addition to string metrics, several filters are available which clean up passed arguments prior to evaluation. Filtering rules can be composed via trait decoration.
* __Differing Case__ (Ignore ASCII letter case differences)
* _API namespace_: org.hashtree.stringmetric.AsciiLetterCaseStringFilter
@@ -38,21 +53,6 @@ In addition to string metrics, several filters are available which clean up pass
* __Spaces__ (Ignore all spaces)
* _API namespace_: org.hashtree.stringmetric.SpaceStringFilter
-All phonetic string metrics have a stand alone algorithm counter part. They provide a means to extract the phonetic representation of the argument passed, rather than determining if two arguments sound the same phonetically.
-
-* __Metaphone__
- * _API namespace_: org.hashtree.stringmetric.phonetic.Metaphone
- * _CLI name_: metaphone
-* __NYSIIS__
- * _API namespace_: org.hashtree.stringmetric.phonetic.Nysiis
- * _CLI name_: nysiis
-* __Refined Soundex__
- * _API namespace_: org.hashtree.stringmetric.phonetic.RefinedSoundex
- * _CLI name_: refinedSoundex
-* __Soundex__
- * _API namespace_: org.hashtree.stringmetric.phonetic.Soundex
- * _CLI name_: soundex
-
## Building the API
gradle jar
@@ -86,11 +86,19 @@ gradle tar
## Using the CLI
Uncompress the built tar and ensure you have ability to execute the commands. Execute the metric of choice via the command line:
+`// Pass the help option to any command to see syntax and usage.`
`jaroWinklerMetric --help`
+`metaphoneMetric --help`
+`metaphoneAlgorithm --help`
+
+`// Compare "abc" to "xyz" using the Jaro-Winkler metric.`
`jaroWinklerMetric abc xyz`
-`metaphone --help`
-`metaphone abc`
+`// Compare "abc "to "xyz" using the Metaphone metric.`
+`metaphoneMetric abc xyz`
+
+`// Get the phonetic representation of "abc", via the metaphone phonetic algorithm.`
+`metaphoneAlgorithm abc`
## Requirements
* Scala 2.9.2