blob: 38d0cc96d7fbb14f2a67de285d479faab95f4a25 [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.sdo.helper.datahelper;
import junit.framework.TestCase;
import java.util.Calendar;
import java.util.Locale;
import java.util.TimeZone;
public class DataHelperToCalendarWithLocale extends DataHelperTestCases {
public DataHelperToCalendarWithLocale(String name) {
super(name);
}
public void testToCalendarWithGYearMonth() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.YEAR, 2001);
controlCalendar.set(Calendar.MONTH, 4);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("2001-05", lc);
assertTrue("Expected YEAR: " + controlCalendar.get(Calendar.YEAR) + ", but was: " + aCalendar.get(Calendar.YEAR), controlCalendar.get(Calendar.YEAR) == aCalendar.get(Calendar.YEAR));
assertTrue("Expected MONTH: " + controlCalendar.get(Calendar.MONTH) + ", but was: " + aCalendar.get(Calendar.MONTH), controlCalendar.get(Calendar.MONTH) == aCalendar.get(Calendar.MONTH));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected toString: " + controlCalendar.toString() + ", but was: " + aCalendar.toString(), controlCalendar.toString().equals(aCalendar.toString()));
}
public void testToCalendarWithGYear() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.YEAR, 2000);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("2000", lc);
assertTrue("Expected YEAR: " + controlCalendar.get(Calendar.YEAR) + ", but was: " + aCalendar.get(Calendar.YEAR), controlCalendar.get(Calendar.YEAR) == aCalendar.get(Calendar.YEAR));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected toString: " + controlCalendar.toString() + ", but was: " + aCalendar.toString(), controlCalendar.toString().equals(aCalendar.toString()));
}
public void testToCalendarWithGMonthDay() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.MONTH, 6);
controlCalendar.set(Calendar.DATE, 4);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("--07-04", lc);
assertTrue("Expected MONTH: " + controlCalendar.get(Calendar.MONTH) + ", but was: " + aCalendar.get(Calendar.MONTH), controlCalendar.get(Calendar.MONTH) == aCalendar.get(Calendar.MONTH));
assertTrue("Expected DATE: " + controlCalendar.get(Calendar.DATE) + ", but was: " + aCalendar.get(Calendar.DATE), controlCalendar.get(Calendar.DATE) == aCalendar.get(Calendar.DATE));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected toString: " + controlCalendar.toString() + ", but was: " + aCalendar.toString(), controlCalendar.toString().equals(aCalendar.toString()));
}
public void testToCalendarWithGMonth() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.MONTH, 10);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("--11", lc);
assertTrue("Expected MONTH: " + controlCalendar.get(Calendar.MONTH) + ", but was: " + aCalendar.get(Calendar.MONTH), controlCalendar.get(Calendar.MONTH) == aCalendar.get(Calendar.MONTH));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected toString: " + controlCalendar.toString() + ", but was: " + aCalendar.toString(), controlCalendar.toString().equals(aCalendar.toString()));
}
public void testToCalendarWithGDay() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.DATE, 15);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("---15", lc);
assertTrue("Expected DATE: " + controlCalendar.get(Calendar.DATE) + ", but was: " + aCalendar.get(Calendar.DATE), controlCalendar.get(Calendar.DATE) == aCalendar.get(Calendar.DATE));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected toString: " + controlCalendar.toString() + ", but was: " + aCalendar.toString(), controlCalendar.toString().equals(aCalendar.toString()));
}
public void testToCalendarWithTime() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.HOUR, 1);
controlCalendar.set(Calendar.MINUTE, 21);
controlCalendar.set(Calendar.SECOND, 12);
controlCalendar.set(Calendar.MILLISECOND, 0);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("01:21:12", lc);
assertTrue("Expected HOUR: " + controlCalendar.get(Calendar.HOUR) + ", but was: " + aCalendar.get(Calendar.HOUR), controlCalendar.get(Calendar.HOUR) == aCalendar.get(Calendar.HOUR));
assertTrue("Expected MINUTE: " + controlCalendar.get(Calendar.MINUTE) + ", but was: " + aCalendar.get(Calendar.MINUTE), controlCalendar.get(Calendar.MINUTE) == aCalendar.get(Calendar.MINUTE));
assertTrue("Expected SECOND: " + controlCalendar.get(Calendar.SECOND) + ", but was: " + aCalendar.get(Calendar.SECOND), controlCalendar.get(Calendar.SECOND) == aCalendar.get(Calendar.SECOND));
assertTrue("Expected MILLISECOND: " + controlCalendar.get(Calendar.MILLISECOND) + ", but was: " + aCalendar.get(Calendar.MILLISECOND), controlCalendar.get(Calendar.MILLISECOND) == aCalendar.get(Calendar.MILLISECOND));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected toString: " + controlCalendar.toString() + ", but was: " + aCalendar.toString(), controlCalendar.toString().equals(aCalendar.toString()));
}
public void testToCalendarWithDate() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.YEAR, 2001);
controlCalendar.set(Calendar.MONTH, 0);
controlCalendar.set(Calendar.DATE, 1);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("2001-01-01", lc);
assertTrue("Expected YEAR: " + controlCalendar.get(Calendar.YEAR) + ", but was: " + aCalendar.get(Calendar.YEAR), controlCalendar.get(Calendar.YEAR) == aCalendar.get(Calendar.YEAR));
assertTrue("Expected MONTH: " + controlCalendar.get(Calendar.MONTH) + ", but was: " + aCalendar.get(Calendar.MONTH), controlCalendar.get(Calendar.MONTH) == aCalendar.get(Calendar.MONTH));
assertTrue("Expected DATE: " + controlCalendar.get(Calendar.DATE) + ", but was: " + aCalendar.get(Calendar.DATE), controlCalendar.get(Calendar.DATE) == aCalendar.get(Calendar.DATE));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected toString: " + controlCalendar.toString() + ", but was: " + aCalendar.toString(), controlCalendar.toString().equals(aCalendar.toString()));
}
public void testToCalendarWithDateTime() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.YEAR, 2001);
controlCalendar.set(Calendar.MONTH, 0);
controlCalendar.set(Calendar.DATE, 1);
controlCalendar.set(Calendar.HOUR, 0);
controlCalendar.set(Calendar.MINUTE, 0);
controlCalendar.set(Calendar.SECOND, 1);
controlCalendar.set(Calendar.MILLISECOND, 0);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("2001-01-01T00:00:01", lc);
assertTrue("Expected YEAR: " + controlCalendar.get(Calendar.YEAR) + ", but was: " + aCalendar.get(Calendar.YEAR), controlCalendar.get(Calendar.YEAR) == aCalendar.get(Calendar.YEAR));
assertTrue("Expected MONTH: " + controlCalendar.get(Calendar.MONTH) + ", but was: " + aCalendar.get(Calendar.MONTH), controlCalendar.get(Calendar.MONTH) == aCalendar.get(Calendar.MONTH));
assertTrue("Expected DATE: " + controlCalendar.get(Calendar.DATE) + ", but was: " + aCalendar.get(Calendar.DATE), controlCalendar.get(Calendar.DATE) == aCalendar.get(Calendar.DATE));
assertTrue("Expected HOUR: " + controlCalendar.get(Calendar.HOUR) + ", but was: " + aCalendar.get(Calendar.HOUR), controlCalendar.get(Calendar.HOUR) == aCalendar.get(Calendar.HOUR));
assertTrue("Expected MINUTE: " + controlCalendar.get(Calendar.MINUTE) + ", but was: " + aCalendar.get(Calendar.MINUTE), controlCalendar.get(Calendar.MINUTE) == aCalendar.get(Calendar.MINUTE));
assertTrue("Expected SECOND: " + controlCalendar.get(Calendar.SECOND) + ", but was: " + aCalendar.get(Calendar.SECOND), controlCalendar.get(Calendar.SECOND) == aCalendar.get(Calendar.SECOND));
assertTrue("Expected MILLISECOND: " + controlCalendar.get(Calendar.MILLISECOND) + ", but was: " + aCalendar.get(Calendar.MILLISECOND), controlCalendar.get(Calendar.MILLISECOND) == aCalendar.get(Calendar.MILLISECOND));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected toString: " + controlCalendar.toString() + ", but was: " + aCalendar.toString(), controlCalendar.toString().equals(aCalendar.toString()));
}
public void testToCalendarWithDuration() {
Locale lc = Locale.US;
Calendar controlCalendar = Calendar.getInstance(lc);
controlCalendar.clear();
controlCalendar.set(Calendar.YEAR, 12);
controlCalendar.set(Calendar.MONTH, Calendar.OCTOBER);
controlCalendar.set(Calendar.DATE, 2);
controlCalendar.set(Calendar.HOUR, 0);
controlCalendar.set(Calendar.MINUTE, 40);
controlCalendar.set(Calendar.SECOND, 27);
controlCalendar.set(Calendar.MILLISECOND, 870);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("P12Y10M2DT0H40M27.87S", lc);
assertTrue("Expected YEAR: " + controlCalendar.get(Calendar.YEAR) + ", but was: " + aCalendar.get(Calendar.YEAR), controlCalendar.get(Calendar.YEAR) == aCalendar.get(Calendar.YEAR));
assertTrue("Expected MONTH: " + controlCalendar.get(Calendar.MONTH) + ", but was: " + aCalendar.get(Calendar.MONTH), controlCalendar.get(Calendar.MONTH) == aCalendar.get(Calendar.MONTH));
assertTrue("Expected DATE: " + controlCalendar.get(Calendar.DATE) + ", but was: " + aCalendar.get(Calendar.DATE), controlCalendar.get(Calendar.DATE) == aCalendar.get(Calendar.DATE));
assertTrue("Expected HOUR: " + controlCalendar.get(Calendar.HOUR) + ", but was: " + aCalendar.get(Calendar.HOUR), controlCalendar.get(Calendar.HOUR) == aCalendar.get(Calendar.HOUR));
assertTrue("Expected MINUTE: " + controlCalendar.get(Calendar.MINUTE) + ", but was: " + aCalendar.get(Calendar.MINUTE), controlCalendar.get(Calendar.MINUTE) == aCalendar.get(Calendar.MINUTE));
assertTrue("Expected SECOND: " + controlCalendar.get(Calendar.SECOND) + ", but was: " + aCalendar.get(Calendar.SECOND), controlCalendar.get(Calendar.SECOND) == aCalendar.get(Calendar.SECOND));
assertTrue("Expected MILLISECOND: " + controlCalendar.get(Calendar.MILLISECOND) + ", but was: " + aCalendar.get(Calendar.MILLISECOND), controlCalendar.get(Calendar.MILLISECOND) == aCalendar.get(Calendar.MILLISECOND));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
}
public void testToCalendarWithNullInput() {
Locale lc = Locale.US;
Calendar aCalendar = dataHelper.toCalendar(null, lc);
assertTrue("dataHelper.toCalendar(null, Locale.US) did not return null as expected.", aCalendar == null);
}
public void testToCalendarWithInvalidInput() {
try {
Locale lc = Locale.US;
Calendar aCalendar = dataHelper.toCalendar("--2000", lc);
assertNull(aCalendar);
} catch (IllegalArgumentException e) {
}
}
public void testToCalendarWithNullLocale() {
Locale lc = null;
Calendar controlCalendar = Calendar.getInstance();
controlCalendar.clear();
controlCalendar.set(Calendar.YEAR, 2001);
controlCalendar.set(Calendar.MONTH, 0);
controlCalendar.set(Calendar.DATE, 1);
controlCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
Calendar aCalendar = dataHelper.toCalendar("2001-01-01", lc);
assertTrue("Expected YEAR: " + controlCalendar.get(Calendar.YEAR) + ", but was: " + aCalendar.get(Calendar.YEAR), controlCalendar.get(Calendar.YEAR) == aCalendar.get(Calendar.YEAR));
assertTrue("Expected MONTH: " + controlCalendar.get(Calendar.MONTH) + ", but was: " + aCalendar.get(Calendar.MONTH), controlCalendar.get(Calendar.MONTH) == aCalendar.get(Calendar.MONTH));
assertTrue("Expected DATE: " + controlCalendar.get(Calendar.DATE) + ", but was: " + aCalendar.get(Calendar.DATE), controlCalendar.get(Calendar.DATE) == aCalendar.get(Calendar.DATE));
assertTrue("Expected TimeZone: " + controlCalendar.getTimeZone() + ", but was: " + aCalendar.getTimeZone(), controlCalendar.getTimeZone().equals(aCalendar.getTimeZone()));
assertTrue("Expected same time in millis", controlCalendar.getTimeInMillis() == aCalendar.getTimeInMillis());
}
public void testToCalendarWithNullString() {
Locale lc = Locale.US;
Calendar aCalendar = dataHelper.toCalendar(null, lc);
assertTrue("dataHelper.toCalendar(null, Locale.US) did not return null as expected.", aCalendar == null);
}
}