aboutsummaryrefslogtreecommitdiff
path: root/tests/pickling/Coder.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pickling/Coder.scala')
-rw-r--r--tests/pickling/Coder.scala14
1 files changed, 7 insertions, 7 deletions
diff --git a/tests/pickling/Coder.scala b/tests/pickling/Coder.scala
index 77bbd134c..6eb1ad55a 100644
--- a/tests/pickling/Coder.scala
+++ b/tests/pickling/Coder.scala
@@ -7,15 +7,15 @@ class Coder(words: List[String]) {
private val mnemonics = Map(
'2' -> "ABC", '3' -> "DEF", '4' -> "GHI", '5' -> "JKL",
'6' -> "MNO", '7' -> "PQRS", '8' -> "TUV", '9' -> "WXYZ")
-
+
('1', "1") match {
- case (digit, str) => true
+ case (digit, str) => true
case _ => false
}
/** Invert the mnemonics map to give a map from chars 'A' ... 'Z' to '2' ... '9' */
- private val charCode0: Map[Char, Char] = mnemonics withFilter {
+ private val charCode0: Map[Char, Char] = mnemonics withFilter {
case (digit, str) => true
case _ => false
} flatMap { x$1 =>
@@ -24,18 +24,18 @@ class Coder(words: List[String]) {
}
}
- private val charCode: Map[Char, Char] =
+ private val charCode: Map[Char, Char] =
for ((digit, str) <- mnemonics; ltr <- str) yield ltr -> digit
/** Maps a word to the digit string it can represent */
private def wordCode(word: String): String = word map charCode
/** A map from digit strings to the words that represent them */
- private val wordsForNum: Map[String, List[String]] =
+ private val wordsForNum: Map[String, List[String]] =
words groupBy wordCode withDefaultValue Nil
/** All ways to encode a number as a list of words */
- def encode(number: String): Set[List[String]] =
+ def encode(number: String): Set[List[String]] =
if (number.isEmpty) Set(Nil)
else {
for {
@@ -44,7 +44,7 @@ class Coder(words: List[String]) {
rest <- encode(number drop splitPoint)
} yield word :: rest
}.toSet
-
+
/** Maps a number to a list of all word phrases that can represent it */
def translate(number: String): Set[String] = encode(number) map (_ mkString " ")