< prev index next > test/jdk/java/util/Collections/NCopies.java
Print this page
/*
! * Copyright (c) 2005, 2025, 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) 2005, 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 6267846 6275009
* @summary Test Collections.nCopies
* @author Martin Buchholz
+ * @library /test/lib
*/
+ import jdk.test.lib.valueclass.VClass;
import java.util.ArrayList;
import java.util.Collections;
import java.util.AbstractList;
import java.util.List;
import java.util.Objects;
check(copies.equals(copies.reversed()));
List<String> empty = Collections.nCopies(0, "content");
check(empty.equals(empty.reversed()));
}
+ private static void checkValueCopies() {
+ List<VClass> copies = Collections.nCopies(10, new VClass(7, new int[] { 7 }));
+ check(copies.indexOf(new VClass(7, new int[] { 7 })) == 0);
+ check(copies.lastIndexOf(new VClass(7, new int[] { 7 })) == 9);
+ check(copies.equals(referenceNCopies(10, new VClass(7, new int[] { 7 }))));
+ check(copies.hashCode() == referenceNCopies(10, new VClass(7, new int[] { 7 })).hashCode());
+ check(copies.equals(copies.reversed()));
+ }
+
public static void main(String[] args) {
try {
List<String> empty = Collections.nCopies(0, "foo");
checkEmpty(empty);
checkEmpty(empty.subList(0,0));
checkEquals();
checkReversed();
+ checkValueCopies();
+
} catch (Throwable t) { unexpected(t); }
System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed);
if (failed > 0) throw new Error("Some tests failed");
}
< prev index next >