2014-12-02 1 views
0

Sighting [] 배열을 반환하는 메서드가 있습니다. 유닛 테스트에서는 인덱스 [0]에 하나의 요소 (element1)가 있어야합니다.junit 어떻게 내 메서드가 특정 배열을 반환한다고 주장하겠습니까

제 질문은 이것을 반영하여 내 성명을 어떻게 작성합니까? 내 getMostOfSpecies 메소드에 의해 반환 된 배열은 첫 번째 인덱스 값에서 element1을 포함한다고 주장해야합니다.

내 (실패) 시험이

@Test 
public void getMostOfSpeciesTest() 
{ 
    try { 
     birdList1.remember(sighting5); 
     birdList1.remember(sighting6); 
     birdList1.remember(sighting7); 
     birdList1.remember(sighting8); 
     assertEquals(birdList1.getMostOfSpecies("SOBI"), Sighting[???what to put here???]); 
    } 
    catch (Exception e) { 
     fail("Failed" + e.getMessage()); 
    } 
} 

답변

2

당신이 Arrays.equals()를 시도처럼 보인다 [1]? Sighting 클래스의 equals() - 메서드도 재정의해야합니다.

assertTrue(Arrays.equals(birdList1.getMostOfSpecies("SOBI"), yourSightingArray); 

[1] https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html

편집 :

어레이는 [2] 또는 목록의와 함께 Arrays.asList()에 포함 Arrays.binarySearch()에 관심이있을 수있는 하나의 특정 객체를 포함하는지 확인해야하는 경우()-방법.

assertTrue(Arrays.binarySearch(birdList1.getMostOfSpecies("SOBI"), theElementYouExpect) >= 0); 

[2] https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#binarySearch(java.lang.Object[],%20java.lang.Object)

+0

ANDD, 내 방법은 배열을 반환 같은 당신의 어설 문이 보일 것입니다. 특정 요소가 포함되어 있는지 테스트해야합니다. – user3738926

+0

죄송합니다. 질문의 제목이 "특정 배열을 반환합니다"라고 오해의 소지가 있습니다.하지만 Arrays.binarySearch를 사용할 수 있습니다. 귀하가 찾고있는 것입니다. 나는 내 대답을 편집 할 것이다. 덕분에 – a11n

+0

. 그게 효과가 있었어. – user3738926