maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Connolly <stephen.alan.conno...@gmail.com>
Subject Re: org.codehaus.plexus.util.CollectionUtils.intersection
Date Sun, 12 Jun 2011 19:52:14 GMT
At the very leaset

assertThat(actual, is(expected));

gives better diagnostics

then there is

assertThat(actual, not(is(unexpected));

nice ones are

assertThat(actual, hasItems(expectedContents));

On 12 June 2011 20:43, Benson Margulies <bimargulies@gmail.com> wrote:
> Next class. I haven't learned that one yet.
>
> On Sun, Jun 12, 2011 at 3:39 PM, Stephen Connolly
> <stephen.alan.connolly@gmail.com> wrote:
>> On 12 June 2011 20:23, Benson Margulies <bimargulies@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-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

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


Mime
View raw message