blob: f03a63cc1b756132bd6ab436d682c4fb31dd2fa7 (
plain) (
tree)
|
|
package org.uic.barcode.test;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import org.junit.Before;
import org.junit.Test;
import org.uic.barcode.dynamicContent.fdc1.TimeStamp;
import org.uic.barcode.logger.LoggerFactory;
public class TimeStampTest {
@Before public void initialize() {
LoggerFactory.setActivateConsoleLog(true);
}
@Test public void testDateConversion() {
TimeStamp ts = new TimeStamp();
ts.setDay(10L);
ts.setTime(6000L);
Date date = ts.getTimeAsDate();
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
cal.setTime(date);
long seconds = cal.get(Calendar.SECOND);
seconds = seconds + cal.get(Calendar.MINUTE) * 60;
seconds = seconds + cal.get(Calendar.HOUR_OF_DAY) * 60 * 60;
assert(seconds == 6000L);
}
@Test public void testDateConversion2() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
long day = (long) c.get(Calendar.DAY_OF_YEAR);
long now = c.getTimeInMillis();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long passed = now - c.getTimeInMillis();
long secondOfDay = passed / 1000;
TimeStamp ts = new TimeStamp();
assert (ts.day == day);
assert (ts.secondOfDay >= secondOfDay - 1);
assert (ts.secondOfDay <= secondOfDay + 1);
}
@Test public void testDateConversion3() {
//implemntation not available on older android versions:
ZonedDateTime now = ZonedDateTime.now(ZoneId.of("UTC"));
long day = new Long(now.get(ChronoField.DAY_OF_YEAR));
long secondOfDay = new Long(now.get(ChronoField.SECOND_OF_DAY));
//alternative implementation
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
long day2 = (long) c.get(Calendar.DAY_OF_YEAR);
long now2 = c.getTimeInMillis();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long passed = now2 - c.getTimeInMillis();
long secondOfDay2 = passed / 1000;
assert (day2 == day);
assert (secondOfDay2 >= secondOfDay - 1);
assert (secondOfDay2 <= secondOfDay + 1);
}
}
|