2017-12-01 10 views
1

단일 링크 된 링크 된 목록의 구현이 있습니다. 나는이 수업에 ListIterator을 썼다. ListIterator에 대한 구현이 작동하는지 어떻게 테스트 할 수 있습니까? 지금까지 나는 작동하는 연결된 목록의 인스턴스에 for-each loop을 사용했습니다. 다른 방법으로 그것을 테스트해야합니까?Iterator/ListIterator가 어떻게 작동하는지 테스트 할 수 있습니까?

+0

모든 메소드가 'ArrayList'의 ListIterator와 똑같은 방식으로 작동하는지, 다양한 입력 목록 (공백, 싱글 톤, 반복 요소 등)에서 작동하는지 테스트합니다. –

+0

[Guava-testlib] (https://blog.codefx.org/techniques/testing/test-collection-implementations-with-guava/)을보십시오. 여기에는 반복자에 대한 몇 가지 테스트 장치가 포함되어 있습니다. – Henrik

답변

1

일반적으로 "정상적인"경우 이외에 모든 엣지 케이스를 테스트하려고합니다. 미정 :

  • 시험에서 일부 널 (null)와
  • 테스트 빈 목록

    • 시험은 예외가 hasNext()가 false를 돌려 주었을 경우에 발생합니다 및 다른 요소를
    • 테스트 제거를 가져 오기 위해()
    • 시도 마지막 요소
    • 테스트 호출 제거 ​​()를 제거 할 때
    • 테스트 제거() 두 예외
    ,536을 던진다

  • +0

    이터레이터에서 작성한'previous()'메서드가 어떻게 작동하는지 테스트 할 수 있습니까? – user8967903

    +1

    다음()과 많이 닮았습니까? :) 목록을 만들고 앞으로 및 뒤로 약간 움직여야합니까? 가장자리 방향을 반대 방향으로 테스트하십시오. – xs0