Request for review : 7121314 : Behavior mismatch between AbstractCollection.toArray(T[] ) and its spec
Ulf Zibis
Ulf.Zibis at gmx.de
Fri Mar 30 22:08:59 UTC 2012
Oops, yes, there is a bug in my code:
FIXED_SIZE can't be reused for multiple instances of TestCollection, so it must not be static.
Correction:
public class TestCollection<E> extends AbstractCollection<E> {
private final E[] elements;
private final int[] fixedSize;
private int[] sizes;
private int nextSize;
public TestCollection(E[] elements) {
this.elements = elements;
setSizeSequence(fixedSize = new int[]{elements.length});
}
void setSizeSequence(int... sizes) {
this.sizes = sizes != null ? sizes : fixedSize;
nextSize = 0;
}
...
-Ulf
Am 30.03.2012 09:45, schrieb Sean Chou:
> Hi Ulf,
>
> While try the ToArray.java testcase, I got the following output with jdk1.7.0_01:
>
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1342)
> at InfraStructure.fail(InfraStructure.java:9)
> at InfraStructure.check(InfraStructure.java:12)
> at ToArray.test(ToArray.java:39)
> at InfraStructure.run(InfraStructure.java:20)
> at ToArray.main(ToArray.java:114)
> java.lang.ArrayIndexOutOfBoundsException: 2
> at ToArray.test(ToArray.java:40)
> at InfraStructure.run(InfraStructure.java:20)
> at ToArray.main(ToArray.java:114)
>
>
> The ArrayIndexOutOfBoundsException is easy to figure out, will you please have a look at the
> first one?
>
>
> On Thu, Mar 29, 2012 at 2:48 AM, Ulf Zibis <Ulf.Zibis at gmx.de <mailto:Ulf.Zibis at gmx.de>> wrote:
>
> Hi David, Sean,
>
> I have made little changes to make understanding little easier, see attachment...
>
> -Ulf
>
>
>
> Am 28.03.2012 07:29, schrieb David Holmes:
>
> Hi Ulf,
>
>
> I understand your point about ensuring we test AbstractCollection.toArray but I find this
> revised test much harder to understand.
>
> Also in the name setPseudoConcurrentSizeCourse the word "Course" doesn't fit. I'm not sure
> what you were meaning here? Perhaps just modifySize or emulateConcurrentSizeChange ?
>
> Thanks,
> David
>
>
>
>
> --
> Best Regards,
> Sean Chou
>
More information about the core-libs-dev
mailing list