You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by GitBox <gi...@apache.org> on 2019/11/06 18:18:20 UTC

[GitHub] [olingo-odata4] agoerler commented on a change in pull request #57: Support new date time API

agoerler commented on a change in pull request #57: Support new date time API
URL: https://github.com/apache/olingo-odata4/pull/57#discussion_r343251338
 
 

 ##########
 File path: lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java
 ##########
 @@ -31,105 +32,127 @@
 
 public class EdmTimeOfDayTest extends PrimitiveTypeBaseTest {
 
-  private final EdmPrimitiveType instance = EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.TimeOfDay);
-
-  @Test
-  public void toUriLiteral() throws Exception {
-    assertEquals("11:12", instance.toUriLiteral("11:12"));
-    assertEquals("11:12:13.012", instance.toUriLiteral("11:12:13.012"));
-  }
-
-  @Test
-  public void fromUriLiteral() throws Exception {
-    assertEquals("11:12", instance.fromUriLiteral("11:12"));
-    assertEquals("11:12:13.012", instance.fromUriLiteral("11:12:13.012"));
-  }
-
-  @Test
-  public void valueToString() throws Exception {
-    Calendar dateTime = Calendar.getInstance();
-    dateTime.clear();
-    dateTime.setTimeZone(TimeZone.getTimeZone("GMT+11:30"));
-    dateTime.set(1, 2, 3, 4, 5, 6);
-    assertEquals("04:05:06", instance.valueToString(dateTime, null, null, null, null, null));
-
-    dateTime.add(Calendar.MILLISECOND, 42);
-    assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, null, null, null));
-    assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, 3, null, null));
-    assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, 4, null, null));
-
-    Calendar dateTime2 = Calendar.getInstance();
-    dateTime2.clear();
-    dateTime2.setTimeZone(TimeZone.getDefault());
-    dateTime2.set(Calendar.HOUR, 5);
-    dateTime2.set(Calendar.MINUTE, 59);
-    dateTime2.set(Calendar.SECOND, 23);
-    final Time time = new Time(dateTime2.getTimeInMillis());
-    assertEquals("05:59:23", instance.valueToString(time, null, null, null, null, null));
-
-    assertEquals("05:59:23", instance.valueToString(dateTime2.getTimeInMillis(), null, null, null, null, null));
-
-    expectFacetsErrorInValueToString(instance, dateTime, null, null, 2, null, null);
-    Timestamp timestamp = new Timestamp(0);
-    timestamp.setNanos(42);
-    expectFacetsErrorInValueToString(instance, timestamp, null, null, 8, null, null);
-
-    expectTypeErrorInValueToString(instance, 0);
-  }
-
-  @Test
-  public void valueOfString() throws Exception {
-    Calendar dateTime = Calendar.getInstance();
-    dateTime.clear();
-
-    assertEquals(dateTime, instance.valueOfString("00:00", null, null, null, null, null, Calendar.class));
-    assertEquals(dateTime, instance.valueOfString("00:00:00", null, null, null, null, null, Calendar.class));
-    assertEquals(dateTime, instance.valueOfString("00:00:00.000000000000", null, null, null, null, null,
-        Calendar.class));
-
-    final Time timeValue = instance.valueOfString("00:00:00.999", null, null, 3, null, null, Time.class);
-    assertEquals(dateTime.getTimeInMillis(), timeValue.getTime());
-
-    dateTime.set(Calendar.MILLISECOND, 999);
-    assertEquals(dateTime, instance.valueOfString("00:00:00.999", null, null, 3, null, null, Calendar.class));
-    assertEquals(dateTime, instance.valueOfString("00:00:00.999", null, null, 3, null, null, Calendar.class));
-    assertEquals(Long.valueOf(dateTime.getTimeInMillis()),
-        instance.valueOfString("00:00:00.999", null, null, 3, null, null, Long.class));
-
-    final Timestamp timestamp = instance.valueOfString("00:00:00.999888777", null, null, 9, null, null,
-        Timestamp.class);
-    assertEquals(dateTime.getTimeInMillis(), timestamp.getTime());
-    assertEquals(999888777, timestamp.getNanos());
-
-    expectFacetsErrorInValueOfString(instance, "11:12:13.123", null, null, null, null, null);
-    expectFacetsErrorInValueOfString(instance, "11:12:13.123", null, null, 2, null, null);
-
-    expectUnconvertibleErrorInValueOfString(instance, "11:12:13.1234", Calendar.class);
-    expectUnconvertibleErrorInValueOfString(instance, "11:12:13.0123456789", Timestamp.class);
-
-    expectContentErrorInValueOfString(instance, "24:32:02");
-    expectContentErrorInValueOfString(instance, "011:12:13");
-    expectContentErrorInValueOfString(instance, "11:12:13:14");
-    expectContentErrorInValueOfString(instance, "111213");
-    expectContentErrorInValueOfString(instance, "1:2:3");
-    expectContentErrorInValueOfString(instance, "11:12:13.0.1");
-    expectContentErrorInValueOfString(instance, "11:12:13.");
-    expectContentErrorInValueOfString(instance, "11:12:13.0000000000000");
-
-    expectTypeErrorInValueOfString(instance, "11:12:13");
-  }
-
-  @Test
-  public void testRoundTripTime() throws Exception {
-    java.sql.Time time = instance.valueOfString("04:05:06.002", true,
-        4000, 3, 0, true, java.sql.Time.class);
-    String val = instance.valueToString(time, true, 4000, 3, 0, true);
-    assertEquals("04:05:06", val);
-  }
-
-  @Test
-  public void tests() throws Exception {
-    instance.validate("12:34:55", null, null, null, null, null);
-  }
+	private final EdmPrimitiveType instance = EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.TimeOfDay);
+
+	@Test
+	public void toUriLiteral() throws Exception {
+		assertEquals("11:12", instance.toUriLiteral("11:12"));
+		assertEquals("11:12:13.012", instance.toUriLiteral("11:12:13.012"));
+	}
+
+	@Test
+	public void fromUriLiteral() throws Exception {
+		assertEquals("11:12", instance.fromUriLiteral("11:12"));
+		assertEquals("11:12:13.012", instance.fromUriLiteral("11:12:13.012"));
+	}
+
+	@Test
+	public void valueToString() throws Exception {
+		Calendar dateTime = Calendar.getInstance();
+		dateTime.clear();
+		setTimeZone(dateTime, "GMT+11:30");
+		dateTime.set(1, 2, 3, 4, 5, 6);
+		assertEquals("04:05:06", instance.valueToString(dateTime, null, null, null, null, null));
+
+		dateTime.add(Calendar.MILLISECOND, 42);
+		assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, null, null, null));
+		assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, 3, null, null));
+		assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, 4, null, null));
+
+		Calendar dateTime2 = Calendar.getInstance();
+		dateTime2.clear();
+		setTimeZone(dateTime, TimeZone.getDefault());
+		dateTime2.set(Calendar.HOUR, 5);
+		dateTime2.set(Calendar.MINUTE, 59);
+		dateTime2.set(Calendar.SECOND, 23);
+		final Time time = new Time(dateTime2.getTimeInMillis());
+		assertEquals("05:59:23", instance.valueToString(time, null, null, null, null, null));
+
+		assertEquals("05:59:23", instance.valueToString(dateTime2.getTimeInMillis(), null, null, null, null, null));
+
+//    expectFacetsErrorInValueToString(instance, dateTime, null, null, 2, null, null);
+//    Timestamp timestamp = new Timestamp(0);
+//    timestamp.setNanos(42);
+//    expectFacetsErrorInValueToString(instance, timestamp, null, null, 8, null, null);
+
+		expectTypeErrorInValueToString(instance, 0);
+	}
+
+	@Test
+	public void valueToStringFromLocalTime() throws Exception {
+		LocalTime time = LocalTime.parse("04:05:06");
+		assertEquals("04:05:06", instance.valueToString(time, null, null, null, null, null));
+	}
+
+	@Test
+	public void valueToStringFromJavaSqlTime() throws Exception {
+		java.sql.Time time = java.sql.Time.valueOf("04:05:06");
+		assertEquals("04:05:06", instance.valueToString(time, null, null, null, null, null));
+	}
+	
+	@Test
+	public void valueOfString() throws Exception {
+		Calendar dateTime = Calendar.getInstance();
+		dateTime.clear();
+
+		assertEqualCalendar(dateTime, instance.valueOfString("00:00", null, null, null, null, null, Calendar.class));
+		assertEqualCalendar(dateTime, instance.valueOfString("00:00:00", null, null, null, null, null, Calendar.class));
+		assertEqualCalendar(dateTime,
+				instance.valueOfString("00:00:00.000000000", null, null, null, null, null, Calendar.class));
+
+		final Time timeValue = instance.valueOfString("00:00:00.999", null, null, 3, null, null, Time.class);
+		assertEquals(dateTime.getTimeInMillis(), timeValue.getTime());
+
+		dateTime.set(Calendar.MILLISECOND, 999);
+		assertEqualCalendar(dateTime,
+				instance.valueOfString("00:00:00.999", null, null, 3, null, null, Calendar.class));
+		assertEqualCalendar(dateTime,
+				instance.valueOfString("00:00:00.999", null, null, 3, null, null, Calendar.class));
+		assertEquals(Long.valueOf(dateTime.getTimeInMillis()),
+				instance.valueOfString("00:00:00.999", null, null, 3, null, null, Long.class));
+
+		final Timestamp timestamp = instance.valueOfString("00:00:00.999888777", null, null, 9, null, null,
+				Timestamp.class);
+		assertEquals(dateTime.getTimeInMillis(), timestamp.getTime());
+		assertEquals(999888777, timestamp.getNanos());
+
+//    expectUnconvertibleErrorInValueOfString(instance, "11:12:13.1234", Calendar.class);
+//    expectUnconvertibleErrorInValueOfString(instance, "11:12:13.0123456789", Timestamp.class);
+
+		expectContentErrorInValueOfString(instance, "24:32:02");
+		expectContentErrorInValueOfString(instance, "011:12:13");
+		expectContentErrorInValueOfString(instance, "11:12:13:14");
+		expectContentErrorInValueOfString(instance, "111213");
+		expectContentErrorInValueOfString(instance, "1:2:3");
+		expectContentErrorInValueOfString(instance, "11:12:13.0.1");
+//    expectContentErrorInValueOfString(instance, "11:12:13.");
+		expectContentErrorInValueOfString(instance, "11:12:13.0000000000000");
+
+		expectTypeErrorInValueOfString(instance, "11:12:13");
+	}
+	
+	@Test
+	public void valueOfStringToLocalTime() throws Exception {
+		LocalTime time = LocalTime.parse("04:05:06");
+		assertEquals(time, instance.valueOfString("04:05:06", null, null, null, null, null, LocalTime.class));
+	}
 
 Review comment:
   done

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services