To make sure I'm actually passing in the exact same values (by letting
the compiler create the arrays using the varargs feature) I added the
following output to the startsWithAny() method:

System.out.println("startsWithAny(): Received " + string + " input
with " + (searchStrings == null ? null :
Arrays.asList(searchStrings).toString()) + " input array");

When running the old version of the test code to the new version,
there was no difference in the output.

I also ran a similar test by changing getCommonPrefix() method:

System.out.println("getCommonPrefix(): Received " + (strs == null ?
null : Arrays.asList(strs).toString()) + " input array");

Again, no changes in the output.  So, we're at least exercising the
"guts" of the methods the same.  Now I can understand that you might
be saying that we're not exercising how the code is called the same
way in both cases, but the varargs support vs. the manual array
creation is identical.  If you think we should add back in the manual
String[] stuff, I guess we could, but I really don't see much value in
it other than testing that varargs == manual String[].


On Sun, Aug 8, 2010 at 4:26 PM, James Carman <ja...@carmanconsulting.com> wrote:
> On Sun, Aug 8, 2010 at 1:39 PM, sebb <seb...@gmail.com> wrote:
>>> +        assertFalse(StringUtils.startsWithAny("abcxyz", null, "xyz", 
>>> "abcd"));
>>
>> Most of the above changes seem wrong to me, as they change what is being 
>> tested.
>>
>> By all means add tests for varargs, but surely the array tests need to
>> be kept as well?
>>
>
> How do they change what is being tested exactly?
>

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

Reply via email to