< prev index next >

test/jdk/java/util/Collections/Frequency.java

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 2003, 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.
--- 1,7 ---
  /*
!  * Copyright (c) 2003, 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.

*** 24,22 ***
--- 24,26 ---
  /*
   * @test
   * @bug     4193200
   * @summary Basic test for Collections.frequency
   * @author  Josh Bloch
+  * @library /test/lib
   */
  
+ import jdk.test.lib.valueclass.VClass;
  import java.util.ArrayList;
  import java.util.Collections;
  import java.util.LinkedList;
  import java.util.List;
  
  public class Frequency {
      static final int N = 100;
+ 
      public static void main(String[] args) {
          test(new ArrayList<Integer>());
          test(new LinkedList<Integer>());
+         testValue();
      }
  
      static void test(List<Integer> list) {
          for (int i = 0; i < N; i++)
              for (int j = 0; j < i; j++)

*** 48,6 ***
--- 52,17 ---
  
          for (int i = 0; i < N; i++)
              if (Collections.frequency(list, i) != i)
                  throw new RuntimeException(list.getClass() + ": " + i);
      }
+ 
+     static void testValue() {
+         List<VClass> values = new ArrayList<>();
+         for (int i = 0; i < N; i++)
+             for (int j = 0; j < i; j++)
+                 values.add(new VClass(i, new int[] { i }));
+         Collections.shuffle(values);
+         for (int i = 0; i < N; i++)
+             if (Collections.frequency(values, new VClass(i, new int[] { i })) != i)
+                 throw new RuntimeException("value frequency: " + i);
+     }
  }
< prev index next >