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 );

    }

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to