Я пытаюсь написать решение для упражнения 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?Почему это работает в первом тесте?