< prev index next >

test/jdk/java/util/Calendar/bug4028518.java

Print this page
@@ -1,7 +1,7 @@
  /*
-  * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+  * Copyright (c) 1998, 2023, 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.

@@ -22,35 +22,32 @@
   */
  
  /*
   * @test
   * @bug 4028518
-  * @summary Make sure cloned GregorianCalendar is unchanged by modifying its original.
+  * @summary Ensure cloned GregorianCalendar is unchanged when modifying its original.
+  * @run junit bug4028518
   */
  
- import java.util.GregorianCalendar ;
- import static java.util.Calendar.*;
+ import java.util.GregorianCalendar;
+ 
+ import static java.util.Calendar.DAY_OF_MONTH;
+ 
+ import org.junit.jupiter.api.Test;
+ 
+ import static org.junit.jupiter.api.Assertions.assertNotEquals;
  
  public class bug4028518 {
  
-     public static void main(String[] args)
-     {
+     /*
+      * Ensure modifying the original GregorianCalendar does not
+      * modify the cloned one as well
+      */
+     @Test
+     public void clonedShouldNotChangeOriginalTest() {
          GregorianCalendar cal1 = new GregorianCalendar() ;
          GregorianCalendar cal2 = (GregorianCalendar) cal1.clone() ;
- 
-         printdate(cal1, "cal1: ") ;
-         printdate(cal2, "cal2 - cloned(): ") ;
          cal1.add(DAY_OF_MONTH, 1) ;
-         printdate(cal1, "cal1 after adding 1 day: ") ;
-         printdate(cal2, "cal2 should be unmodified: ") ;
-         if (cal1.get(DAY_OF_MONTH) == cal2.get(DAY_OF_MONTH)) {
-             throw new RuntimeException("cloned GregorianCalendar modified");
-         }
-     }
- 
-     private static void printdate(GregorianCalendar cal, String string)
-     {
-         System.out.println(string + (cal.get(MONTH) + 1)
-                            + "/" + cal.get(DAY_OF_MONTH)
-                            + "/" + cal.get(YEAR)) ;
+         assertNotEquals(cal1.get(DAY_OF_MONTH), cal2.get(DAY_OF_MONTH),
+                 "Cloned calendar should not have same value as original");
      }
  }
< prev index next >