0

中央値関数を作成しましたが、その単体テストをいくつか追加したいと思います。

だから私はこれをspecs2で書いた

class TestStats extends Specification {
  "Median function " should {
    "be None for an empty list" in { Stats.median([]) must beNone }
    "be the midpoint of an odd length list" in { Stats.median([1,2,3]) must_== Some(2)}
    "be the average of the two midpoints of an even length list" in { Stats.median([1,2,3,4])     must_== Some(2.5)}
  }
}

No implicit view available from Option[Double] => org.specs2.execute.Result.ただし、行のエラーでコンパイルされません"be None...

なぜここでこれを求めているのかわかりません。私は本当にこの比較を行うために暗黙の自分自身を書くことになっていますか?

編集だから、問題は純粋に構文的なものでした-以下の私の答えを参照してください。構文エラーがセマンティックエラーとして報告されたことに少し腹を立てています。そのため、リストリテラルが間違っていることに気付くことはありませんでした。

4

1 に答える 1

1

明らかに、私は最近Pythonを行うのに時間がかかりすぎました。リストリテラル構文を修正すると、問題が修正されます。

class TestStats extends Specification {
  "Median function " should {
    "be None for an empty list" in { median(Nil) must_== None }
    "be the midpoint of an odd length list" in { median(List(1, 2, 3)) must_== Some(2) }
    "be the average of the two midpoints of an even length list" in { median(List(1, 2, 3, 4)) must_== Some(2.5) }
  }
}
于 2012-06-21T15:01:02.267 に答える