LoginSignup
7
7

More than 5 years have passed since last update.

ScalaのSpecs2でDataTablesじゃなくてTables traitを使えばStringの時も!で扱える

Posted at

Scalaのspecs2でDataTablesにStringを使うときは!!を使う の続編です。

作者の方から
note that you can avoid the !! by using the Tables trait
とmentionを頂いていたのを @xuwei_k さんに教えて頂き、検証してみました。

確かに DataTables -> Tables とすれば、!! じゃなくて ! でも実行できました!

例)

myspec.scala
class LangString2ClassSpec extends Specification with Tables {
  "LangString2Class.map(lang) => class" should  {
    "str"         | "class" |
    "java"        ! Java() |
    "JAVA"        ! Java() |
    "objc"        ! ObjectiveC() |
    "objectivec"  ! ObjectiveC() |
    "python"      ! Python() |
    "RUby"        ! Ruby() |
    "JS"          ! JavaScript() |
    "JAVASCRIPT"  ! JavaScript() |
    "Graph"       ! Graph() |
    "SCALA"       ! Scala() |
    "table"       ! models.modules.smc.Table() |>
    { (s, klass) =>
      LangString2Class.map(s) must beSome(klass)
    }
  }
}

Sampleの型によって書き方を変えなくて良いので断然こちらの方が良いですね。
DataTablesは互換性のために残してあるのでしょうか。
今後は基本Tablesを使うようにしようかと思います。

教えて頂き本当にありがとうございました!

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7