You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by sk...@apache.org on 2014/03/10 10:02:26 UTC
[10/51] [abbrv] [partial] [OLINGO-192] rename java packages
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffsetTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffsetTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffsetTest.java
new file mode 100644
index 0000000..f92fbec
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffsetTest.java
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.junit.Test;
+
+public class EdmDateTimeOffsetTest extends PrimitiveTypeBaseTest {
+
+ final EdmPrimitiveType instance = EdmPrimitiveTypeKind.DateTimeOffset.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void toUriLiteral() throws Exception {
+ assertEquals("2009-12-26T21:23:38Z", instance.toUriLiteral("2009-12-26T21:23:38Z"));
+ assertEquals("2002-10-10T12:00:00-05:00", instance.toUriLiteral("2002-10-10T12:00:00-05:00"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("2009-12-26T21:23:38Z", instance.fromUriLiteral("2009-12-26T21:23:38Z"));
+ assertEquals("2002-10-10T12:00:00-05:00", instance.fromUriLiteral("2002-10-10T12:00:00-05:00"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ Calendar dateTime = Calendar.getInstance();
+ dateTime.clear();
+ dateTime.setTimeZone(TimeZone.getTimeZone("GMT"));
+ dateTime.set(2012, 1, 29, 1, 2, 3);
+ assertEquals("2012-02-29T01:02:03Z", instance.valueToString(dateTime, null, null, null, null, null));
+ assertEquals("2012-02-29T01:02:03Z", instance.valueToString(dateTime, null, null, 0, null, null));
+ assertEquals("2012-02-29T01:02:03Z", instance.valueToString(dateTime, null, null, 5, null, null));
+
+ dateTime.setTimeZone(TimeZone.getTimeZone("GMT-1:30"));
+ assertEquals("2012-02-29T01:02:03-01:30", instance.valueToString(dateTime, null, null, null, null, null));
+
+ dateTime.setTimeZone(TimeZone.getTimeZone("GMT+11:00"));
+ assertEquals("2012-02-29T01:02:03+11:00", instance.valueToString(dateTime, null, null, null, null, null));
+
+ final Long millis = 1330558323007L;
+ assertEquals("2012-02-29T23:32:03.007Z", instance.valueToString(millis, null, null, 3, null, null));
+ assertEquals("1969-12-31T23:59:59.9Z", instance.valueToString(-100L, null, null, 1, null, null));
+ assertEquals("1969-12-31T23:59:59.98Z", instance.valueToString(-20L, null, null, 2, null, null));
+
+ final Date date = new Date(millis);
+ final String time = date.toString().substring(11, 19);
+ assertTrue(instance.valueToString(date, null, null, 3, null, null).contains(time));
+
+ expectFacetsErrorInValueToString(instance, millis, null, null, null, null, null);
+ expectFacetsErrorInValueToString(instance, 3L, null, null, 2, null, null);
+
+ expectTypeErrorInValueToString(instance, 0);
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ Calendar dateTime = Calendar.getInstance();
+ dateTime.clear();
+ dateTime.setTimeZone(TimeZone.getTimeZone("GMT"));
+ dateTime.set(2012, 1, 29, 1, 2, 3);
+ assertEquals(dateTime, instance.valueOfString("2012-02-29T01:02:03Z", null, null, null, null, null,
+ Calendar.class));
+ assertEquals(Long.valueOf(dateTime.getTimeInMillis()), instance.valueOfString("2012-02-29T01:02:03+00:00", null,
+ null, null, null, null, Long.class));
+ assertEquals(dateTime, instance.valueOfString("2012-02-29T01:02:03", null, null, null, null, null,
+ Calendar.class));
+
+ dateTime.clear();
+ dateTime.setTimeZone(TimeZone.getTimeZone("GMT-01:30"));
+ dateTime.set(2012, 1, 29, 1, 2, 3);
+ assertEquals(dateTime.getTime(), instance.valueOfString("2012-02-29T01:02:03-01:30", null, null, null, null, null,
+ Date.class));
+
+ dateTime.clear();
+ dateTime.setTimeZone(TimeZone.getTimeZone("GMT+11:00"));
+ dateTime.set(2012, 1, 29, 1, 2, 3);
+ assertEquals(dateTime, instance.valueOfString("2012-02-29T01:02:03+11:00", null, null, null, null, null,
+ Calendar.class));
+
+ dateTime.add(Calendar.MILLISECOND, 7);
+ assertEquals(dateTime, instance.valueOfString("2012-02-29T01:02:03.007+11:00", null, null, 3, null, null,
+ Calendar.class));
+
+ assertEquals(Long.valueOf(120000L), instance.valueOfString("1970-01-01T00:02", null, null, null, null, null,
+ Long.class));
+ assertEquals(Long.valueOf(12L), instance.valueOfString("1970-01-01T00:00:00.012", null, null, 3, null, null,
+ Long.class));
+ assertEquals(Long.valueOf(120L), instance.valueOfString("1970-01-01T00:00:00.12", null, null, 2, null, null,
+ Long.class));
+
+ expectFacetsErrorInValueOfString(instance, "2012-02-29T23:32:02.9Z", null, null, null, null, null);
+ expectFacetsErrorInValueOfString(instance, "2012-02-29T23:32:02.9Z", null, null, 0, null, null);
+ expectContentErrorInValueOfString(instance, "2012-02-29T23:32:02X");
+ expectContentErrorInValueOfString(instance, "2012-02-29T23:32:02+24:00");
+ expectContentErrorInValueOfString(instance, "2012-02-30T01:02:03");
+ expectContentErrorInValueOfString(instance, "2012-02-29T23:32:02.");
+ expectContentErrorInValueOfString(instance, "2012-02-29T23:32:02.0000000000000");
+
+ expectTypeErrorInValueOfString(instance, "2012-02-29T01:02:03Z");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDecimalTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDecimalTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDecimalTest.java
new file mode 100644
index 0000000..9f987a7
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDecimalTest.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.core.edm.primitivetype.Uint7;
+import org.junit.Test;
+
+public class EdmDecimalTest extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.Decimal.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void compatibility() {
+ assertTrue(instance.isCompatible(Uint7.getInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Byte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.SByte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int16.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int64.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Single.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Double.getEdmPrimitiveTypeInstance()));
+ }
+
+ @Test
+ public void uriLiteral() throws Exception {
+ assertEquals("12.34", instance.toUriLiteral("12.34"));
+ assertEquals("12.34", instance.fromUriLiteral("12.34"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("0", instance.valueToString(0, null, null, null, null, null));
+ assertEquals("8", instance.valueToString((byte) 8, null, null, null, null, null));
+ assertEquals("16", instance.valueToString((short) 16, null, null, null, null, null));
+ assertEquals("32", instance.valueToString(Integer.valueOf(32), null, null, null, null, null));
+ assertEquals("-32768", instance.valueToString(-32768, null, null, null, null, null));
+ assertEquals("255", instance.valueToString(255L, null, null, null, null, null));
+ assertEquals("1234567890123456789012345678901", instance.valueToString(new BigInteger(
+ "1234567890123456789012345678901"), null, null, null, null, null));
+ assertEquals("0.00390625", instance.valueToString(1.0 / 256, null, null, null, 8, null));
+ assertEquals("-0.125", instance.valueToString(-0.125f, null, null, null, 3, null));
+ assertEquals("-1234567890.1234567890", instance.valueToString(new BigDecimal(
+ "-1234567890.1234567890"), null, null, null, 10, null));
+
+ assertEquals("-32768", instance.valueToString(-32768, null, null, 42, null, null));
+ assertEquals("-32768", instance.valueToString(-32768, null, null, 5, null, null));
+ assertEquals("32768", instance.valueToString(32768, null, null, 5, null, null));
+ assertEquals("0.5", instance.valueToString(0.5, null, null, 1, 1, null));
+ assertEquals("0.5", instance.valueToString(0.5, null, null, null, 1, null));
+ assertEquals("100", instance.valueToString(new BigDecimal(BigInteger.ONE, -2), null, null, 3, null, null));
+
+ expectFacetsErrorInValueToString(instance, 0.5, null, null, null, null, null);
+ expectFacetsErrorInValueToString(instance, -1234, null, null, 2, null, null);
+ expectFacetsErrorInValueToString(instance, 1234, null, null, 3, null, null);
+ expectFacetsErrorInValueToString(instance, 0.00390625, null, null, 5, null, null);
+ expectFacetsErrorInValueToString(instance, 0.00390625, null, null, null, 7, null);
+
+ expectContentErrorInValueToString(instance, Double.NaN);
+
+ expectTypeErrorInValueToString(instance, 'A');
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals(BigDecimal.ONE, instance.valueOfString("1", null, null, null, null, null, BigDecimal.class));
+ assertEquals(Byte.valueOf((byte) -2), instance.valueOfString("-2", null, null, null, null, null, Byte.class));
+ assertEquals(new BigDecimal("-123456789012345678901234567890"), instance.valueOfString(
+ "-123456789012345678901234567890", null, null, null, null, null, BigDecimal.class));
+ assertEquals(Short.valueOf((short) 0), instance.valueOfString("0", null, null, null, null, null, Short.class));
+
+ assertEquals(Integer.valueOf(-32768), instance.valueOfString("-32768", null, null, 42, null, null, Integer.class));
+ assertEquals(Long.valueOf(-32768), instance.valueOfString("-32768", null, null, 5, null, null, Long.class));
+ assertEquals(BigInteger.valueOf(32768), instance.valueOfString("32768", null, null, 5, null, null,
+ BigInteger.class));
+ assertEquals(Double.valueOf(0.5), instance.valueOfString("0.5", null, null, 1, 1, null, Double.class));
+ assertEquals(Float.valueOf(0.5F), instance.valueOfString("0.5", null, null, null, 1, null, Float.class));
+ assertEquals(new BigDecimal("12.3"), instance.valueOfString("12.3", null, null, 3, 1, null, BigDecimal.class));
+
+ expectFacetsErrorInValueOfString(instance, "0.5", null, null, null, null, null);
+ expectFacetsErrorInValueOfString(instance, "-1234", null, null, 2, null, null);
+ expectFacetsErrorInValueOfString(instance, "1234", null, null, 3, null, null);
+ expectFacetsErrorInValueOfString(instance, "12.34", null, null, 3, null, null);
+ expectFacetsErrorInValueOfString(instance, "12.34", null, null, 3, 2, null);
+ expectFacetsErrorInValueOfString(instance, "12.34", null, null, 4, 1, null);
+ expectFacetsErrorInValueOfString(instance, "0.00390625", null, null, 5, null, null);
+ expectFacetsErrorInValueOfString(instance, "0.00390625", null, null, null, 7, null);
+
+ expectContentErrorInValueOfString(instance, "-1E2");
+ expectContentErrorInValueOfString(instance, "1.");
+ expectContentErrorInValueOfString(instance, ".1");
+ expectContentErrorInValueOfString(instance, "1.0.1");
+ expectContentErrorInValueOfString(instance, "1M");
+ expectContentErrorInValueOfString(instance, "0x42");
+
+ expectUnconvertibleErrorInValueOfString(instance, "-129", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "128", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-32769", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "32768", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-2147483649", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "2147483648", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-9223372036854775809", Long.class);
+ expectUnconvertibleErrorInValueOfString(instance, "9223372036854775808", Long.class);
+ expectUnconvertibleErrorInValueOfString(instance, "12345678901234567", Double.class);
+ expectUnconvertibleErrorInValueOfString(instance, "1234567890", Float.class);
+
+ expectTypeErrorInValueOfString(instance, "1");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDoubleTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDoubleTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDoubleTest.java
new file mode 100644
index 0000000..abb3a6b
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDoubleTest.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.core.edm.primitivetype.Uint7;
+import org.junit.Test;
+
+public class EdmDoubleTest extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.Double.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void compatibility() {
+ assertTrue(instance.isCompatible(Uint7.getInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Byte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.SByte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int16.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int64.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Single.getEdmPrimitiveTypeInstance()));
+ }
+
+ @Test
+ public void toUriLiteral() {
+ assertEquals("127E42", instance.toUriLiteral("127E42"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("127E42", instance.fromUriLiteral("127E42"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("0", instance.valueToString(0, null, null, null, null, null));
+ assertEquals("8", instance.valueToString((byte) 8, null, null, null, null, null));
+ assertEquals("16", instance.valueToString((short) 16, null, null, null, null, null));
+ assertEquals("32", instance.valueToString(Integer.valueOf(32), null, null, null, null, null));
+ assertEquals("255", instance.valueToString(255L, null, null, null, null, null));
+ assertEquals("0.00390625", instance.valueToString(1.0 / 256, null, null, null, null, null));
+ assertEquals("4.2E-41", instance.valueToString(42e-42, null, null, null, null, null));
+ assertEquals("INF", instance.valueToString(Double.POSITIVE_INFINITY, null, null, null, null, null));
+ assertEquals("-INF", instance.valueToString(Double.NEGATIVE_INFINITY, null, null, null, null, null));
+ assertEquals("NaN", instance.valueToString(Double.NaN, null, null, null, null, null));
+ assertEquals("-0.125", instance.valueToString(-0.125f, null, null, null, null, null));
+ assertEquals("INF", instance.valueToString(Float.POSITIVE_INFINITY, null, null, null, null, null));
+ assertEquals("-INF", instance.valueToString(Float.NEGATIVE_INFINITY, null, null, null, null, null));
+ assertEquals("NaN", instance.valueToString(Float.NaN, null, null, null, null, null));
+ assertEquals("-1234567890.12345", instance.valueToString(new BigDecimal("-1234567890.12345"), null, null, null,
+ null, null));
+
+ expectContentErrorInValueToString(instance, 3234567890123456L);
+ expectContentErrorInValueToString(instance, new BigDecimal("98765432109876543"));
+ expectContentErrorInValueToString(instance, new BigDecimal(BigInteger.ONE, 324));
+ expectContentErrorInValueToString(instance, new BigDecimal(BigInteger.ONE.negate(), -309));
+
+ expectTypeErrorInValueToString(instance, 'A');
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals(Double.valueOf(1.42), instance.valueOfString("1.42", null, null, null, null, null, Double.class));
+ assertEquals(Float.valueOf(-42.25F), instance.valueOfString("-42.25", null, null, null, null, null, Float.class));
+ assertEquals(Double.valueOf(42.0), instance.valueOfString("42", null, null, null, null, null, Double.class));
+ assertEquals(Double.valueOf(42E42), instance.valueOfString("42E42", null, null, null, null, null, Double.class));
+ assertEquals(BigDecimal.TEN, instance.valueOfString("10", null, null, null, null, null, BigDecimal.class));
+ assertEquals(Byte.valueOf((byte) 0), instance.valueOfString("0", null, null, null, null, null, Byte.class));
+ assertEquals(Short.valueOf((short) 1), instance.valueOfString("1.00", null, null, null, null, null, Short.class));
+ assertEquals(Integer.valueOf(42), instance.valueOfString("4.2E1", null, null, null, null, null, Integer.class));
+ assertEquals(Long.valueOf(1234567890), instance.valueOfString("1234567890E-00", null, null, null, null, null,
+ Long.class));
+
+ assertEquals(Double.valueOf(Double.NaN), instance.valueOfString("NaN", null, null, null, null, null,
+ Double.class));
+ assertEquals(Double.valueOf(Double.NEGATIVE_INFINITY), instance.valueOfString("-INF", null, null, null, null,
+ null, Double.class));
+ assertEquals(Float.valueOf(Float.POSITIVE_INFINITY), instance.valueOfString("INF", null, null, null, null, null,
+ Float.class));
+
+ expectContentErrorInValueOfString(instance, "0.");
+ expectContentErrorInValueOfString(instance, ".0");
+ expectContentErrorInValueOfString(instance, "1234567890.12345678");
+ expectContentErrorInValueOfString(instance, "42E400");
+ expectContentErrorInValueOfString(instance, "42.42.42");
+ expectContentErrorInValueOfString(instance, "42F");
+ expectContentErrorInValueOfString(instance, "0x42P42");
+
+ expectUnconvertibleErrorInValueOfString(instance, "INF", BigDecimal.class);
+ expectUnconvertibleErrorInValueOfString(instance, "NaN", BigDecimal.class);
+ expectUnconvertibleErrorInValueOfString(instance, "1234567.0625", Float.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-INF", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "NaN", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "5E-1", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "5E-1", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "5E-1", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "5E-1", Long.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-129", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "128", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-32769", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "32768", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-2147483649", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "2147483648", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-922337203685477.5E10", Long.class);
+ expectUnconvertibleErrorInValueOfString(instance, "922337203685477.5E10", Long.class);
+
+ expectTypeErrorInValueOfString(instance, "1.42");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDurationTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDurationTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDurationTest.java
new file mode 100644
index 0000000..7b97f7e
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDurationTest.java
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.junit.Test;
+
+public class EdmDurationTest extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.Duration.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void toUriLiteral() throws Exception {
+ assertEquals("duration'P120D'", instance.toUriLiteral("P120D"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("P120D", instance.fromUriLiteral("duration'P120D'"));
+
+ expectErrorInFromUriLiteral(instance, "");
+ expectErrorInFromUriLiteral(instance, "Duration'PT1S'");
+ expectErrorInFromUriLiteral(instance, "duration'PT1S\"");
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("PT10S", instance.valueToString(BigDecimal.TEN, null, null, null, null, null));
+ assertEquals("-PT10S", instance.valueToString(BigDecimal.TEN.negate(), null, null, null, null, null));
+ assertEquals("PT10S", instance.valueToString(BigDecimal.TEN, null, null, null, null, null));
+ assertEquals("PT10S", instance.valueToString(BigDecimal.TEN, null, null, 0, null, null));
+ assertEquals("-PT0.01S", instance.valueToString(BigDecimal.ONE.movePointLeft(2).negate(), null, null, 2, null,
+ null));
+ assertEquals("PT2M3S", instance.valueToString(123, null, null, null, null, null));
+ assertEquals("PT2M3S", instance.valueToString((byte) 123, null, null, null, null, null));
+ assertEquals("PT3H25M45S", instance.valueToString((short) 12345, null, null, null, null, null));
+ assertEquals("P14288DT23H31M30S", instance.valueToString(1234567890L, null, null, null, null, null));
+ assertEquals("P50903316DT2H25M4S", instance.valueToString(BigInteger.ONE.shiftLeft(42), null, null, null, null,
+ null));
+
+ expectFacetsErrorInValueToString(instance, BigDecimal.ONE.movePointLeft(1), null, null, null, null, null);
+ expectFacetsErrorInValueToString(instance, BigDecimal.ONE.movePointLeft(1), null, null, 0, null, null);
+
+ expectTypeErrorInValueToString(instance, "");
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals(BigDecimal.TEN, instance.valueOfString("PT10S", null, null, null, null, null, BigDecimal.class));
+ assertEquals(BigDecimal.TEN.negate(), instance.valueOfString("-PT10S", null, null, null, null, null,
+ BigDecimal.class));
+ assertEquals(BigDecimal.TEN, instance.valueOfString("PT10S", null, null, null, null, null, BigDecimal.class));
+ assertEquals(BigDecimal.ONE.movePointLeft(1), instance.valueOfString("PT0.1S", null, null, 1, null, null,
+ BigDecimal.class));
+ assertEquals(Byte.valueOf((byte) 123), instance.valueOfString("PT2M3S", null, null, null, null, null, Byte.class));
+ assertEquals(Short.valueOf((short) 123), instance.valueOfString("PT2M3S", null, null, null, null, null,
+ Short.class));
+ assertEquals(Integer.valueOf(12345), instance.valueOfString("PT3H25M45S", null, null, null, null, null,
+ Integer.class));
+ assertEquals(Long.valueOf(1234567890L), instance.valueOfString("P14288DT23H31M30S", null, null, null, null, null,
+ Long.class));
+ assertEquals(BigInteger.ONE.shiftLeft(42), instance.valueOfString("P50903316DT2H25M4S", null, null, null, null,
+ null, BigInteger.class));
+
+ expectFacetsErrorInValueOfString(instance, "PT1.1S", null, null, null, null, null);
+ expectFacetsErrorInValueOfString(instance, "PT1H2M3.123S", null, null, 2, null, null);
+ expectFacetsErrorInValueOfString(instance, "PT13H2M3.9S", null, null, 0, null, null);
+
+ expectContentErrorInValueOfString(instance, "PT1H2M3S.1234");
+ expectContentErrorInValueOfString(instance, "P2012Y2M29DT23H32M2S");
+ expectContentErrorInValueOfString(instance, "PT-1H");
+ expectContentErrorInValueOfString(instance, "PT");
+
+ expectUnconvertibleErrorInValueOfString(instance, "-PT2M9S", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "PT2M8S", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "PT10H", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "P25000D", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "P123456789012345D", Long.class);
+ // expectUnconvertibleErrorInValueOfString(instance, "PT1.1S", BigInteger.class);
+
+ expectTypeErrorInValueOfString(instance, "PT0S");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmGuidTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmGuidTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmGuidTest.java
new file mode 100644
index 0000000..c6d73ca
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmGuidTest.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.UUID;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.junit.Test;
+
+public class EdmGuidTest extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.Guid.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void toUriLiteral() {
+ assertEquals("aabbccdd-aabb-ccdd-eeff-aabbccddeeff",
+ instance.toUriLiteral("aabbccdd-aabb-ccdd-eeff-aabbccddeeff"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("aabbccdd-aabb-ccdd-eeff-aabbccddeeff",
+ instance.fromUriLiteral("aabbccdd-aabb-ccdd-eeff-aabbccddeeff"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ final UUID uuid = UUID.randomUUID();
+ assertEquals(uuid.toString(), instance.valueToString(uuid, null, null, null, null, null));
+
+ expectTypeErrorInValueToString(instance, 'A');
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ final UUID uuid = UUID.fromString("aabbccdd-aabb-ccdd-eeff-aabbccddeeff");
+
+ assertEquals(uuid, instance.valueOfString("aabbccdd-aabb-ccdd-eeff-aabbccddeeff", null, null, null, null, null,
+ UUID.class));
+ assertEquals(uuid, instance.valueOfString("AABBCCDD-AABB-CCDD-EEFF-AABBCCDDEEFF", null, null, null, null, null,
+ UUID.class));
+ assertEquals(uuid, instance.valueOfString("AABBCCDD-aabb-ccdd-eeff-AABBCCDDEEFF", null, null, null, null, null,
+ UUID.class));
+
+ expectContentErrorInValueOfString(instance, "AABBCCDDAABBCCDDEEFFAABBCCDDEEFF");
+
+ expectTypeErrorInValueOfString(instance, uuid.toString());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt16Test.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt16Test.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt16Test.java
new file mode 100644
index 0000000..458e1d4
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt16Test.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigInteger;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.core.edm.primitivetype.Uint7;
+import org.junit.Test;
+
+public class EdmInt16Test extends PrimitiveTypeBaseTest {
+
+ final EdmPrimitiveType instance = EdmPrimitiveTypeKind.Int16.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void testInt16Compatibility() {
+ assertTrue(instance.isCompatible(Uint7.getInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Byte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.SByte.getEdmPrimitiveTypeInstance()));
+ }
+
+ @Test
+ public void toUriLiteral() throws Exception {
+ assertEquals("127", instance.toUriLiteral("127"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("127", instance.fromUriLiteral("127"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("0", instance.valueToString(0, null, null, null, null, null));
+ assertEquals("8", instance.valueToString((byte) 8, null, null, null, null, null));
+ assertEquals("16", instance.valueToString((short) 16, null, null, null, null, null));
+ assertEquals("32", instance.valueToString(Integer.valueOf(32), null, null, null, null, null));
+ assertEquals("255", instance.valueToString(255L, null, null, null, null, null));
+ assertEquals("-32768", instance.valueToString(BigInteger.valueOf(Short.MIN_VALUE), null, null, null, null, null));
+
+ expectContentErrorInValueToString(instance, 123456);
+ expectContentErrorInValueToString(instance, -32769);
+ expectContentErrorInValueToString(instance, BigInteger.valueOf(32768));
+
+ expectTypeErrorInValueToString(instance, 1.0);
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals(Byte.valueOf((byte) 1), instance.valueOfString("1", null, null, null, null, null, Byte.class));
+ assertEquals(Short.valueOf((short) 2), instance.valueOfString("2", null, null, null, null, null, Short.class));
+ assertEquals(Short.valueOf((short) -32768), instance.valueOfString("-32768", null, null, null, null, null,
+ Short.class));
+ assertEquals(Short.valueOf((short) 32767), instance.valueOfString("32767", null, null, null, null, null,
+ Short.class));
+ assertEquals(Integer.valueOf(0), instance.valueOfString("0", null, null, null, null, null, Integer.class));
+ assertEquals(Long.valueOf(-1), instance.valueOfString("-1", null, null, null, null, null, Long.class));
+ assertEquals(BigInteger.TEN, instance.valueOfString("10", null, null, null, null, null, BigInteger.class));
+
+ expectContentErrorInValueOfString(instance, "32768");
+ expectContentErrorInValueOfString(instance, "1.0");
+
+ expectUnconvertibleErrorInValueOfString(instance, "-129", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "128", Byte.class);
+
+ expectTypeErrorInValueOfString(instance, "1");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt32Test.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt32Test.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt32Test.java
new file mode 100644
index 0000000..f0ada7e
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt32Test.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigInteger;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.core.edm.primitivetype.Uint7;
+import org.junit.Test;
+
+public class EdmInt32Test extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void compatibility() {
+ assertTrue(instance.isCompatible(Uint7.getInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Byte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.SByte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int16.getEdmPrimitiveTypeInstance()));
+ }
+
+ @Test
+ public void toUriLiteral() throws Exception {
+ assertEquals("127", instance.toUriLiteral("127"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("127", instance.fromUriLiteral("127"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("0", instance.valueToString(0, null, null, null, null, null));
+ assertEquals("8", instance.valueToString((byte) 8, null, null, null, null, null));
+ assertEquals("16", instance.valueToString((short) 16, null, null, null, null, null));
+ assertEquals("32", instance.valueToString(Integer.valueOf(32), null, null, null, null, null));
+ assertEquals("255", instance.valueToString(255L, null, null, null, null, null));
+ assertEquals("-2147483648", instance.valueToString(BigInteger.valueOf(Integer.MIN_VALUE), null, null, null, null,
+ null));
+
+ expectContentErrorInValueToString(instance, 12345678901L);
+ expectContentErrorInValueToString(instance, -2147483649L);
+ expectContentErrorInValueToString(instance, BigInteger.valueOf(2147483648L));
+
+ expectTypeErrorInValueToString(instance, 1.0);
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals(Byte.valueOf((byte) 1), instance.valueOfString("1", null, null, null, null, null, Byte.class));
+ assertEquals(Short.valueOf((short) 2), instance.valueOfString("2", null, null, null, null, null, Short.class));
+ assertEquals(Integer.valueOf(-10000000), instance.valueOfString("-10000000", null, null, null, null, null,
+ Integer.class));
+ assertEquals(Long.valueOf(10000000), instance.valueOfString("10000000", null, null, null, null, null, Long.class));
+ assertEquals(BigInteger.TEN, instance.valueOfString("10", null, null, null, null, null, BigInteger.class));
+
+ expectContentErrorInValueOfString(instance, "-2147483649");
+ expectContentErrorInValueOfString(instance, "1.0");
+
+ expectUnconvertibleErrorInValueOfString(instance, "-129", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "128", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-32769", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "32768", Short.class);
+
+ expectTypeErrorInValueOfString(instance, "1");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt64Test.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt64Test.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt64Test.java
new file mode 100644
index 0000000..d704770
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmInt64Test.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigInteger;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.core.edm.primitivetype.Uint7;
+import org.junit.Test;
+
+public class EdmInt64Test extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.Int64.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void compatibility() {
+ assertTrue(instance.isCompatible(Uint7.getInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Byte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.SByte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int16.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance()));
+ }
+
+ @Test
+ public void toUriLiteral() throws Exception {
+ assertEquals("127", instance.toUriLiteral("127"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("127", instance.fromUriLiteral("127"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("0", instance.valueToString(0, null, null, null, null, null));
+ assertEquals("8", instance.valueToString((byte) 8, null, null, null, null, null));
+ assertEquals("16", instance.valueToString((short) 16, null, null, null, null, null));
+ assertEquals("32", instance.valueToString(Integer.valueOf(32), null, null, null, null, null));
+ assertEquals("255", instance.valueToString(255L, null, null, null, null, null));
+ assertEquals("12345678901", instance.valueToString(12345678901L, null, null, null, null, null));
+ assertEquals("1234567890123456789", instance.valueToString(new BigInteger("1234567890123456789"), null, null, null,
+ null, null));
+ assertEquals("-1234567890123456789", instance.valueToString(new BigInteger("-1234567890123456789"), null, null,
+ null, null, null));
+
+ expectContentErrorInValueToString(instance, new BigInteger("123456789012345678901"));
+
+ expectTypeErrorInValueToString(instance, 1.0);
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals(Short.valueOf((short) 1), instance.valueOfString("1", null, null, null, null, null, Short.class));
+ assertEquals(Integer.valueOf(2), instance.valueOfString("2", null, null, null, null, null, Integer.class));
+ assertEquals(Long.valueOf(-1234567890123456789L), instance.valueOfString("-1234567890123456789", null, null, null,
+ null, null, Long.class));
+ assertEquals(BigInteger.ONE, instance.valueOfString("1", null, null, null, null, null, BigInteger.class));
+ assertEquals(Long.valueOf(0), instance.valueOfString("0", null, null, null, null, null, Long.class));
+ assertEquals(Byte.valueOf((byte) 0), instance.valueOfString("0", null, null, null, null, null, Byte.class));
+
+ expectContentErrorInValueOfString(instance, "-12345678901234567890");
+ expectContentErrorInValueOfString(instance, "1.0");
+ expectContentErrorInValueOfString(instance, "0L");
+ expectContentErrorInValueOfString(instance, "0x42");
+
+ expectUnconvertibleErrorInValueOfString(instance, "-129", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "128", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-32769", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "32768", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-2147483649", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "2147483648", Integer.class);
+
+ expectTypeErrorInValueOfString(instance, "1");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmNullTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmNullTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmNullTest.java
new file mode 100644
index 0000000..3a9daaf
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmNullTest.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertNull;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.junit.Test;
+
+public class EdmNullTest extends PrimitiveTypeBaseTest {
+
+ @Test
+ public void checkNull() throws Exception {
+ for (EdmPrimitiveTypeKind kind : EdmPrimitiveTypeKind.values()) {
+ final EdmPrimitiveType instance = kind.getEdmPrimitiveTypeInstance();
+ assertNull(instance.valueToString(null, null, null, null, null, null));
+ assertNull(instance.valueToString(null, true, null, null, null, null));
+
+ expectNullErrorInValueToString(instance);
+ }
+ }
+
+ @Test
+ public void checkValueOfNull() throws Exception {
+ for (EdmPrimitiveTypeKind kind : EdmPrimitiveTypeKind.values()) {
+ final EdmPrimitiveType instance = kind.getEdmPrimitiveTypeInstance();
+ assertNull(instance.valueOfString(null, null, null, null, null, null, instance.getDefaultType()));
+ assertNull(instance.valueOfString(null, true, null, null, null, null, instance.getDefaultType()));
+
+ expectNullErrorInValueOfString(instance);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmSByteTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmSByteTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmSByteTest.java
new file mode 100644
index 0000000..0ebb342
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmSByteTest.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigInteger;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.core.edm.primitivetype.Uint7;
+import org.junit.Test;
+
+public class EdmSByteTest extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.SByte.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void compatibility() {
+ assertTrue(instance.isCompatible(Uint7.getInstance()));
+ }
+
+ @Test
+ public void toUriLiteral() throws Exception {
+ assertEquals("127", instance.toUriLiteral("127"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("127", instance.fromUriLiteral("127"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("0", instance.valueToString(0, null, null, null, null, null));
+ assertEquals("8", instance.valueToString((byte) 8, null, null, null, null, null));
+ assertEquals("16", instance.valueToString((short) 16, null, null, null, null, null));
+ assertEquals("32", instance.valueToString(Integer.valueOf(32), null, null, null, null, null));
+ assertEquals("64", instance.valueToString(64L, null, null, null, null, null));
+ assertEquals("-128", instance.valueToString(BigInteger.valueOf(Byte.MIN_VALUE), null, null, null, null, null));
+
+ expectContentErrorInValueToString(instance, -129);
+ expectContentErrorInValueToString(instance, 128);
+ expectContentErrorInValueToString(instance, BigInteger.valueOf(128));
+
+ expectTypeErrorInValueToString(instance, 'A');
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals(Byte.valueOf((byte) 1), instance.valueOfString("1", null, null, null, null, null, Byte.class));
+ assertEquals(Short.valueOf((short) -2), instance.valueOfString("-2", null, null, null, null, null, Short.class));
+ assertEquals(Byte.valueOf((byte) 127), instance.valueOfString("127", null, null, null, null, null, Byte.class));
+ assertEquals(Byte.valueOf((byte) -128), instance.valueOfString("-128", null, null, null, null, null, Byte.class));
+ assertEquals(Integer.valueOf(0), instance.valueOfString("0", null, null, null, null, null, Integer.class));
+ assertEquals(Long.valueOf(0), instance.valueOfString("0", null, null, null, null, null, Long.class));
+ assertEquals(BigInteger.TEN, instance.valueOfString("10", null, null, null, null, null, BigInteger.class));
+
+ expectContentErrorInValueOfString(instance, "128");
+ expectContentErrorInValueOfString(instance, "-129");
+ expectContentErrorInValueOfString(instance, "1.0");
+
+ expectTypeErrorInValueOfString(instance, "1");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmSingleTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmSingleTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmSingleTest.java
new file mode 100644
index 0000000..67847c7
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmSingleTest.java
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.core.edm.primitivetype.Uint7;
+import org.junit.Test;
+
+public class EdmSingleTest extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.Single.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void compatibility() {
+ assertTrue(instance.isCompatible(Uint7.getInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Byte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.SByte.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int16.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance()));
+ assertTrue(instance.isCompatible(EdmPrimitiveTypeKind.Int64.getEdmPrimitiveTypeInstance()));
+ }
+
+ @Test
+ public void toUriLiteral() throws Exception {
+ assertEquals("127", instance.toUriLiteral("127"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("127", instance.fromUriLiteral("127"));
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("0", instance.valueToString(0, null, null, null, null, null));
+ assertEquals("8", instance.valueToString((byte) 8, null, null, null, null, null));
+ assertEquals("16", instance.valueToString((short) 16, null, null, null, null, null));
+ assertEquals("32", instance.valueToString(Integer.valueOf(32), null, null, null, null, null));
+ assertEquals("255", instance.valueToString(255L, null, null, null, null, null));
+ assertEquals("0.00390625", instance.valueToString(1.0 / 256, null, null, null, null, null));
+ assertEquals("4.2E-8", instance.valueToString(42e-9, null, null, null, null, null));
+ assertEquals("INF", instance.valueToString(Double.POSITIVE_INFINITY, null, null, null, null, null));
+ assertEquals("-INF", instance.valueToString(Double.NEGATIVE_INFINITY, null, null, null, null, null));
+ assertEquals("NaN", instance.valueToString(Double.NaN, null, null, null, null, null));
+ assertEquals("-0.125", instance.valueToString(-0.125f, null, null, null, null, null));
+ assertEquals("INF", instance.valueToString(Float.POSITIVE_INFINITY, null, null, null, null, null));
+ assertEquals("-INF", instance.valueToString(Float.NEGATIVE_INFINITY, null, null, null, null, null));
+ assertEquals("NaN", instance.valueToString(Float.NaN, null, null, null, null, null));
+ assertEquals("-123456.75", instance.valueToString(new BigDecimal("-123456.75"), null, null, null, null, null));
+
+ expectContentErrorInValueToString(instance, 12345678L);
+ expectContentErrorInValueToString(instance, new BigDecimal("123456789"));
+ expectContentErrorInValueToString(instance, new BigDecimal(BigInteger.ONE, -39));
+ expectContentErrorInValueToString(instance, 42e38);
+ expectContentErrorInValueToString(instance, 12345.6789);
+ expectContentErrorInValueToString(instance, 1E-50);
+
+ expectTypeErrorInValueToString(instance, 'A');
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals(Float.valueOf(1.42F), instance.valueOfString("1.42", null, null, null, null, null, Float.class));
+ assertEquals(Double.valueOf(-42.42), instance.valueOfString("-42.42", null, null, null, null, null, Double.class));
+ assertEquals(Float.valueOf(42.0F), instance.valueOfString("42", null, null, null, null, null, Float.class));
+ assertEquals(Float.valueOf(2.2E38F), instance.valueOfString("22E37", null, null, null, null, null, Float.class));
+ assertEquals(Float.valueOf(1.23E-38F), instance.valueOfString("12.3E-39", null, null, null, null, null,
+ Float.class));
+ assertEquals(BigDecimal.TEN, instance.valueOfString("10", null, null, null, null, null, BigDecimal.class));
+ assertEquals(Byte.valueOf((byte) 0), instance.valueOfString("0", null, null, null, null, null, Byte.class));
+ assertEquals(Short.valueOf((short) 1), instance.valueOfString("1.00", null, null, null, null, null, Short.class));
+ assertEquals(Integer.valueOf(42), instance.valueOfString("4.2E1", null, null, null, null, null, Integer.class));
+ assertEquals(Long.valueOf(12345678), instance.valueOfString("12345.678E+03", null, null, null, null, null,
+ Long.class));
+
+ assertEquals(Float.valueOf(Float.NaN), instance.valueOfString("NaN", null, null, null, null, null, Float.class));
+ assertEquals(Float.valueOf(Float.NEGATIVE_INFINITY), instance.valueOfString("-INF", null, null, null, null, null,
+ Float.class));
+ assertEquals(Float.valueOf(Float.POSITIVE_INFINITY), instance.valueOfString("INF", null, null, null, null, null,
+ Float.class));
+ assertEquals(Double.valueOf(Double.NaN), instance.valueOfString("NaN", null, null, null, null, null,
+ Double.class));
+ assertEquals(Double.valueOf(Double.NEGATIVE_INFINITY), instance.valueOfString("-INF", null, null, null, null, null,
+ Double.class));
+
+ expectContentErrorInValueOfString(instance, "0.");
+ expectContentErrorInValueOfString(instance, ".0");
+ expectContentErrorInValueOfString(instance, "1E-50");
+ expectContentErrorInValueOfString(instance, "12345.6789");
+ expectContentErrorInValueOfString(instance, "42E42");
+ expectContentErrorInValueOfString(instance, "42.42.42");
+ expectContentErrorInValueOfString(instance, "42.42.42");
+ expectContentErrorInValueOfString(instance, "42D");
+ expectContentErrorInValueOfString(instance, "0x42P4");
+
+ expectUnconvertibleErrorInValueOfString(instance, "INF", BigDecimal.class);
+ expectUnconvertibleErrorInValueOfString(instance, "NaN", BigDecimal.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-INF", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "NaN", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "5E-1", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "5E-1", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "5E-1", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "5E-1", Long.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-129", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "128", Byte.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-32769", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "32768", Short.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-2147483.65E3", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "2147483.65E3", Integer.class);
+ expectUnconvertibleErrorInValueOfString(instance, "-1E19", Long.class);
+ expectUnconvertibleErrorInValueOfString(instance, "1E19", Long.class);
+
+ expectTypeErrorInValueOfString(instance, "1.42");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmStringTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmStringTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmStringTest.java
new file mode 100644
index 0000000..993c943
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmStringTest.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.junit.Test;
+
+public class EdmStringTest extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.String.getEdmPrimitiveTypeInstance();
+
+ @Test
+ public void toUriLiteral() throws Exception {
+ assertEquals("'StringValue'", instance.toUriLiteral("StringValue"));
+ assertEquals("'String''Value'", instance.toUriLiteral("String'Value"));
+ assertEquals("'String''''''Value'", instance.toUriLiteral("String'''Value"));
+ }
+
+ @Test
+ public void fromUriLiteral() throws Exception {
+ assertEquals("String''Value", instance.fromUriLiteral("'String''''Value'"));
+
+ expectErrorInFromUriLiteral(instance, "");
+ expectErrorInFromUriLiteral(instance, "'");
+ expectErrorInFromUriLiteral(instance, "'\"");
+ }
+
+ @Test
+ public void valueToString() throws Exception {
+ assertEquals("text", instance.valueToString("text", null, null, null, null, null));
+ assertEquals("a\nb", instance.valueToString("a\nb", null, null, null, null, null));
+ assertEquals("true", instance.valueToString(true, null, null, null, null, null));
+ assertEquals("a'b", instance.valueToString("a'b", null, null, null, null, null));
+
+ assertEquals("text", instance.valueToString("text", null, null, null, null, true));
+ assertEquals("text", instance.valueToString("text", null, 4, null, null, null));
+ assertEquals("text", instance.valueToString("text", null, Integer.MAX_VALUE, null, null, null));
+
+ expectFacetsErrorInValueToString(instance, "schräg", null, null, null, null, false);
+ expectFacetsErrorInValueToString(instance, "text", null, 3, null, null, null);
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ assertEquals("text", instance.valueOfString("text", null, null, null, null, null, String.class));
+ assertEquals("a\nb", instance.valueOfString("a\nb", null, null, null, null, null, String.class));
+ assertEquals("true", instance.valueOfString("true", null, null, null, null, null, String.class));
+ assertEquals("'a''b'", instance.valueOfString("'a''b'", null, null, null, null, null, String.class));
+
+ assertEquals("text", instance.valueOfString("text", null, null, null, null, true, String.class));
+ assertEquals("text", instance.valueOfString("text", null, 4, null, null, null, String.class));
+ assertEquals("text", instance.valueOfString("text", null, Integer.MAX_VALUE, null, null, null, String.class));
+
+ expectFacetsErrorInValueOfString(instance, "schräg", null, null, null, null, false);
+ expectFacetsErrorInValueOfString(instance, "text", null, 3, null, null, null);
+
+ expectTypeErrorInValueOfString(instance, "text");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java
new file mode 100644
index 0000000..8979df9
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Calendar;
+import java.util.TimeZone;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.junit.Test;
+
+public class EdmTimeOfDayTest extends PrimitiveTypeBaseTest {
+
+ private final EdmPrimitiveType instance = EdmPrimitiveTypeKind.TimeOfDay.getEdmPrimitiveTypeInstance();
+
+ @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, 3, null, null));
+ assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, 4, null, null));
+
+ expectFacetsErrorInValueToString(instance, dateTime, null, null, null, null, null);
+ expectFacetsErrorInValueToString(instance, dateTime, null, null, 2, null, null);
+
+ expectTypeErrorInValueToString(instance, 0);
+ }
+
+ @Test
+ public void valueOfString() throws Exception {
+ Calendar dateTime = Calendar.getInstance();
+ dateTime.clear();
+ dateTime.setTimeZone(TimeZone.getTimeZone("GMT"));
+
+ 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));
+
+ 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));
+
+ expectFacetsErrorInValueOfString(instance, "11:12:13.123", null, null, null, null, null);
+ expectFacetsErrorInValueOfString(instance, "11:12:13.123", null, null, 2, null, null);
+
+ 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");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/PrimitiveTypeBaseTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/PrimitiveTypeBaseTest.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/PrimitiveTypeBaseTest.java
new file mode 100644
index 0000000..fd752fc
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/PrimitiveTypeBaseTest.java
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
+
+public abstract class PrimitiveTypeBaseTest {
+
+ private void expectErrorInValueToString(final EdmPrimitiveType instance,
+ final Object value, final Boolean isNullable, final Integer maxLength,
+ final Integer precision, final Integer scale, final Boolean isUnicode,
+ final String messageReferenceString) {
+ try {
+ instance.valueToString(value, isNullable, maxLength, precision, scale, isUnicode);
+ fail("Expected exception not thrown");
+ } catch (final EdmPrimitiveTypeException e) {
+ assertNotNull(e.getLocalizedMessage());
+ assertTrue(e.getLocalizedMessage().startsWith(messageReferenceString));
+ }
+ }
+
+ private void expectErrorInValueToString(final EdmPrimitiveType instance, final Object value,
+ final String messageReference) {
+ expectErrorInValueToString(instance, value, null, null, null, null, null, messageReference);
+ }
+
+ protected void expectTypeErrorInValueToString(final EdmPrimitiveType instance, final Object value) {
+ expectErrorInValueToString(instance, value, "EdmPrimitiveTypeException.VALUE_TYPE_NOT_SUPPORTED");
+ }
+
+ protected void expectContentErrorInValueToString(final EdmPrimitiveType instance, final Object value) {
+ expectErrorInValueToString(instance, value, "EdmPrimitiveTypeException.VALUE_ILLEGAL_CONTENT");
+ }
+
+ protected void expectFacetsErrorInValueToString(final EdmPrimitiveType instance, final Object value,
+ final Boolean isNullable, final Integer maxLength, final Integer precision,
+ final Integer scale, final Boolean isUnicode) {
+ expectErrorInValueToString(instance, value, isNullable, maxLength, precision, scale, isUnicode,
+ "EdmPrimitiveTypeException.VALUE_FACETS_NOT_MATCHED");
+ }
+
+ protected void expectNullErrorInValueToString(final EdmPrimitiveType instance) {
+ expectErrorInValueToString(instance, null, false, null, null, null, null,
+ "EdmPrimitiveTypeException.VALUE_NULL_NOT_ALLOWED");
+ }
+
+ private void expectErrorInValueOfString(final EdmPrimitiveType instance,
+ final String value, final Boolean isNullable, final Integer maxLength, final Integer precision,
+ final Integer scale, final Boolean isUnicode, final Class<?> returnType,
+ final String messageReferenceString) {
+
+ try {
+ instance.valueOfString(value, isNullable, maxLength, precision, scale, isUnicode, returnType);
+ fail("Expected exception not thrown");
+ } catch (final EdmPrimitiveTypeException e) {
+ assertNotNull(e.getLocalizedMessage());
+ assertTrue(e.getLocalizedMessage().startsWith(messageReferenceString));
+ }
+ }
+
+ protected void expectTypeErrorInValueOfString(final EdmPrimitiveType instance, final String value) {
+ expectErrorInValueOfString(instance, value, null, null, null, null, null, Class.class,
+ "EdmPrimitiveTypeException.VALUE_TYPE_NOT_SUPPORTED");
+ }
+
+ protected void expectUnconvertibleErrorInValueOfString(final EdmPrimitiveType instance, final String value,
+ final Class<?> type) {
+ expectErrorInValueOfString(instance, value, null, null, null, null, null, type,
+ "EdmPrimitiveTypeException.LITERAL_UNCONVERTIBLE_TO_VALUE_TYPE");
+ }
+
+ protected void expectContentErrorInValueOfString(final EdmPrimitiveType instance, final String value) {
+ expectErrorInValueOfString(instance, value, null, null, null, null, null, instance.getDefaultType(),
+ "EdmPrimitiveTypeException.LITERAL_ILLEGAL_CONTENT");
+ }
+
+ protected void expectFacetsErrorInValueOfString(final EdmPrimitiveType instance, final String value,
+ final Boolean isNullable, final Integer maxLength, final Integer precision,
+ final Integer scale, final Boolean isUnicode) {
+ expectErrorInValueOfString(instance, value, isNullable, maxLength, precision, scale, isUnicode,
+ instance.getDefaultType(), "EdmPrimitiveTypeException.LITERAL_FACETS_NOT_MATCHED");
+ }
+
+ protected void expectNullErrorInValueOfString(final EdmPrimitiveType instance) {
+ expectErrorInValueOfString(instance, null, false, null, null, null, null, instance.getDefaultType(),
+ "EdmPrimitiveTypeException.LITERAL_NULL_NOT_ALLOWED");
+ }
+
+ protected void expectErrorInFromUriLiteral(final EdmPrimitiveType instance, final String value) {
+ try {
+ instance.fromUriLiteral(value);
+ fail("Expected exception not thrown");
+ } catch (final EdmPrimitiveTypeException e) {
+ assertNotNull(e.getLocalizedMessage());
+ assertTrue(e.getLocalizedMessage().startsWith("EdmPrimitiveTypeException.LITERAL_ILLEGAL_CONTENT"));
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/UInt7Test.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/UInt7Test.java b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/UInt7Test.java
new file mode 100644
index 0000000..05807ee
--- /dev/null
+++ b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/UInt7Test.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.commons.core.edm.primitivetype;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.core.edm.primitivetype.Uint7;
+import org.junit.Test;
+
+public class UInt7Test extends PrimitiveTypeBaseTest {
+
+ @Test
+ public void compatibility() {
+ assertTrue(Uint7.getInstance().isCompatible(Uint7.getInstance()));
+ assertFalse(Uint7.getInstance().isCompatible(EdmPrimitiveTypeKind.String.getEdmPrimitiveTypeInstance()));
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/ActionMapKeyTest.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/ActionMapKeyTest.java b/lib/commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/ActionMapKeyTest.java
deleted file mode 100644
index 339b9be..0000000
--- a/lib/commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/ActionMapKeyTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.odata4.commons.core.edm;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.fail;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.junit.Test;
-
-public class ActionMapKeyTest {
-
- private final FullQualifiedName fqn = new FullQualifiedName("namespace", "name");
-
- private final FullQualifiedName fqnType = new FullQualifiedName("namespace2", "name2");
-
- @Test
- public void invalidParametersTest() {
- createAndCheckForEdmException(null, null, null);
- createAndCheckForEdmException(fqn, null, null);
- createAndCheckForEdmException(fqn, fqnType, null);
- createAndCheckForEdmException(fqn, null, true);
- createAndCheckForEdmException(null, fqnType, true);
- createAndCheckForEdmException(null, fqnType, null);
- createAndCheckForEdmException(null, null, true);
-
- }
-
- private void createAndCheckForEdmException(final FullQualifiedName fqn, final FullQualifiedName typeName,
- final Boolean collection) {
- try {
- new ActionMapKey(fqn, typeName, collection);
- } catch (EdmException e) {
- return;
- }
- fail("EdmException expected for parameters: " + fqn + " " + typeName + " " + collection);
- }
-
- @Test
- public void testEqualsMethod() {
- ActionMapKey key;
- ActionMapKey someKey;
-
- key = new ActionMapKey(fqn, fqnType, false);
- someKey = new ActionMapKey(fqn, fqnType, false);
- assertEquals(key, someKey);
-
- key = new ActionMapKey(fqn, fqnType, new Boolean(false));
- someKey = new ActionMapKey(fqn, fqnType, false);
- assertEquals(key, someKey);
-
- key = new ActionMapKey(fqn, fqnType, true);
- someKey = new ActionMapKey(fqn, fqnType, false);
- assertNotSame(key, someKey);
-
- key = new ActionMapKey(fqn, fqnType, true);
- someKey = new ActionMapKey(fqn, fqnType, new Boolean(false));
- assertNotSame(key, someKey);
- }
-
- @Test
- public void testHashMethod() {
- ActionMapKey key;
- ActionMapKey someKey;
-
- key = new ActionMapKey(fqn, fqnType, false);
- someKey = new ActionMapKey(fqn, fqnType, false);
- assertEquals(key.hashCode(), someKey.hashCode());
-
- key = new ActionMapKey(fqn, fqnType, new Boolean(false));
- someKey = new ActionMapKey(fqn, fqnType, false);
- assertEquals(key.hashCode(), someKey.hashCode());
-
- key = new ActionMapKey(fqn, fqnType, true);
- someKey = new ActionMapKey(fqn, fqnType, false);
- assertNotSame(key.hashCode(), someKey.hashCode());
-
- key = new ActionMapKey(fqn, fqnType, true);
- someKey = new ActionMapKey(fqn, fqnType, new Boolean(false));
- assertNotSame(key.hashCode(), someKey.hashCode());
- }
-
-}