< prev index next > test/jdk/java/util/Collections/T6433170.java
Print this page
/*
! * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
/*
! * Copyright (c) 2007, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
/*
* @test
* @bug 6433170
* @summary CheckedCollection.addAll should be all-or-nothing
+ * @library /test/lib
*/
+ import jdk.test.lib.valueclass.VClass;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import static java.util.Collections.checkedList;
import static java.util.Collections.checkedSet;
@SuppressWarnings("unchecked")
public class T6433170 {
+
private void checkEmpty(Collection x) {
check(x.isEmpty());
check(x.size() == 0);
check(x.toArray().length == 0);
}
checkedSet(new HashSet(), String.class),
Object.class));
test(checkedCollection(
checkedCollection(new Vector(), String.class),
Object.class));
+
+ Collection<VClass> vc = checkedCollection(new ArrayList<>(), VClass.class);
+ List mixed = Arrays.asList(new VClass(1, new int[] { 1 }), new VClass(2, new int[] { 2 }), "not a Tuple");
+ THROWS(ClassCastException.class,
+ new F(){void f(){ vc.addAll(mixed); }});
+ checkEmpty(vc);
}
void test(final Collection checked) {
checkEmpty(checked);
final List mixedList = Arrays.asList("1", 2, "3");
< prev index next >