Tests - fixed DateUtilsTest timing issue

This commit is contained in:
dragonmacher
2019-12-05 10:30:01 -05:00
parent 42399ef26b
commit fe7baaa2e0
@@ -17,26 +17,32 @@ package ghidra.util;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import org.junit.Before;
import org.junit.Test; import org.junit.Test;
public class DateUtilsTest { public class DateUtilsTest {
@Test private String testDateString;
public void testFormatDate() { private Date testDate;
Date date = new Date(1572896586687L);
assertEquals("11/04/2019", DateUtils.formatDate(date)); @Before
public void setUp() throws Exception {
SimpleDateFormat format = new SimpleDateFormat("MMM dd, yyyy hh:mm a");
testDateString = "Nov 04, 2019 02:43 PM";
testDate = format.parse(testDateString);
} }
@Test @Test
public void testFormatDateTime() throws ParseException { public void testFormatDate() {
SimpleDateFormat format = new SimpleDateFormat("MMM dd, yyyy hh:mm a"); assertEquals("11/04/2019", DateUtils.formatDate(testDate));
String dateString = "Nov 04, 2019 02:43 PM"; }
Date date = format.parse(dateString);
assertEquals(dateString, DateUtils.formatDateTimestamp(date)); @Test
public void testFormatDateTime() {
assertEquals(testDateString, DateUtils.formatDateTimestamp(testDate));
} }
@Test @Test
@@ -59,10 +65,10 @@ public class DateUtilsTest {
@Test @Test
public void testNormalize() { public void testNormalize() {
long now = System.currentTimeMillis(); long time = testDate.getTime();
long threeHourOffset = 3 * (60 * 60 * 1000); long threeHourOffset = 3 * (60 * 60 * 1000);
long future = now + threeHourOffset; long future = time + threeHourOffset;
Date nowDate = new Date(now); Date nowDate = new Date(time);
Date futureDate = new Date(future); Date futureDate = new Date(future);
assertNotEquals(nowDate, futureDate); assertNotEquals(nowDate, futureDate);
@@ -74,12 +80,12 @@ public class DateUtilsTest {
@Test @Test
public void testGetDaysBetween() { public void testGetDaysBetween() {
long now = System.currentTimeMillis(); long time = testDate.getTime();
int days = 3; int days = 3;
long threeDaysOffset = days * (24 * 60 * 60 * 1000); long threeDaysOffset = days * (24 * 60 * 60 * 1000);
long future = now + threeDaysOffset; long future = time + threeDaysOffset;
Date nowDate = new Date(now); Date nowDate = new Date(time);
Date futureDate = new Date(future); Date futureDate = new Date(future);
int daysBetween = DateUtils.getDaysBetween(nowDate, futureDate); int daysBetween = DateUtils.getDaysBetween(nowDate, futureDate);
assertEquals(days, daysBetween); assertEquals(days, daysBetween);
@@ -88,21 +94,21 @@ public class DateUtilsTest {
@Test @Test
public void testGetDaysBetween_SameDay() { public void testGetDaysBetween_SameDay() {
long now = System.currentTimeMillis(); long time = testDate.getTime();
Date nowDate = new Date(now); Date date = new Date(time);
int daysBetween = DateUtils.getDaysBetween(nowDate, nowDate); int daysBetween = DateUtils.getDaysBetween(date, date);
assertEquals(0, daysBetween); assertEquals(0, daysBetween);
} }
@Test @Test
public void testGetDaysBetween_MostRecentDateFirst() { public void testGetDaysBetween_MostRecentDateFirst() {
long now = System.currentTimeMillis(); long time = testDate.getTime();
int days = 3; int days = 3;
long threeDaysOffset = days * (24 * 60 * 60 * 1000); long threeDaysOffset = days * (24 * 60 * 60 * 1000);
long future = now + threeDaysOffset; long future = time + threeDaysOffset;
Date nowDate = new Date(now); Date nowDate = new Date(time);
Date futureDate = new Date(future); Date futureDate = new Date(future);
int daysBetween = DateUtils.getDaysBetween(futureDate, nowDate); int daysBetween = DateUtils.getDaysBetween(futureDate, nowDate);
assertEquals(days, daysBetween); assertEquals(days, daysBetween);