With what JUnit version?  I just tested is() and hasItems() and the
failure reporting message is 99% the same as assertEquals() with JUnit
4.8.2.  They both display toString()s of the expected and actuals,
just prefixed with different names/words.  What am I missing?


On Sun, Jun 12, 2011 at 2:52 PM, Stephen Connolly
<[email protected]> wrote:
> 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 <[email protected]> wrote:
>> Next class. I haven't learned that one yet.
>>
>> On Sun, Jun 12, 2011 at 3:39 PM, Stephen Connolly
>> <[email protected]> wrote:
>>> On 12 June 2011 20:23, Benson Margulies <[email protected]> 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: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to