2012-06-21 3 views
0

중간 값 함수를 작성했으며 단위 테스트를 추가하고 싶습니다. Spec2 단위 테스트가 컴파일되지 않습니다.

는 그래서 그것은 "be None... 줄에 오류 No implicit view available from Option[Double] => org.specs2.execute.Result.와 함께 컴파일되지 않습니다,

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)} 
    } 
} 

그러나 specs2이 썼다.

여기 왜이 부분을 요구하는지 이해할 수 없습니다. 나는이 비교를하기 위해 내 자신을 내포하기로되어 있나?

편집 그래서 문제는 순전히 구문입니다 - 내 대답은 아래 참조하십시오. 구문 오류가 의미 오류로보고되었다는 것이 조금 불편합니다. 이것이 내 목록 리터럴이 잘못되었다는 사실을 저에게 알리지 않는 이유입니다.

+2

더 많은 코드 (가져 오기 포함)를 표시 할 수 있습니까? 그리고 [] 무엇입니까? 언뜻보기에 검사 결과가 정확합니다. – Christian

+0

어떤 수입품을 사용하고 있습니까? –

+3

'[]','[1,2,3]'와'[1,2,3,4]'는 유효하지 않은 스칼라 코드입니다. –

답변

1

필자는 최근에 너무 오래 파이썬을 사용 해왔다. 목록 리터럴 구문을 수정하면 문제가 해결됩니다.

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) } 
    } 
} 
+0

다른 목록 (파이썬?) 구문으로 컴파일 했습니까? – Christian

+0

아니, 왜 컴파일되지 않을지 묻고 있었다. – Squidly

+0

나는 다른 컴파일러 오류를 예상했을 것이다. :-) – Christian

관련 문제