Странные ошибки в mustEqual в Specs2 - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь написать решение для упражнения 8.4 из Scala для нетерпеливых , но наталкиваюсь на странную ошибку в моем тесте specs2 для него.

Код выглядит следующим образом:

abstract class Item {
  def price: Double
  def description: String
}

class SimpleItem(val price: Double,  val description: String) extends Item

class Bundle(items: List[Item], val description: String) extends Item {
  def price  = (items map (_.price)).sum
}

И тест:

"SimpleItem" should {
    "allow usage of Item methods" in {
      val si = new SimpleItem(13, "Nail")
      si.price mustEqual 13
      si.description mustEqual "Nail"
    }
}

"Bundle" should {
    "summarize item prices" {
      val l = List(new SimpleItem(2, "Fork"), new SimpleItem(3, "Knife"))
      val b = new Bundle(l, "Cutlery")
      b.price mustEqual 5
      b.description mustEqual "Cutlery" 
    }
}

Первый тест проходит гладко, но во втором я получаю:

[error]  found   : org.specs2.matcher.MatchResult[Any]
[error]  required: Int
[error]       b.description mustEqual "Cutlery"

Я не получаюЭто.С чего бы это ожидать Int?Почему это работает в первом тесте?

...