Java 断言树映射中的对象顺序正确的单元测试?

Java 断言树映射中的对象顺序正确的单元测试?,java,unit-testing,junit,classcastexception,treemap,Java,Unit Testing,Junit,Classcastexception,Treemap,我正在尝试编写一个Junit测试,以断言我的TreeMap中的对象顺序正确 我怎样才能做到 我正在努力做到以下几点: assertEquals(treeMapFromMethod.get(0), ValueThatShouldBeFirstEntryInTreeMap); 但是我得到了错误: "java.lang.ClassCastException: java.lang.Integer cannot be cast to MyObJect" 此错误与上面的行有关 如何解决此问题/是否有更好

我正在尝试编写一个
Junit
测试,以断言我的
TreeMap
中的对象顺序正确

我怎样才能做到

我正在努力做到以下几点:

assertEquals(treeMapFromMethod.get(0), ValueThatShouldBeFirstEntryInTreeMap);
但是我得到了错误

"java.lang.ClassCastException: java.lang.Integer cannot be cast to MyObJect"
此错误与上面的行有关


如何解决此问题/是否有更好的方法测试此问题?

如果使用Hamcrest,则可以使用
包含的
匹配器轻松完成此操作:

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"));
TreeMap map=newtreemap();
地图.放("一",一);;
地图("二",二);;
地图放置(“三”,3);
Assert.assertThat(map.keySet(),Matchers.contains(“一”、“三”、“二”));

contains
matcher检查给定集合是否具有相同的长度并以相同的顺序包含给定项。

如果使用Hamcrest,则可以使用
contains
matcher轻松完成此操作:

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"));
TreeMap map=newtreemap();
地图.放("一",一);;
地图("二",二);;
地图放置(“三”,3);
Assert.assertThat(map.keySet(),Matchers.contains(“一”、“三”、“二”));

包含
匹配器检查给定集合是否具有相同的长度,是否以相同的顺序包含给定项。

树映射是否键入为树映射?在我看来,Java似乎无法将0强制转换为MyObject。您需要迭代映射(值),没有基于索引的
get()
。好的,谢谢我尝试迭代值。您还可以从树映射中获取键列表,并将其与预期列表进行比较。您的ClassCastException可能是由于误用泛型造成的。启用所有编译器警告,删除任何
@SuppressWarnings
注释,并解决所有警告。树映射是否键入为树映射?在我看来,Java似乎无法将0强制转换为MyObject。您需要迭代映射(值),没有基于索引的
get()
。好的,谢谢我尝试迭代值。您还可以从树映射中获取键列表,并将其与预期列表进行比较。您的ClassCastException可能是由于误用泛型造成的。启用所有编译器警告,删除所有
@SuppressWarnings
注释,并解决所有警告。