2017-12-01 14 views
1

私は1つのリンクされたリンクされたリストの実装を持っています。私はこのクラスのためにListIteratorと書いています。 ListIteratorの実装が動作することをテストするにはどうすればよいですか?これまで私はfor-each loopをリンクリストのインスタンスに使用しました。これは動作します。他のどのような方法で私はそれをテストする必要がありますか?どのようにIterator/ListIteratorが動作するかテストしますか?

+0

すべてのメソッドは、さまざまな入力リスト(空、シングルトン、繰り返し要素など)で、ListListenerのListIteratorと全く同じ働きをすることをテストします。 –

+0

[Guava-testlib](https://blog.codefx.org/techniques/testing/test-collection-implementations-with-guava/)を見てください。イテレータ用のテストハーネスがいくつか含まれています。 – Henrik

答えて

1

通常、「通常の」ケースに加えて、すべてのエッジケースをテストする必要があります。多分:

  • テストでいくつかのヌルと
  • テスト空のリストと

    • テストでは、例外はのhasNext()がfalseを返した場合にスローされ、あなたは別の要素に
    • テスト削除をフェッチするために()
    • を試してみてください
    • テストのremove()の最後の要素を削除するときに削除呼び出し
    • テストは()を2回例外に
    をスローします

    など

  • +0

    イテレータで書いた 'previous()'メソッドが動作することを、どのようにテストしますか? – user8967903

    +1

    次のようなもの()? :)リストを作って、前進したり後退させたりするのですか?エッジケースを反対方向にテストします。 – xs0

    関連する問題