+1

Am 03.10.17 um 00:43 schrieb [email protected]:
Repository: incubator-tamaya
Updated Branches:
   refs/heads/master 7d2b5a873 -> 1b469982e


TAMAYA-274 Added tests and improvements for java.tim converters.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/1b469982
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/1b469982
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/1b469982

Branch: refs/heads/master
Commit: 1b469982e745b8ab3bb510d13b6a3814ba9b0316
Parents: 7d2b5a8
Author: Anatole Tresch <[email protected]>
Authored: Tue Oct 3 00:43:46 2017 +0200
Committer: Anatole Tresch <[email protected]>
Committed: Tue Oct 3 00:43:46 2017 +0200

----------------------------------------------------------------------
  .../internal/converters/DurationConverter.java  |  8 +-
  .../internal/converters/InstantConverter.java   |  8 +-
  .../internal/converters/LocalDateConverter.java |  8 +-
  .../converters/LocalDateTimeConverter.java      |  8 +-
  .../internal/converters/LocalTimeConverter.java |  8 +-
  .../converters/OffsetDateTimeConverter.java     |  8 +-
  .../converters/OffsetTimeConverter.java         |  8 +-
  .../converters/DurationConverterTest.java       | 83 ++++++++++++++++++++
  .../converters/InstantConverterTest.java        | 58 ++++++++++++++
  .../converters/LocalDateConverterTest.java      | 57 ++++++++++++++
  .../converters/LocalDateTimeConverterTest.java  | 57 ++++++++++++++
  .../converters/LocalTimeConverterTest.java      | 57 ++++++++++++++
  .../converters/OffsetDateTimeConverterTest.java | 57 ++++++++++++++
  .../converters/OffsetTimeConverterTest.java     | 56 +++++++++++++
  .../internal/converters/PathConverterTest.java  | 61 ++++++++++++++
  15 files changed, 535 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java
 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java
index 55b81ad..f258186 100644
--- 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java
+++ 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java
@@ -24,6 +24,7 @@ import org.osgi.service.component.annotations.Component;
import java.time.Duration;
  import java.time.temporal.ChronoUnit;
+import java.util.logging.Level;
  import java.util.logging.Logger;
/**
@@ -38,7 +39,12 @@ public class DurationConverter implements 
PropertyConverter<Duration> {
      public Duration convert(String value, ConversionContext context) {
          context.addSupportedFormats(getClass(),
                  Duration.of(1234, ChronoUnit.SECONDS).toString());
-        return Duration.parse(value);
+        try {
+            return Duration.parse(value);
+        }catch(Exception e){
+            LOG.log(Level.FINEST, e, () -> "Cannot parse Duration: " + value);
+            return null;
+        }
      }
@Override

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java
 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java
index 47489c5..4198b72 100644
--- 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java
+++ 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java
@@ -23,6 +23,7 @@ import org.apache.tamaya.spi.PropertyConverter;
  import org.osgi.service.component.annotations.Component;
import java.time.Instant;
+import java.util.logging.Level;
  import java.util.logging.Logger;
/**
@@ -36,7 +37,12 @@ public class InstantConverter implements 
PropertyConverter<Instant> {
      @Override
      public Instant convert(String value, ConversionContext context) {
          context.addSupportedFormats(getClass(), Instant.now().toString());
-        return Instant.parse(value);
+        try{
+            return Instant.parse(value);
+        }catch(Exception e){
+            LOG.log(Level.FINEST, e, () -> "Cannot parse Instant: " + value);
+            return null;
+        }
      }
@Override

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
index 06bd9b2..3bf9b67 100644
--- 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
+++ 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
@@ -23,6 +23,7 @@ import org.apache.tamaya.spi.PropertyConverter;
  import org.osgi.service.component.annotations.Component;
import java.time.LocalDate;
+import java.util.logging.Level;
  import java.util.logging.Logger;
/**
@@ -36,7 +37,12 @@ public class LocalDateConverter implements 
PropertyConverter<LocalDate> {
      @Override
      public LocalDate convert(String value, ConversionContext context) {
          context.addSupportedFormats(getClass(), LocalDate.now().toString());
-        return LocalDate.parse(value);
+        try{
+            return LocalDate.parse(value);
+        }catch(Exception e){
+            LOG.log(Level.FINEST, e, () -> "Cannot parse LocalDate: " + value);
+            return null;
+        }
      }
@Override

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
index 589ee78..eb14000 100644
--- 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
+++ 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
@@ -23,6 +23,7 @@ import org.apache.tamaya.spi.PropertyConverter;
  import org.osgi.service.component.annotations.Component;
import java.time.LocalDateTime;
+import java.util.logging.Level;
  import java.util.logging.Logger;
/**
@@ -36,7 +37,12 @@ public class LocalDateTimeConverter implements 
PropertyConverter<LocalDateTime>
      @Override
      public LocalDateTime convert(String value, ConversionContext context) {
          context.addSupportedFormats(getClass(), 
LocalDateTime.now().toString());
-        return LocalDateTime.parse(value);
+        try{
+            return LocalDateTime.parse(value);
+        }catch(Exception e){
+            LOG.log(Level.FINEST, e, () -> "Cannot parse LocalDateTime: " + 
value);
+            return null;
+        }
      }
@Override

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
index a8c7ac6..bf7d8ab 100644
--- 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
+++ 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
@@ -23,6 +23,7 @@ import org.apache.tamaya.spi.PropertyConverter;
  import org.osgi.service.component.annotations.Component;
import java.time.LocalTime;
+import java.util.logging.Level;
  import java.util.logging.Logger;
/**
@@ -36,7 +37,12 @@ public class LocalTimeConverter implements 
PropertyConverter<LocalTime> {
      @Override
      public LocalTime convert(String value, ConversionContext context) {
          context.addSupportedFormats(getClass(), LocalTime.now().toString());
-        return LocalTime.parse(value);
+        try{
+            return LocalTime.parse(value);
+        }catch(Exception e){
+            LOG.log(Level.FINEST, e, () -> "Cannot parse LocalTime: " + value);
+            return null;
+        }
      }
@Override

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java
 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java
index 980113e..9486640 100644
--- 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java
+++ 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java
@@ -24,6 +24,7 @@ import org.osgi.service.component.annotations.Component;
import java.time.LocalDate;
  import java.time.OffsetDateTime;
+import java.util.logging.Level;
  import java.util.logging.Logger;
/**
@@ -37,7 +38,12 @@ public class OffsetDateTimeConverter implements 
PropertyConverter<OffsetDateTime
      @Override
      public OffsetDateTime convert(String value, ConversionContext context) {
          context.addSupportedFormats(getClass(), 
OffsetDateTime.now().toString());
-        return OffsetDateTime.parse(value);
+        try{
+            return OffsetDateTime.parse(value);
+        }catch(Exception e){
+            LOG.log(Level.FINEST, e, () -> "Cannot parse OffsetDateTime: " + 
value);
+            return null;
+        }
      }
@Override

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java
 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java
index 583ffe0..ce8ebed 100644
--- 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java
+++ 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java
@@ -24,6 +24,7 @@ import org.osgi.service.component.annotations.Component;
import java.time.OffsetDateTime;
  import java.time.OffsetTime;
+import java.util.logging.Level;
  import java.util.logging.Logger;
/**
@@ -37,7 +38,12 @@ public class OffsetTimeConverter implements 
PropertyConverter<OffsetTime> {
      @Override
      public OffsetTime convert(String value, ConversionContext context) {
          context.addSupportedFormats(getClass(), OffsetTime.now().toString());
-        return OffsetTime.parse(value);
+        try{
+            return OffsetTime.parse(value);
+        }catch(Exception e){
+            LOG.log(Level.FINEST, e, () -> "Cannot parse OffsetTime: " + 
value);
+            return null;
+        }
      }
@Override

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/test/java/org/apache/tamaya/core/internal/converters/DurationConverterTest.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/test/java/org/apache/tamaya/core/internal/converters/DurationConverterTest.java
 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/DurationConverterTest.java
new file mode 100644
index 0000000..33c1bba
--- /dev/null
+++ 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/DurationConverterTest.java
@@ -0,0 +1,83 @@
+/*
+ * 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.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.time.Duration;
+import java.time.format.DateTimeFormatterBuilder;
+import java.time.temporal.ChronoField;
+import java.time.temporal.Temporal;
+import java.time.temporal.TemporalUnit;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsti on 02.10.2017.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class DurationConverterTest {
+
+    @Mock
+    ConversionContext context;
+
+    /**
+     * Examples:
+     * <pre>
+     *    "PT20.345S" -- parses as "20.345 seconds"
+     *    "PT15M"     -- parses as "15 minutes" (where a minute is 60 seconds)
+     *    "PT10H"     -- parses as "10 hours" (where an hour is 3600 seconds)
+     *    "P2D"       -- parses as "2 days" (where a day is 24 hours or 86400 
seconds)
+     *    "P2DT3H4M"  -- parses as "2 days, 3 hours and 4 minutes"
+     *    "P-6H3M"    -- parses as "-6 hours and +3 minutes"
+     *    "-P6H3M"    -- parses as "-6 hours and -3 minutes"
+     *    "-P-6H+3M"  -- parses as "+6 hours and -3 minutes"
+     * </pre>
+     * @throws Exception
+     */
+    @Test
+    public void convert() throws Exception {
+        DurationConverter conv = new DurationConverter();
+        Duration duration = conv.convert("PT20.345S", context);
+        assertEquals(duration, Duration.parse("PT20.345S"));
+        duration = conv.convert("PT15M", context);
+        assertEquals(duration, Duration.parse("PT15M"));
+        duration = conv.convert("PT10H", context);
+        assertEquals(duration, Duration.parse("PT10H"));
+        duration = conv.convert("P2D", context);
+        assertEquals(duration, Duration.parse("P2D"));
+        duration = conv.convert("P2DT3H4M", context);
+        assertEquals(duration, Duration.parse("P2DT3H4M"));
+        duration = conv.convert("foo", context);
+        assertNull(duration);
+    }
+
+    @Test
+    public void equalsAndHashcode() throws Exception {
+        DurationConverter conv1 = new DurationConverter();
+        DurationConverter conv2 = new DurationConverter();
+        assertEquals(conv1, conv2);
+        assertEquals(conv1.hashCode(), conv2.hashCode());
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/test/java/org/apache/tamaya/core/internal/converters/InstantConverterTest.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/test/java/org/apache/tamaya/core/internal/converters/InstantConverterTest.java
 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/InstantConverterTest.java
new file mode 100644
index 0000000..1bf4080
--- /dev/null
+++ 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/InstantConverterTest.java
@@ -0,0 +1,58 @@
+/*
+ * 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.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.time.Instant;
+import java.time.format.DateTimeFormatter;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsti on 02.10.2017.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class InstantConverterTest {
+
+    @Mock
+    ConversionContext context;
+
+    @Test
+    public void convert() throws Exception {
+        InstantConverter conv = new InstantConverter();
+        Instant value = conv.convert("2007-12-03T10:15:30.00Z", context);
+        assertEquals(value, Instant.parse("2007-12-03T10:15:30.00Z"));
+        value = conv.convert("foo", context);
+        assertNull(value);
+    }
+
+    @Test
+    public void equalsAndHashcode() throws Exception {
+        InstantConverter conv1 = new InstantConverter();
+        InstantConverter conv2 = new InstantConverter();
+        assertEquals(conv1, conv2);
+        assertEquals(conv1.hashCode(), conv2.hashCode());
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalDateConverterTest.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalDateConverterTest.java
 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalDateConverterTest.java
new file mode 100644
index 0000000..752699d
--- /dev/null
+++ 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalDateConverterTest.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.time.LocalDate;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsti on 02.10.2017.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class LocalDateConverterTest {
+
+    @Mock
+    ConversionContext context;
+
+    @Test
+    public void convert() throws Exception {
+        LocalDateConverter conv = new LocalDateConverter();
+        LocalDate value = conv.convert("2007-12-03", context);
+        assertEquals(value, LocalDate.parse("2007-12-03"));
+        value = conv.convert("foo", context);
+        assertNull(value);
+    }
+
+    @Test
+    public void equalsAndHashcode() throws Exception {
+        LocalDateConverter conv1 = new LocalDateConverter();
+        LocalDateConverter conv2 = new LocalDateConverter();
+        assertEquals(conv1, conv2);
+        assertEquals(conv1.hashCode(), conv2.hashCode());
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverterTest.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverterTest.java
 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverterTest.java
new file mode 100644
index 0000000..945682a
--- /dev/null
+++ 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverterTest.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.time.LocalDateTime;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsti on 02.10.2017.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class LocalDateTimeConverterTest {
+
+    @Mock
+    ConversionContext context;
+
+    @Test
+    public void convert() throws Exception {
+        LocalDateTimeConverter conv = new LocalDateTimeConverter();
+        LocalDateTime value = conv.convert("2007-12-03T10:15:30", context);
+        assertEquals(value, LocalDateTime.parse("2007-12-03T10:15:30"));
+        value = conv.convert("foo", context);
+        assertNull(value);
+    }
+
+    @Test
+    public void equalsAndHashcode() throws Exception {
+        LocalDateTimeConverter conv1 = new LocalDateTimeConverter();
+        LocalDateTimeConverter conv2 = new LocalDateTimeConverter();
+        assertEquals(conv1, conv2);
+        assertEquals(conv1.hashCode(), conv2.hashCode());
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalTimeConverterTest.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalTimeConverterTest.java
 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalTimeConverterTest.java
new file mode 100644
index 0000000..b75ed7b
--- /dev/null
+++ 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/LocalTimeConverterTest.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.time.LocalTime;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsti on 02.10.2017.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class LocalTimeConverterTest {
+
+    @Mock
+    ConversionContext context;
+
+    @Test
+    public void convert() throws Exception {
+        LocalTimeConverter conv = new LocalTimeConverter();
+        LocalTime value = conv.convert("10:15:30", context);
+        assertEquals(value, LocalTime.parse("10:15:30"));
+        value = conv.convert("foo", context);
+        assertNull(value);
+    }
+
+    @Test
+    public void equalsAndHashcode() throws Exception {
+        LocalTimeConverter conv1 = new LocalTimeConverter();
+        LocalTimeConverter conv2 = new LocalTimeConverter();
+        assertEquals(conv1, conv2);
+        assertEquals(conv1.hashCode(), conv2.hashCode());
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/test/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverterTest.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/test/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverterTest.java
 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverterTest.java
new file mode 100644
index 0000000..4ab65a2
--- /dev/null
+++ 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverterTest.java
@@ -0,0 +1,57 @@
+/*
+ * 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.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.time.OffsetDateTime;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsti on 02.10.2017.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class OffsetDateTimeConverterTest {
+
+    @Mock
+    ConversionContext context;
+
+    @Test
+    public void convert() throws Exception {
+        OffsetDateTimeConverter conv = new OffsetDateTimeConverter();
+        OffsetDateTime value = conv.convert("2007-12-03T10:15:30+01:00", 
context);
+        assertEquals(value, OffsetDateTime.parse("2007-12-03T10:15:30+01:00"));
+        value = conv.convert("foo", context);
+        assertNull(value);
+    }
+
+    @Test
+    public void equalsAndHashcode() throws Exception {
+        OffsetDateTimeConverter conv1 = new OffsetDateTimeConverter();
+        OffsetDateTimeConverter conv2 = new OffsetDateTimeConverter();
+        assertEquals(conv1, conv2);
+        assertEquals(conv1.hashCode(), conv2.hashCode());
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/test/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverterTest.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/test/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverterTest.java
 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverterTest.java
new file mode 100644
index 0000000..3b28b2c
--- /dev/null
+++ 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverterTest.java
@@ -0,0 +1,56 @@
+/*
+ * 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.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.time.OffsetTime;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsti on 02.10.2017.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class OffsetTimeConverterTest {
+    @Mock
+    ConversionContext context;
+
+    @Test
+    public void convert() throws Exception {
+        OffsetTimeConverter conv = new OffsetTimeConverter();
+        OffsetTime value = conv.convert("10:15:30+01:00", context);
+        assertEquals(value, OffsetTime.parse("10:15:30+01:00"));
+        value = conv.convert("foo", context);
+        assertNull(value);
+    }
+
+    @Test
+    public void equalsAndHashcode() throws Exception {
+        OffsetTimeConverter conv1 = new OffsetTimeConverter();
+        OffsetTimeConverter conv2 = new OffsetTimeConverter();
+        assertEquals(conv1, conv2);
+        assertEquals(conv1.hashCode(), conv2.hashCode());
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/1b469982/code/core/src/test/java/org/apache/tamaya/core/internal/converters/PathConverterTest.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/test/java/org/apache/tamaya/core/internal/converters/PathConverterTest.java
 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/PathConverterTest.java
new file mode 100644
index 0000000..2906c06
--- /dev/null
+++ 
b/code/core/src/test/java/org/apache/tamaya/core/internal/converters/PathConverterTest.java
@@ -0,0 +1,61 @@
+/*
+ * 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.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsti on 02.10.2017.
+ */
+@RunWith(MockitoJUnitRunner.class)
+public class PathConverterTest {
+
+    @Mock
+    ConversionContext context;
+
+    @Test
+    public void convert() throws Exception {
+        PathConverter conv = new PathConverter();
+        String testRoot = 
FileSystems.getDefault().getRootDirectories().iterator().next().toString();
+        Path value = conv.convert("testRoot", context);
+        assertEquals(value, Paths.get("testRoot"));
+        value = conv.convert("foo", context);
+        assertNotNull(value);
+    }
+
+    @Test
+    public void equalsAndHashcode() throws Exception {
+        PathConverter conv1 = new PathConverter();
+        PathConverter conv2 = new PathConverter();
+        assertEquals(conv1, conv2);
+        assertEquals(conv1.hashCode(), conv2.hashCode());
+    }
+
+}
\ No newline at end of file


--
N Oliver B. Fischer
A Schönhauser Allee 64, 10437 Berlin, Deutschland/Germany
P +49 30 44793251
M +49 178 7903538
E [email protected]
S oliver.b.fischer
J [email protected]
X http://xing.to/obf

Reply via email to