Scala コードの Specs の一部として Mockito を使用していますが、次のタスクに遭遇しました:
チェス盤 (8x8 = 64 セル) をエミュレートする ArrayBuffer が与えられた場合。ArrayBuffer
存在しないセル (番号が 63 より大きいか 0 より小さい)をクエリすると、 が返されますNone
。Some(0)
それ以外の場合は、 (ほとんどすべての場合) or Some(1)
(指定されたいくつかのセルのみ)を返します。
今、私はスパイと次のように始まる何かについて考えています:
val spiedArray = spy(new ArrayBuffer[Int])
for (x <- 1 to 8; y <- 1 to 8) {
doReturn(Some(0)).when(spiedArray).apply(x * y-1)
}
そして、Some(1) でセルを明示的に再指定します。
しかし、返さなければならない範囲外のセルはどうNone
ですか?
その嘲笑を実現する最も簡単で自然な方法はありますか?