From 8e72fff6cd1f496c76a01773269caead994fea65 Mon Sep 17 00:00:00 2001 From: David Marquis Date: Sat, 18 Aug 2018 07:17:05 -0400 Subject: [PATCH] Test to verify issue #13 --- .../examples/MapConstructor.java | 11 ++++++++++ .../examples/MapConstructorBuilder.java | 16 ++++++++++++++ .../examples/MapConstructorTest.java | 22 +++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 src/test/java/com/fluentinterface/examples/MapConstructor.java create mode 100644 src/test/java/com/fluentinterface/examples/MapConstructorBuilder.java create mode 100644 src/test/java/com/fluentinterface/examples/MapConstructorTest.java diff --git a/src/test/java/com/fluentinterface/examples/MapConstructor.java b/src/test/java/com/fluentinterface/examples/MapConstructor.java new file mode 100644 index 0000000..9edbfe4 --- /dev/null +++ b/src/test/java/com/fluentinterface/examples/MapConstructor.java @@ -0,0 +1,11 @@ +package com.fluentinterface.examples; + +import java.util.Map; + +public class MapConstructor { + public Map map; + + public MapConstructor(Map map) { + this.map = map; + } +} diff --git a/src/test/java/com/fluentinterface/examples/MapConstructorBuilder.java b/src/test/java/com/fluentinterface/examples/MapConstructorBuilder.java new file mode 100644 index 0000000..a793a7a --- /dev/null +++ b/src/test/java/com/fluentinterface/examples/MapConstructorBuilder.java @@ -0,0 +1,16 @@ +package com.fluentinterface.examples; + +import com.fluentinterface.ReflectionBuilder; +import com.fluentinterface.annotation.Constructs; +import com.fluentinterface.builder.Builder; + +import java.util.Map; + +public interface MapConstructorBuilder extends Builder { + @Constructs + MapConstructorBuilder of(Map map); + + static MapConstructorBuilder aMapConstructor() { + return ReflectionBuilder.implementationFor(MapConstructorBuilder.class).create(); + } +} diff --git a/src/test/java/com/fluentinterface/examples/MapConstructorTest.java b/src/test/java/com/fluentinterface/examples/MapConstructorTest.java new file mode 100644 index 0000000..90ff584 --- /dev/null +++ b/src/test/java/com/fluentinterface/examples/MapConstructorTest.java @@ -0,0 +1,22 @@ +package com.fluentinterface.examples; + +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static com.fluentinterface.examples.MapConstructorBuilder.aMapConstructor; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +public class MapConstructorTest { + @Test + public void instantiatesWithHashMap() { + Map map = new HashMap<>(); + map.put("key", "value"); + + MapConstructor created = aMapConstructor().of(map).build(); + + assertThat(created.map.get("key"), is("value")); + } +}