From 1b7531633d7fabf16a7720a7463cbe3f030146f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Tue, 14 May 2024 15:22:56 +0200 Subject: [PATCH] removed unnecessary class Wire --- pom.xml | 5 ++ .../java/de/ph87/electro/circuit/Circuit.java | 13 ++--- .../ph87/electro/circuit/junction/Wire.java | 42 ---------------- .../circuit/{junction => part}/Junction.java | 13 +++-- .../de/ph87/electro/circuit/part/Part.java | 5 +- .../electro/circuit/part/PartBattery.java | 1 - .../electro/circuit/part/other/PartLight.java | 3 +- .../circuit/part/other/PartSwitch1x1.java | 2 +- .../circuit/part/other/PartSwitch1x2.java | 2 +- .../circuit/part/other/PartSwitchCross.java | 2 +- .../electro/circuit/BatteryLightTest.java | 24 +++++----- .../circuit/BatterySwitcher1x1Test.java | 32 ++++++------- .../circuit/BatterySwitcher1x2Test.java | 46 ++++++++---------- .../circuit/BatterySwitcher2x2Test.java | 39 +++++++-------- .../circuit/BatterySwitcherCrossTest.java | 48 ++++++++----------- 15 files changed, 107 insertions(+), 170 deletions(-) delete mode 100644 src/main/java/de/ph87/electro/circuit/junction/Wire.java rename src/main/java/de/ph87/electro/circuit/{junction => part}/Junction.java (77%) diff --git a/pom.xml b/pom.xml index 67f2028..cd697aa 100644 --- a/pom.xml +++ b/pom.xml @@ -30,6 +30,11 @@ junit-jupiter 5.11.0-M1 + + com.fasterxml.jackson.core + jackson-databind + 2.17.0 + \ No newline at end of file diff --git a/src/main/java/de/ph87/electro/circuit/Circuit.java b/src/main/java/de/ph87/electro/circuit/Circuit.java index 47e8a13..e6bdfe1 100644 --- a/src/main/java/de/ph87/electro/circuit/Circuit.java +++ b/src/main/java/de/ph87/electro/circuit/Circuit.java @@ -1,7 +1,6 @@ package de.ph87.electro.circuit; -import de.ph87.electro.circuit.junction.Junction; -import de.ph87.electro.circuit.junction.Wire; +import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.Part; import de.ph87.electro.circuit.part.PartBattery; import de.ph87.electro.circuit.part.PartOther; @@ -23,8 +22,6 @@ public class Circuit { private final List others = new ArrayList<>(); - private final List wires = new ArrayList<>(); - public PartBattery addBattery(final String name, final int x, final int y, final double voltage) { final PartBattery battery = new PartBattery(name, x, y, voltage); parts.add(battery); @@ -60,14 +57,12 @@ public class Circuit { return switchCross; } - public Wire connect(final Junction a, final Junction b) { - final Wire wire = new Wire(a, b); - wires.add(wire); - return wire; + public void connect(final Junction a, final Junction b) { + a.getJunctions().add(b); + b.getJunctions().add(a); } public void evaluate() { - wires.forEach(Wire::reset); parts.forEach(Part::reset); batteries.forEach(PartBattery::startPropagation); } diff --git a/src/main/java/de/ph87/electro/circuit/junction/Wire.java b/src/main/java/de/ph87/electro/circuit/junction/Wire.java deleted file mode 100644 index 03a5d42..0000000 --- a/src/main/java/de/ph87/electro/circuit/junction/Wire.java +++ /dev/null @@ -1,42 +0,0 @@ -package de.ph87.electro.circuit.junction; - -import de.ph87.electro.circuit.ShortCircuit; -import lombok.Getter; - -@Getter -public class Wire { - - private final Junction junction0; - - private final Junction junction1; - - private double voltage = Double.NaN; - - public Wire(final Junction junction0, final Junction junction1) { - if (junction0 == junction1) { - throw new RuntimeException("Cannot connect Pin to itself!"); - } - this.junction0 = junction0; - this.junction1 = junction1; - junction0.getWires().add(this); - junction1.getWires().add(this); - } - - public void reset() { - voltage = Double.NaN; - } - - public void propagate(final double newVoltage) throws ShortCircuit { - if (voltage == newVoltage) { - return; - } - if (Double.isNaN(voltage)) { - voltage = newVoltage; - junction0.propagate(voltage); - junction1.propagate(voltage); - return; - } - throw new ShortCircuit(); - } - -} diff --git a/src/main/java/de/ph87/electro/circuit/junction/Junction.java b/src/main/java/de/ph87/electro/circuit/part/Junction.java similarity index 77% rename from src/main/java/de/ph87/electro/circuit/junction/Junction.java rename to src/main/java/de/ph87/electro/circuit/part/Junction.java index 11a711c..b5a3980 100644 --- a/src/main/java/de/ph87/electro/circuit/junction/Junction.java +++ b/src/main/java/de/ph87/electro/circuit/part/Junction.java @@ -1,7 +1,6 @@ -package de.ph87.electro.circuit.junction; +package de.ph87.electro.circuit.part; import de.ph87.electro.circuit.ShortCircuit; -import de.ph87.electro.circuit.part.Part; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -9,11 +8,14 @@ import lombok.ToString; import java.awt.*; import java.util.ArrayList; import java.util.List; +import java.util.UUID; @Getter @ToString(onlyExplicitlyIncluded = true) public class Junction { + private final String uuid; + private final Part owner; @ToString.Include @@ -25,9 +27,10 @@ public class Junction { @ToString.Include private double voltage = Double.NaN; - private final List wires = new ArrayList<>(); + private final List junctions = new ArrayList<>(); public Junction(final Part owner, final String name, final int x, final int y) { + this.uuid = UUID.randomUUID().toString(); this.owner = owner; this.name = name; this.position = new Point(x, y); @@ -44,8 +47,8 @@ public class Junction { if (Double.isNaN(voltage)) { voltage = newVoltage; owner.propagate(this); - for (Wire wire : wires) { - wire.propagate(newVoltage); + for (Junction junction : junctions) { + junction.propagate(newVoltage); } return; } diff --git a/src/main/java/de/ph87/electro/circuit/part/Part.java b/src/main/java/de/ph87/electro/circuit/part/Part.java index bf9a499..36f92b5 100644 --- a/src/main/java/de/ph87/electro/circuit/part/Part.java +++ b/src/main/java/de/ph87/electro/circuit/part/Part.java @@ -1,7 +1,6 @@ package de.ph87.electro.circuit.part; import de.ph87.electro.circuit.ShortCircuit; -import de.ph87.electro.circuit.junction.Junction; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -9,12 +8,15 @@ import lombok.ToString; import java.awt.*; import java.util.ArrayList; import java.util.List; +import java.util.UUID; @Getter @Setter @ToString(onlyExplicitlyIncluded = true) public abstract class Part { + private final String uuid; + @ToString.Include private String name; @@ -23,6 +25,7 @@ public abstract class Part { protected final List junctions = new ArrayList<>(); protected Part(final String name, final int x, final int y) { + this.uuid = UUID.randomUUID().toString(); this.name = name; this.position = new Point(x, y); } diff --git a/src/main/java/de/ph87/electro/circuit/part/PartBattery.java b/src/main/java/de/ph87/electro/circuit/part/PartBattery.java index f15a3d3..4cff51f 100644 --- a/src/main/java/de/ph87/electro/circuit/part/PartBattery.java +++ b/src/main/java/de/ph87/electro/circuit/part/PartBattery.java @@ -1,7 +1,6 @@ package de.ph87.electro.circuit.part; import de.ph87.electro.circuit.ShortCircuit; -import de.ph87.electro.circuit.junction.Junction; import lombok.Getter; import lombok.ToString; diff --git a/src/main/java/de/ph87/electro/circuit/part/other/PartLight.java b/src/main/java/de/ph87/electro/circuit/part/other/PartLight.java index be07da6..59a92c2 100644 --- a/src/main/java/de/ph87/electro/circuit/part/other/PartLight.java +++ b/src/main/java/de/ph87/electro/circuit/part/other/PartLight.java @@ -1,7 +1,6 @@ package de.ph87.electro.circuit.part.other; -import de.ph87.electro.circuit.ShortCircuit; -import de.ph87.electro.circuit.junction.Junction; +import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.PartOther; import lombok.Getter; import lombok.ToString; diff --git a/src/main/java/de/ph87/electro/circuit/part/other/PartSwitch1x1.java b/src/main/java/de/ph87/electro/circuit/part/other/PartSwitch1x1.java index 6957f41..14049bf 100644 --- a/src/main/java/de/ph87/electro/circuit/part/other/PartSwitch1x1.java +++ b/src/main/java/de/ph87/electro/circuit/part/other/PartSwitch1x1.java @@ -1,7 +1,7 @@ package de.ph87.electro.circuit.part.other; import de.ph87.electro.circuit.ShortCircuit; -import de.ph87.electro.circuit.junction.Junction; +import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.PartOther; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/de/ph87/electro/circuit/part/other/PartSwitch1x2.java b/src/main/java/de/ph87/electro/circuit/part/other/PartSwitch1x2.java index 262501d..7889244 100644 --- a/src/main/java/de/ph87/electro/circuit/part/other/PartSwitch1x2.java +++ b/src/main/java/de/ph87/electro/circuit/part/other/PartSwitch1x2.java @@ -1,7 +1,7 @@ package de.ph87.electro.circuit.part.other; import de.ph87.electro.circuit.ShortCircuit; -import de.ph87.electro.circuit.junction.Junction; +import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.PartOther; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/de/ph87/electro/circuit/part/other/PartSwitchCross.java b/src/main/java/de/ph87/electro/circuit/part/other/PartSwitchCross.java index 1e6dbd2..8f6505a 100644 --- a/src/main/java/de/ph87/electro/circuit/part/other/PartSwitchCross.java +++ b/src/main/java/de/ph87/electro/circuit/part/other/PartSwitchCross.java @@ -1,7 +1,7 @@ package de.ph87.electro.circuit.part.other; import de.ph87.electro.circuit.ShortCircuit; -import de.ph87.electro.circuit.junction.Junction; +import de.ph87.electro.circuit.part.Junction; import de.ph87.electro.circuit.part.PartOther; import lombok.Getter; import lombok.Setter; diff --git a/src/test/java/de/ph87/electro/circuit/BatteryLightTest.java b/src/test/java/de/ph87/electro/circuit/BatteryLightTest.java index 8a6a8b6..ae0ade9 100644 --- a/src/test/java/de/ph87/electro/circuit/BatteryLightTest.java +++ b/src/test/java/de/ph87/electro/circuit/BatteryLightTest.java @@ -1,8 +1,8 @@ package de.ph87.electro.circuit; -import de.ph87.electro.circuit.junction.Wire; import de.ph87.electro.circuit.part.PartBattery; import de.ph87.electro.circuit.part.other.PartLight; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -12,30 +12,30 @@ public class BatteryLightTest { private static final double VOLTAGE = 3; - private final Circuit circuit = new Circuit(); + private static final Circuit circuit = new Circuit(); - private final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); + private static final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); - private final PartLight light = circuit.addLight("Licht", 1, 1, VOLTAGE); + private static final PartLight light = circuit.addLight("Licht", 1, 1, VOLTAGE); - private final Wire plus = circuit.connect(battery.getPlus(), light.getPlus()); - - private final Wire minus = circuit.connect(light.getMinus(), battery.getMinus()); + @BeforeAll + public static void setUp() { + circuit.connect(battery.getPlus(), light.getPlus()); + circuit.connect(light.getMinus(), battery.getMinus()); + } @Test void test() { circuit.evaluate(); assertEquals(VOLTAGE, battery.getPlus().getVoltage()); - assertEquals(VOLTAGE, plus.getVoltage()); - assertEquals(VOLTAGE, light.getPlus().getVoltage()); assertEquals(VOLTAGE, light.getVoltage()); - assertEquals(0, light.getMinus().getVoltage()); - assertFalse(light.isDefect()); - assertEquals(0, minus.getVoltage()); + assertEquals(0, light.getMinus().getVoltage()); assertEquals(0, battery.getMinus().getVoltage()); + + assertFalse(light.isDefect()); } } diff --git a/src/test/java/de/ph87/electro/circuit/BatterySwitcher1x1Test.java b/src/test/java/de/ph87/electro/circuit/BatterySwitcher1x1Test.java index 82ad95a..3783e10 100644 --- a/src/test/java/de/ph87/electro/circuit/BatterySwitcher1x1Test.java +++ b/src/test/java/de/ph87/electro/circuit/BatterySwitcher1x1Test.java @@ -1,9 +1,9 @@ package de.ph87.electro.circuit; -import de.ph87.electro.circuit.junction.Wire; import de.ph87.electro.circuit.part.PartBattery; import de.ph87.electro.circuit.part.other.PartLight; import de.ph87.electro.circuit.part.other.PartSwitch1x1; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -13,19 +13,20 @@ public class BatterySwitcher1x1Test { private static final double VOLTAGE = 3; - private final Circuit circuit = new Circuit(); + private static final Circuit circuit = new Circuit(); - private final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); + private static final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); - private final PartSwitch1x1 switcher = circuit.addSwitch1x1("Ein-/Ausschalter", 1, 1); + private static final PartSwitch1x1 switcher = circuit.addSwitch1x1("Ein-/Ausschalter", 1, 1); - private final PartLight light = circuit.addLight("Licht", 1, 1, VOLTAGE); + private static final PartLight light = circuit.addLight("Licht", 1, 1, VOLTAGE); - private final Wire plus = circuit.connect(battery.getPlus(), switcher.getCommon()); - - private final Wire output = circuit.connect(switcher.getOutput(), light.getPlus()); - - private final Wire minus = circuit.connect(light.getMinus(), battery.getMinus()); + @BeforeAll + public static void setUp() { + circuit.connect(battery.getPlus(), switcher.getCommon()); + circuit.connect(switcher.getOutput(), light.getPlus()); + circuit.connect(light.getMinus(), battery.getMinus()); + } @Test public void test0() { @@ -43,23 +44,20 @@ public class BatterySwitcher1x1Test { switcher.setState(state); circuit.evaluate(); - + assertEquals(state, switcher.isState()); assertEquals(VOLTAGE, battery.getPlus().getVoltage()); - assertEquals(VOLTAGE, plus.getVoltage()); - assertEquals(VOLTAGE, switcher.getCommon().getVoltage()); assertEquals(voltage, switcher.getOutput().getVoltage()); - assertEquals(voltage, output.getVoltage()); assertEquals(voltage, light.getPlus().getVoltage()); assertEquals(voltage, light.getVoltage()); - assertEquals(0, light.getMinus().getVoltage()); - assertEquals(0, minus.getVoltage()); - assertFalse(light.isDefect()); + assertEquals(0, light.getMinus().getVoltage()); assertEquals(0, battery.getMinus().getVoltage()); + + assertFalse(light.isDefect()); } } diff --git a/src/test/java/de/ph87/electro/circuit/BatterySwitcher1x2Test.java b/src/test/java/de/ph87/electro/circuit/BatterySwitcher1x2Test.java index d02cc7e..4eaf0d7 100644 --- a/src/test/java/de/ph87/electro/circuit/BatterySwitcher1x2Test.java +++ b/src/test/java/de/ph87/electro/circuit/BatterySwitcher1x2Test.java @@ -1,9 +1,9 @@ package de.ph87.electro.circuit; -import de.ph87.electro.circuit.junction.Wire; import de.ph87.electro.circuit.part.PartBattery; import de.ph87.electro.circuit.part.other.PartLight; import de.ph87.electro.circuit.part.other.PartSwitch1x2; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -13,25 +13,24 @@ public class BatterySwitcher1x2Test { private static final double VOLTAGE = 3; - private final Circuit circuit = new Circuit(); + private static final Circuit circuit = new Circuit(); - private final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); + private static final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); - private final PartSwitch1x2 switcher = circuit.addSwitch1x2("Wechselschalter", 1, 1); + private static final PartSwitch1x2 switcher = circuit.addSwitch1x2("Wechselschalter", 1, 1); - private final PartLight light0 = circuit.addLight("Licht 0", 1, 1, VOLTAGE); + private static final PartLight light0 = circuit.addLight("Licht 0", 1, 1, VOLTAGE); - private final PartLight light1 = circuit.addLight("Licht 1", 1, 1, VOLTAGE); + private static final PartLight light1 = circuit.addLight("Licht 1", 1, 1, VOLTAGE); - private final Wire plus = circuit.connect(battery.getPlus(), switcher.getCommon()); - - private final Wire output0 = circuit.connect(switcher.getOutput0(), light0.getPlus()); - - private final Wire minus0 = circuit.connect(light0.getMinus(), battery.getMinus()); - - private final Wire output1 = circuit.connect(switcher.getOutput1(), light1.getPlus()); - - private final Wire minus1 = circuit.connect(light1.getMinus(), battery.getMinus()); + @BeforeAll + public static void setUp() { + circuit.connect(battery.getPlus(), switcher.getCommon()); + circuit.connect(switcher.getOutput0(), light0.getPlus()); + circuit.connect(light0.getMinus(), battery.getMinus()); + circuit.connect(switcher.getOutput1(), light1.getPlus()); + circuit.connect(light1.getMinus(), battery.getMinus()); + } @Test public void test0() { @@ -50,31 +49,26 @@ public class BatterySwitcher1x2Test { switcher.setState(state); circuit.evaluate(); - + assertEquals(state, switcher.isState()); assertEquals(VOLTAGE, battery.getPlus().getVoltage()); - assertEquals(VOLTAGE, plus.getVoltage()); - assertEquals(VOLTAGE, switcher.getCommon().getVoltage()); assertEquals(voltage0, switcher.getOutput0().getVoltage()); - assertEquals(voltage0, output0.getVoltage()); assertEquals(voltage0, light0.getPlus().getVoltage()); assertEquals(voltage0, light0.getVoltage()); - assertEquals(0, light0.getMinus().getVoltage()); - assertEquals(0, minus0.getVoltage()); - assertFalse(light0.isDefect()); assertEquals(voltage1, switcher.getOutput1().getVoltage()); - assertEquals(voltage1, output1.getVoltage()); assertEquals(voltage1, light1.getPlus().getVoltage()); assertEquals(voltage1, light1.getVoltage()); - assertEquals(0, light1.getMinus().getVoltage()); - assertEquals(0, minus1.getVoltage()); - assertFalse(light1.isDefect()); + assertEquals(0, light0.getMinus().getVoltage()); + assertEquals(0, light1.getMinus().getVoltage()); assertEquals(0, battery.getMinus().getVoltage()); + + assertFalse(light0.isDefect()); + assertFalse(light1.isDefect()); } } diff --git a/src/test/java/de/ph87/electro/circuit/BatterySwitcher2x2Test.java b/src/test/java/de/ph87/electro/circuit/BatterySwitcher2x2Test.java index 9690429..dde5d35 100644 --- a/src/test/java/de/ph87/electro/circuit/BatterySwitcher2x2Test.java +++ b/src/test/java/de/ph87/electro/circuit/BatterySwitcher2x2Test.java @@ -1,9 +1,9 @@ package de.ph87.electro.circuit; -import de.ph87.electro.circuit.junction.Wire; import de.ph87.electro.circuit.part.PartBattery; import de.ph87.electro.circuit.part.other.PartLight; import de.ph87.electro.circuit.part.other.PartSwitch1x2; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -13,25 +13,24 @@ public class BatterySwitcher2x2Test { private static final double VOLTAGE = 3; - private final Circuit circuit = new Circuit(); + private static final Circuit circuit = new Circuit(); - private final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); + private static final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); - private final PartSwitch1x2 switcher0 = circuit.addSwitch1x2("Wechselschalter 0", 1, 1); + private static final PartSwitch1x2 switcher0 = circuit.addSwitch1x2("Wechselschalter 0", 1, 1); - private final PartSwitch1x2 switcher1 = circuit.addSwitch1x2("Wechselschalter 1", 1, 1); + private static final PartSwitch1x2 switcher1 = circuit.addSwitch1x2("Wechselschalter 1", 1, 1); - private final PartLight light = circuit.addLight("Licht", 1, 1, VOLTAGE); + private static final PartLight light = circuit.addLight("Licht", 1, 1, VOLTAGE); - private final Wire plus = circuit.connect(battery.getPlus(), switcher0.getCommon()); - - private final Wire switcher00 = circuit.connect(switcher0.getOutput0(), switcher1.getOutput0()); - - private final Wire switcher01 = circuit.connect(switcher0.getOutput1(), switcher1.getOutput1()); - - private final Wire output = circuit.connect(switcher1.getCommon(), light.getPlus()); - - private final Wire minus = circuit.connect(light.getMinus(), battery.getMinus()); + @BeforeAll + public static void setUp() { + circuit.connect(battery.getPlus(), switcher0.getCommon()); + circuit.connect(switcher0.getOutput0(), switcher1.getOutput0()); + circuit.connect(switcher0.getOutput1(), switcher1.getOutput1()); + circuit.connect(switcher1.getCommon(), light.getPlus()); + circuit.connect(light.getMinus(), battery.getMinus()); + } @Test public void test00() { @@ -67,28 +66,22 @@ public class BatterySwitcher2x2Test { assertEquals(state1, switcher1.isState()); assertEquals(VOLTAGE, battery.getPlus().getVoltage()); - assertEquals(VOLTAGE, plus.getVoltage()); - assertEquals(VOLTAGE, switcher0.getCommon().getVoltage()); assertEquals(voltage0, switcher0.getOutput0().getVoltage()); - assertEquals(voltage0, switcher00.getVoltage()); assertEquals(voltage0, switcher1.getOutput0().getVoltage()); assertEquals(voltage1, switcher0.getOutput1().getVoltage()); - assertEquals(voltage1, switcher01.getVoltage()); assertEquals(voltage1, switcher1.getOutput1().getVoltage()); assertEquals(voltage, switcher1.getCommon().getVoltage()); - assertEquals(voltage, output.getVoltage()); assertEquals(voltage, light.getPlus().getVoltage()); assertEquals(voltage, light.getVoltage()); assertEquals(0, light.getMinus().getVoltage()); - assertEquals(0, minus.getVoltage()); - assertFalse(light.isDefect()); - assertEquals(0, battery.getMinus().getVoltage()); + + assertFalse(light.isDefect()); } } diff --git a/src/test/java/de/ph87/electro/circuit/BatterySwitcherCrossTest.java b/src/test/java/de/ph87/electro/circuit/BatterySwitcherCrossTest.java index 6813071..519e7b0 100644 --- a/src/test/java/de/ph87/electro/circuit/BatterySwitcherCrossTest.java +++ b/src/test/java/de/ph87/electro/circuit/BatterySwitcherCrossTest.java @@ -1,10 +1,10 @@ package de.ph87.electro.circuit; -import de.ph87.electro.circuit.junction.Wire; import de.ph87.electro.circuit.part.PartBattery; import de.ph87.electro.circuit.part.other.PartLight; import de.ph87.electro.circuit.part.other.PartSwitch1x2; import de.ph87.electro.circuit.part.other.PartSwitchCross; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -14,31 +14,28 @@ public class BatterySwitcherCrossTest { private static final double VOLTAGE = 3; - private final Circuit circuit = new Circuit(); + private static final Circuit circuit = new Circuit(); - private final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); + private static final PartBattery battery = circuit.addBattery("Batterie", 1, 0, VOLTAGE); - private final PartSwitch1x2 switcher0 = circuit.addSwitch1x2("Wechselschalter 0", 1, 1); + private static final PartSwitch1x2 switcher0 = circuit.addSwitch1x2("Wechselschalter 0", 1, 1); - private final PartSwitchCross switcherX = circuit.addSwitchCross("Kreuzschalter", 1, 1); + private static final PartSwitchCross switcherX = circuit.addSwitchCross("Kreuzschalter", 1, 1); - private final PartSwitch1x2 switcher1 = circuit.addSwitch1x2("Wechselschalter 1", 1, 1); + private static final PartSwitch1x2 switcher1 = circuit.addSwitch1x2("Wechselschalter 1", 1, 1); - private final PartLight light = circuit.addLight("Licht", 1, 1, VOLTAGE); + private static final PartLight light = circuit.addLight("Licht", 1, 1, VOLTAGE); - private final Wire plus = circuit.connect(battery.getPlus(), switcher0.getCommon()); - - private final Wire switcher00 = circuit.connect(switcher0.getOutput0(), switcherX.getCommon0()); - - private final Wire switcher01 = circuit.connect(switcher0.getOutput1(), switcherX.getCommon1()); - - private final Wire switcherX0 = circuit.connect(switcherX.getOutput0(), switcher1.getOutput0()); - - private final Wire switcherX1 = circuit.connect(switcherX.getOutput1(), switcher1.getOutput1()); - - private final Wire output = circuit.connect(switcher1.getCommon(), light.getPlus()); - - private final Wire minus = circuit.connect(light.getMinus(), battery.getMinus()); + @BeforeAll + public static void setUp() { + circuit.connect(battery.getPlus(), switcher0.getCommon()); + circuit.connect(switcher0.getOutput0(), switcherX.getCommon0()); + circuit.connect(switcher0.getOutput1(), switcherX.getCommon1()); + circuit.connect(switcherX.getOutput0(), switcher1.getOutput0()); + circuit.connect(switcherX.getOutput1(), switcher1.getOutput1()); + circuit.connect(switcher1.getCommon(), light.getPlus()); + circuit.connect(light.getMinus(), battery.getMinus()); + } @Test public void test000() { @@ -98,35 +95,28 @@ public class BatterySwitcherCrossTest { assertEquals(state1, switcher1.isState()); assertEquals(VOLTAGE, battery.getPlus().getVoltage()); - assertEquals(VOLTAGE, plus.getVoltage()); assertEquals(VOLTAGE, switcher0.getCommon().getVoltage()); assertEquals(voltage00, switcher0.getOutput0().getVoltage()); - assertEquals(voltage00, switcher00.getVoltage()); assertEquals(voltage00, switcherX.getCommon0().getVoltage()); assertEquals(voltage01, switcher0.getOutput1().getVoltage()); - assertEquals(voltage01, switcher01.getVoltage()); assertEquals(voltage01, switcherX.getCommon1().getVoltage()); assertEquals(voltageX0, switcherX.getOutput0().getVoltage()); - assertEquals(voltageX0, switcherX0.getVoltage()); assertEquals(voltageX0, switcher1.getOutput0().getVoltage()); assertEquals(voltageX1, switcherX.getOutput1().getVoltage()); - assertEquals(voltageX1, switcherX1.getVoltage()); assertEquals(voltageX1, switcher1.getOutput1().getVoltage()); assertEquals(voltage, switcher1.getCommon().getVoltage()); - assertEquals(voltage, output.getVoltage()); assertEquals(voltage, light.getPlus().getVoltage()); assertEquals(voltage, light.getVoltage()); assertEquals(0, light.getMinus().getVoltage()); - assertEquals(0, minus.getVoltage()); - assertFalse(light.isDefect()); - assertEquals(0, battery.getMinus().getVoltage()); + + assertFalse(light.isDefect()); } }