2011-08-23 5 views
0

:
체스 보드 (8 * 8 = 64 세포)를 겨루는 ArrayBuffer을 감안할 때. 존재하지 않는 셀 (숫자가 63보다 크거나 0보다 작은 셀)에 대해 ArrayBuffer을 쿼리하면 None을 수신해야합니다. 그렇지 않은 경우 Some(0) (거의 모든 경우) 또는 Some(1) (지정된 셀 수가 거의 없음)을 반환합니다.
Mockito 다른 범위의 기대

는 지금은 같이 시작 스파이 뭔가에 대해 생각하고 있어요 :

val spiedArray = spy(new ArrayBuffer[Int]) 
    for (x <- 1 to 8; y <- 1 to 8) { 
    doReturn(Some(0)).when(spiedArray).apply(x * y-1) 
    } 

그리고 명시 적으로 일부 세포를 재 서술 (1).
하지만 바깥 셀이 None을 반환해야하는 것은 어떨까요?

조롱을 달성하는 가장 단순하고 자연스러운 방법이 있습니까?

+1

나는 당신이 0에서 7 대신 1 ~ 8로 이동해야한다고 생각;) ... 그렇지 않으면 I 여기에 ArrayBuffer를 채우는 것에 대한 조롱의 이점을 실제로 보지 못하겠습니까? ... 당신이 그것 위에 인터페이스를 만든다면 가능성이 더 높습니다 –

답변

1

여기서 중요한 문제는 사양이 잘못되었다는 것입니다. ArrayBuffer은 사양에서 예상대로 작동하지 않습니다. 따라서 당신은 다음 중 하나를 수행해야

  • 를 변경한다 수제 특성에 대한 예상되는 동작
  • 변경 ArrayBuffer
+0

그래, 조롱 개념 오해했다. –