I also see
assertEquals() between objects of inconvertible types 'List ' and 'List ' at line 251
assertEquals() between objects of inconvertible types 'Object' and 'double' at line 149
assertEquals() between objects of inconvertible types 'Object' and 'int' at line 309
assertEquals() between objects of inconvertible types 'Object' and 'long' at line 88
assertEquals() between objects of inconvertible types 'Object' and 'byte' at line 46
assertEquals() between objects of inconvertible types 'Object' and 'char' at line 53
assertEquals() between objects of inconvertible types 'Object' and 'short' at line 26
assertEquals() between objects of inconvertible types 'Map ' and 'Map ' at line 33
assertEquals() between objects of inconvertible types 'CheckedSet ? extends DataValue,?>>' and 'CheckedSet >' at line 483
I am assuming there are three issues here.
1) If the generics are inconvertible it complains is the generic types are different. The tool tip appear have a more meaningful message but the inspections code message is confusing.
e.g. The first array is List<String> but it thinks the second is List<Object>
assertEquals(Arrays.asList(STRING_DATA), Arrays.asList(list1.toArray()));
2) The check doesn't take in account auto boxing.
3) The code inspection message sometimes has 'Set??' or 'List??' or 'Map??' which doesn't appear in the cut-and-paste. In the last example the type is really confused.
Perhaps the render doesn't like < ?