On 12 June 2011 20:23, Benson Margulies <bimargul...@gmail.com> wrote: > I think I've written a unit test for the contract of this function as > written in the javadoc, but it fails. The intersection function > returns an empty collection when the inputs most definitely have a > non-null intersection. What am I missing? > > @SuppressWarnings( "rawtypes" ) > @Test > public void testIntersection() throws Exception { > Collection<String> c1 = new ArrayList<String>(); > Collection<String> c2 = new ArrayList<String>(); > /* > * An exhaustive black box test here > * would involve generating a great deal of data, > * perhaps even different sizes and collection classes. > */ > > c1.add("red"); > c1.add("blue"); > c1.add("green"); > c1.add("socialist"); > c1.add("red"); > c1.add("purple"); > c1.add("porpoise"); > c1.add("green"); > c1.add("blue"); > c1.add("gray"); > > c1.add("blue"); > c1.add("12"); > c1.add("15"); > c1.add("blue"); > c1.add("porpoise"); > c1.add("33.3"); > c1.add("jabberwock"); > > Multiset<String> correct = HashMultiset.create(); > correct.add( "blue" ); > correct.add( "blue" ); > correct.add( " porpoise "); > > @SuppressWarnings( "unchecked" ) > Collection<String> res = CollectionUtils.intersection( c1, c2 ); > Multiset<String> actual = HashMultiset.create(); > actual.addAll(res); > assertEquals( correct, actual );
I hate the bog standard assertEquals on collections... if you'd used the new style assertThat( actual, ... ) with the appropriate matcher you'd have better debug info ;-) > > } > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org