From 8dea9ad4297e1be88af64f860787aa3b1a5c0aea Mon Sep 17 00:00:00 2001 From: bill-baumgartner Date: Wed, 5 Oct 2016 13:04:38 -0600 Subject: [PATCH] Use system time in test case timestamp comparison. The test case failure involves formatting of GMT offset in time stamps. RDF date literals are constructed using the system time, while the test case uses a hard-coded (MST) value for comparison. The expected value is now also constructed using the system time. --- .../rdfizer/rdf/ice/RdfUtilTest.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/datasource-rdfizer/src/test/java/edu/ucdenver/ccp/datasource/rdfizer/rdf/ice/RdfUtilTest.java b/datasource-rdfizer/src/test/java/edu/ucdenver/ccp/datasource/rdfizer/rdf/ice/RdfUtilTest.java index e354b25..a6d02e1 100644 --- a/datasource-rdfizer/src/test/java/edu/ucdenver/ccp/datasource/rdfizer/rdf/ice/RdfUtilTest.java +++ b/datasource-rdfizer/src/test/java/edu/ucdenver/ccp/datasource/rdfizer/rdf/ice/RdfUtilTest.java @@ -49,7 +49,10 @@ import java.io.File; import java.io.StringWriter; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.Arrays; +import java.util.Calendar; import java.util.GregorianCalendar; import org.hamcrest.Matchers; @@ -66,7 +69,6 @@ import edu.ucdenver.ccp.common.test.DefaultTestCase; import edu.ucdenver.ccp.datasource.identifiers.DataSource; -import edu.ucdenver.ccp.datasource.identifiers.DataSource; import edu.ucdenver.ccp.datasource.rdfizer.rdf.vocabulary.KIAO; import edu.ucdenver.ccp.datasource.rdfizer.rdf.vocabulary.RDF; @@ -150,7 +152,7 @@ public final void testGetDateLiteralLong() { long timeInMillis = 1292541019138L; Value value = getDateLiteral(timeInMillis); assertThat(value, Matchers.instanceOf(CalendarLiteralImpl.class)); - assertEquals("\"2010-12-16T16:10:19.138-07:00\"^^", value.toString()); + assertEquals(getExpectedTimeStamp(timeInMillis), value.toString()); } @Test @@ -160,7 +162,7 @@ public final void testGetDateLiteralGregorianCalendar() { c.setTimeInMillis(timeInMillis); Value value = getDateLiteral(c); assertThat(value, Matchers.instanceOf(CalendarLiteralImpl.class)); - assertEquals("\"2010-12-16T16:10:19.138-07:00\"^^", value.toString()); + assertEquals(getExpectedTimeStamp(timeInMillis), value.toString()); } @Test @@ -190,14 +192,28 @@ private void validateStatement(String subject, String predicate, String object, assertEquals("object:", object, s.getObject().toString()); } + + @Test public final void testGetCreationTimeStampStatement() { long timeInMillis = 1292541019138L; - String expectedTime = "\"2010-12-16T16:10:19.138-07:00\"^^"; + String expectedTime = getExpectedTimeStamp(timeInMillis); Statement s = getCreationTimeStampStatement(new URIImpl("http://myfile"), timeInMillis); validateStatement("http://myfile", KIAO.HAS_CREATION_DATE.uri().toString(), expectedTime, s); } + /** + * @param timeInMillis + * @return a time stamp String formatted as if it were in an RDF statement + */ + private String getExpectedTimeStamp(long timeInMillis) { + Calendar cal = new GregorianCalendar(); + cal.setTimeInMillis(timeInMillis); + DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); + String expectedTime = "\""+df.format(cal.getTime())+"\"^^"; + return expectedTime; + } + @Test public final void testGetFileHasLocalPathStatement() { Statement s = getFileHasLocalPathStatement("http://myfile", new File("/dir/file"), "dir");