* ================================================================================
* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
- * Modifications Copyright (C) 2018 IBM
+ * Modifications Copyright (C) 2018-2019 IBM
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* ============LICENSE_END=========================================================
*/
-
package org.onap.appc.util;
-
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.text.ParseException;
+import java.time.LocalDate;
+import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.util.Calendar;
import java.util.Date;
+import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.TimeZone;
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import org.junit.Test;
-
public class TimeTest {
+ private final Date dateForTests = Date
+ .from(LocalDate.of(2004, 2, 9).atStartOfDay(ZoneId.systemDefault()).toInstant());
+
@Test
public void testAddTime() {
Time.dateOnly(cal);
- long msecFromBegin = cal.get(Calendar.HOUR_OF_DAY)*60*60*1000 +
- cal.get(Calendar.MINUTE)*60*1000 +
- cal.get(Calendar.SECOND)*1000 +
- cal.get(Calendar.MILLISECOND);
+ long msecFromBegin = cal.get(Calendar.HOUR_OF_DAY) * 60 * 60 * 1000 + cal.get(Calendar.MINUTE) * 60 * 1000
+ + cal.get(Calendar.SECOND) * 1000 + cal.get(Calendar.MILLISECOND);
- assertEquals( msecFromBegin, 0);
+ assertEquals(msecFromBegin, 0);
}
@Test
public void testGetCurrentUTCDate() {
- Date utcDate = Time.getCurrentUTCDate();
-
ZonedDateTime utc = ZonedDateTime.now(ZoneOffset.UTC);
-
+ Date utcDate = Date.from(utc.toInstant());
long epochSecs = utc.toEpochSecond();
long utcSecs = utcDate.getTime() / 1000;
final Date dateNow = new Date();
assertTrue(Time.endOfDayLocal(dateNow) instanceof Date);
}
-
+
@Test
public void testGetDateByLocaleAndTimeZone() {
- final Date dateNow = new Date("19-Jul-2018");
- Locale locale = new Locale("fr");
- TimeZone timeZone = TimeZone.getTimeZone("Europe/France");
- assertNotNull(Time.getDateByLocaleAndTimeZone(dateNow,locale,timeZone));
- assertTrue(Time.getDateByLocaleAndTimeZone(dateNow,locale,timeZone) instanceof String);
+ final Date dateNow = new Date();
+ Locale locale = new Locale("fr");
+ TimeZone timeZone = TimeZone.getTimeZone("Europe/France");
+ assertNotNull(Time.getDateByLocaleAndTimeZone(dateNow, locale, timeZone));
+ assertTrue(Time.getDateByLocaleAndTimeZone(dateNow, locale, timeZone) instanceof String);
}
-
+
@Test
public void testUtcFormat() {
- final Date date = new Date("19-Jul-2018");
- assertNotNull(Time.utcFormat(date));
- assertTrue(Time.utcFormat(date) instanceof String);
+ final Date date = new Date();
+ assertNotNull(Time.utcFormat(date));
+ assertTrue(Time.utcFormat(date) instanceof String);
}
-
- //this test succeeds if localTime() does not throw an exception
+
+ // this test succeeds if localTime() does not throw an exception
@Test
public void testLocalTime() {
- Time.localTime(1532083631);
+ Time.localTime(1532083631);
}
-
+
@Test
public void testSetDate() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2018);
cal.set(Calendar.MONTH, 07);
cal.set(Calendar.DAY_OF_MONTH, 03);
- Calendar cal1= Time.setDate(cal, 2018, 07, 03);
+ Calendar cal1 = Time.setDate(cal, 2018, 07, 03);
assertEquals(cal, cal1);
}
-
+
@Test
public void testStartOfDayLocal() {
assertTrue(Time.startOfDayLocal() instanceof Date);
}
-
+
@Test
public void testTimeStamp() {
assertTrue(Time.timestamp() instanceof XMLGregorianCalendar);
}
-
+
@Test
public void testDateToStringConverterMillis() {
- String dateString=Time.dateToStringConverterMillis(new Date("02/09/2004"));
- String expected="2004-02-09 00:00:00:000";
+ String dateString = Time.dateToStringConverterMillis(dateForTests);
+ String expected = "2004-02-09 00:00:00:000";
assertEquals(expected, dateString);
}
-
+
@Test
- public void testStringToDateConverterMillis() throws ParseException{
- Date date=Time.stringToDateConverterMillis("2004-02-09 00:00:00:000");
- Date expected=new Date("02/09/2004");
+ public void testStringToDateConverterMillis() throws ParseException {
+ Date date = Time.stringToDateConverterMillis("2004-02-09 00:00:00:000");
+ Date expected = dateForTests;
assertEquals(expected, date);
}
+
+ @Test
+ public void testTruncateDate() throws ParseException {
+ Date date = Time.truncDate(dateForTests);
+ Date expected = dateForTests;
+ assertEquals(expected, date);
+ }
+
+ @Test
+ public void testToDate() throws ParseException, DatatypeConfigurationException {
+ Date date = dateForTests;
+ GregorianCalendar c = new GregorianCalendar();
+ c.setTime(date);
+ XMLGregorianCalendar calendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);
+ Date actual = Time.toDate(calendar);
+ Date expected = dateForTests;
+ assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testUtcTime() {
+ assertTrue(Time.utcTime()!=0);
+ }
+
+ @Test
+ public void testCurrentUTCDate() {
+ assertTrue(Time.getCurrentUTCDate() instanceof Date);
+ }
}