2016-08-22 2 views
0

TreeMap에있는 객체가 올바른 순서에 있다고 주장하도록 Junit 테스트를 작성하려고합니다.TreeMap의 Object가 올바른 순서로 배열되어 있다는 것을 나타 내기위한 unit test?

어떻게하면됩니까?

assertEquals(treeMapFromMethod.get(0), ValueThatShouldBeFirstEntryInTreeMap); 

을하지만 난 오류 무엇입니까 :

나는 다음을 수행하려고

"java.lang.ClassCastException: java.lang.Integer cannot be cast to MyObJect" 

이 오류는 위의 라인에 관한 것이다.

어떻게 해결할 수 있습니까?/이것을 테스트 할 수있는 더 좋은 방법이 있습니까?

+0

TreeMap을 TreeMap으로 입력 했습니까? Java가 MyObject에 0을 캐스팅 할 수없는 것처럼 보입니다. – Florian

+0

맵 (값)을 반복해야하고, get()을 기반으로하는 인덱스는 없습니다. – Kayaman

+0

ok thanks 아쉽게도 값을 반복해서 시도하십시오. – java123999

답변

1

당신이 Hamcrest를 사용하는 경우에는 contains 정규 쉽게이 작업을 수행 할 수 있습니다

TreeMap<String, Integer> map = new TreeMap<>(); 
map.put("one", 1); 
map.put("two", 2); 
map.put("three", 3); 

Assert.assertThat(map.keySet(), Matchers.contains("one", "three", "two")); 

contains 정규 검사를, 지정된 컬렉션은 동일한 길이와 동일한 순서로 주어진 항목을 포함합니다.