From f3ce1ea3b916341c6adef1e11cc0a441f6ed19b1 Mon Sep 17 00:00:00 2001 From: Johannes Hiry Date: Fri, 3 Apr 2020 15:50:08 +0200 Subject: [PATCH 1/4] added OperatorInputFactory --- .../factory/input/OperatorInputFactory.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/edu/ie3/datamodel/io/factory/input/OperatorInputFactory.java diff --git a/src/main/java/edu/ie3/datamodel/io/factory/input/OperatorInputFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/input/OperatorInputFactory.java new file mode 100644 index 000000000..b5e2d7ce3 --- /dev/null +++ b/src/main/java/edu/ie3/datamodel/io/factory/input/OperatorInputFactory.java @@ -0,0 +1,30 @@ +/* + * © 2020. TU Dortmund University, + * Institute of Energy Systems, Energy Efficiency and Energy Economics, + * Research group Distribution grid planning and operation +*/ +package edu.ie3.datamodel.io.factory.input; + +import edu.ie3.datamodel.io.factory.EntityFactory; +import edu.ie3.datamodel.io.factory.SimpleEntityData; +import edu.ie3.datamodel.models.input.OperatorInput; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +public class OperatorInputFactory extends EntityFactory { + + private static final String ENTITY_UUID = "uuid"; + private static final String ENTITY_ID = "id"; + + @Override + protected List> getFields(SimpleEntityData data) { + Set constructorParams = newSet(ENTITY_UUID, ENTITY_ID); + return Collections.singletonList(constructorParams); + } + + @Override + protected OperatorInput buildModel(SimpleEntityData data) { + return new OperatorInput(data.getUUID(ENTITY_UUID), data.getField(ENTITY_ID)); + } +} From 57cbdf647c1f8437aff01057db5c78094cc8af98 Mon Sep 17 00:00:00 2001 From: Johannes Hiry Date: Fri, 3 Apr 2020 16:05:15 +0200 Subject: [PATCH 2/4] added test for OperatorInputFactory --- .../factory/input/OperatorInputFactory.java | 4 ++ .../input/OperatorInputFactoryTest.groovy | 44 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy diff --git a/src/main/java/edu/ie3/datamodel/io/factory/input/OperatorInputFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/input/OperatorInputFactory.java index b5e2d7ce3..b1bee811f 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/input/OperatorInputFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/input/OperatorInputFactory.java @@ -17,6 +17,10 @@ public class OperatorInputFactory extends EntityFactory> getFields(SimpleEntityData data) { Set constructorParams = newSet(ENTITY_UUID, ENTITY_ID); diff --git a/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy new file mode 100644 index 000000000..f0609651b --- /dev/null +++ b/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy @@ -0,0 +1,44 @@ +/* + * © 2020. TU Dortmund University, + * Institute of Energy Systems, Energy Efficiency and Energy Economics, + * Research group Distribution grid planning and operation + */ +package edu.ie3.datamodel.io.factory.input + +import edu.ie3.datamodel.io.factory.SimpleEntityData +import edu.ie3.datamodel.models.input.OperatorInput +import spock.lang.Specification + +class OperatorInputFactoryTest extends Specification { + + def "An OperatorInputFactory should contain exactly the expected class for parsing"() { + given: + def inputFactory = new OperatorInputFactory() + def expectedClasses = [OperatorInput] + + expect: + inputFactory.classes() == Arrays.asList(expectedClasses.toArray()) + } + + def "An OperatorInputFactory should parse a valid NodeInput correctly"() { + given: "a system participant input type factory and model data" + def inputFactory = new OperatorInputFactory() + Map parameter = [ + "uuid": "91ec3bcf-1777-4d38-af67-0bf7c9fa73c7", + "id" : "TestOperatorId", + ] + + def inputClass = OperatorInput + + when: + Optional input = inputFactory.getEntity(new SimpleEntityData(parameter, inputClass)) + + then: + input.present + input.get().getClass() == inputClass + ((OperatorInput) input.get()).with { + assert uuid == UUID.fromString(parameter["uuid"]) + assert id == parameter["id"] + } + } +} From 9ad5a666f3b050961c6631769e9075b5dc3f9f98 Mon Sep 17 00:00:00 2001 From: johanneshiry Date: Tue, 7 Apr 2020 08:23:33 +0200 Subject: [PATCH 3/4] Update src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy Co-Authored-By: Chris Kittl <44838605+ckittl@users.noreply.github.com> --- .../datamodel/io/factory/input/OperatorInputFactoryTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy index f0609651b..914618542 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy @@ -20,7 +20,7 @@ class OperatorInputFactoryTest extends Specification { inputFactory.classes() == Arrays.asList(expectedClasses.toArray()) } - def "An OperatorInputFactory should parse a valid NodeInput correctly"() { + def "An OperatorInputFactory should parse a valid OperatorInput correctly"() { given: "a system participant input type factory and model data" def inputFactory = new OperatorInputFactory() Map parameter = [ From 81a24b9acc32c34ebf9919bd2063f6b74e8ce25e Mon Sep 17 00:00:00 2001 From: johanneshiry Date: Tue, 7 Apr 2020 08:24:08 +0200 Subject: [PATCH 4/4] Update src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy Co-Authored-By: Chris Kittl <44838605+ckittl@users.noreply.github.com> --- .../datamodel/io/factory/input/OperatorInputFactoryTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy index 914618542..691da4f46 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/factory/input/OperatorInputFactoryTest.groovy @@ -21,7 +21,7 @@ class OperatorInputFactoryTest extends Specification { } def "An OperatorInputFactory should parse a valid OperatorInput correctly"() { - given: "a system participant input type factory and model data" + given: "a operator input factory and model data" def inputFactory = new OperatorInputFactory() Map parameter = [ "uuid": "91ec3bcf-1777-4d38-af67-0bf7c9fa73c7",