diff --git a/pom.xml b/pom.xml
index 799d8d5..5a04c0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,26 @@
junit
junit
- 3.8.1
+ 4.12
+ test
+
+
+ org.junit.platform
+ junit-platform-engine
+ 1.8.2
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.7
+ test
@@ -43,6 +62,7 @@
+
maven-clean-plugin
3.1.0
@@ -88,6 +108,26 @@
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.7
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ default-report
+ prepare-package
+
+ report
+
+
+
+
org.apache.maven.plugins
maven-jar-plugin
diff --git a/src/test/java/org/drukmakor/Tests.java b/src/test/java/org/drukmakor/Tests.java
index 340353b..dafc697 100644
--- a/src/test/java/org/drukmakor/Tests.java
+++ b/src/test/java/org/drukmakor/Tests.java
@@ -1,1213 +1,475 @@
package org.drukmakor;
-/*import org.junit.jupiter.api.BeforeEach;
+import jdk.jfr.Description;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
-class Tests {
- ParancsErtelmezo pre;
-
- @BeforeEach
- void setUp() {
- pre = new ParancsErtelmezo();
- pre.runFromString("letrehoz forras pf1\n" +
- "letrehoz ciszterna pc1\n" +
- "letrehoz pumpa pp1\n" +
- "letrehoz pumpa pp2\n" +
- "letrehoz pumpa pp3\n" +
- "letrehoz cso pcs1\n" +
- "letrehoz cso pcs2\n" +
- "letrehoz cso pcs3\n" +
- "letrehoz cso pcs4\n" +
- "letrehoz cso pcs5\n" +
- "letrehoz cso pcs6\n" +
- "letrehoz cso pcs7\n" +
- "letrehoz szerelo psze1\n" +
- "letrehoz szerelo psze2\n" +
- "letrehoz szabotor psza1\n" +
- "osszekot pcs1 pf1\n" +
- "osszekot pcs1 pp1\n" +
- "osszekot pp1 pcs2\n" +
- "osszekot pcs2 pp2\n" +
- "osszekot pp2 pcs6\n" +
- "osszekot pcs6 pc1\n" +
- "osszekot pc1 pcs7\n" +
- "osszekot pp1 pcs3\n" +
- "osszekot pcs3 pp3\n" +
- "osszekot pp3 pcs4\n" +
- "osszekot pcs4 pp2\n" +
- "osszekot pp3 pcs5\n" +
- "osszekot pcs5 pc1\n" +
- "lep psza1 pcs3\n" +
- "lep psze2 pp3\n" +
- "lep psze1 pcs5\n"+
- "veletlen ki"
- );
- }
+class Tests {
@DisplayName("Ez egy mindig lefuto teszt (check)")
@Test
void testSingleSuccessTest() {
assertTrue(true);
}
+}
- @DisplayName("Cso letrehozasa")
- @Test
- void cso_letrehozasa() {
- pre.runFromString("letrehoz cso cs1");
- pre.runFromString("allapot cs1 *");
- assertEquals("cs1 mukodik: true\n" +
- "cs1 szomszedok: \n" +
- "cs1 maxJatekosok: 1\n" +
- "cs1 maxSzomszedok: 2\n" +
- "cs1 jatekosok: \n" +
- "cs1 vizmennyiseg: 0\n"+
- "cs1 lyukCooldown: 0\n" +
- "cs1 csuszos: 0\n" +
- "cs1 ragados: 0",
- pre.getAllapotString());
- }
-
- @Test
- @DisplayName("n Pumpa felcsatolasa a csore")
- void felcsatol() {
- pre.runFromString("letrehoz cso cs1\n" +
- "letrehoz pumpa p1\n" +
- "letrehoz pumpa p2\n" +
- "letrehoz pumpa p3\n" +
- "letrehoz pumpa p4\n" +
- "letrehoz pumpa p5\n" +
- "osszekot cs1 p1\n" +
- "osszekot cs1 p2\n" +
- "osszekot cs1 p3\n" +
- "osszekot cs1 p4\n" +
- "osszekot cs1 p5\n" +
- "allapot cs1 szomszedok");
- String output = pre.getAllapotString();
- assertEquals("cs1 szomszedok: \n" +
- "p1\n" +
- "p2", output);
- }
-
- @Test
- @DisplayName("Ket cso osszekotese")
- void osszekot_ket_csot() {
- pre.runFromString("letrehoz cs1\n" +
- "letrehoz cs2\n" +
- "osszekot cs1 cs2\n" +
- "allapot cs1 szomszedok\n" +
- "allapot cs2 szomszedok");
- assertEquals("", pre.getAllapotString());
- }
-
- @Test
- @DisplayName("Szomszedos, foglalt csore lepes")
- void csore_lep() {
- pre.runFromString("lep psze2 pcs5\n" +
- "allapot pp3 jatekosok\n" +
- "allapot pcs5 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pp3 jatekosok: \n" +
- "psze2\n" +
- "pcs5 jatekosok: \n" +
- "psze1", out);
- }
-
- @Test
- @DisplayName("ures cso tulpumpalasa")
- void tulpumpal() {
- pre.runFromString("allit psze2 pcs3 pcs5\n" +
- "vizmennyiseg pp3 3\n" +
- "frissit\n" +
- "frissit\n" +
- "allapot pcs3 vizmennyiseg\n" +
- "allapot pp3 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs3 vizmennyiseg: 1\n" +
- "pp3 vizmennyiseg: 2", out);
- }
-
-
- @Test
- @DisplayName("Cso kilyukasztasa")
- void kilyukaszt() {
- pre.runFromString("allit psze2 pcs3 pcs5\n" +
- "vizmennyiseg pcs5 1\n" +
- "vizmennyiseg pp3 3\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "lyukaszt psze1\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "frissit\n" +
- "allapot pcs5 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs5 mukodik: true\n" +
- "pcs5 vizmennyiseg: 1\n" +
- "pcs5 mukodik: false\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 vizmennyiseg: 0", out);
- }
-
+class CsoTests{
+ @DisplayName("Cso elrontasa, majd javitasa")
@Test
- @DisplayName("Kilyukasztott cso kilyukasztasa")
- void lyukaszt() {
- pre.runFromString("allit psze2 pcs3 pcs5\n" +
- "vizmennyiseg pcs5 1\n" +
- "vizmennyiseg pp3 3\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "lyukaszt psze1\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "frissit\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "lyukaszt psze2\n" +
- "frissit\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs5 mukodik: true\n" +
- "pcs5 vizmennyiseg: 1\n" +
- "pcs5 mukodik: false\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 mukodik: false\n" +
- "pcs5 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Nemy lyukaszthato cso lyukasztasa")
- void lyukaszt2() {
- pre.runFromString("allit psze2 pcs5 pcs3\n" +
- "vizmennyiseg pcs5 1\n" +
- "vizmennyiseg pp3 3\n" +
- "lyukaszt psze1\n" +
- "szerel psze1\n" +
- "lyukaszt psze1\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs5 lyukCooldown\n" +
- "frissit\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs5 lyukCooldown");
- String out = pre.getAllapotString();
- assertEquals("pcs5 mukodik: true\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 lyukCooldown: 5\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 lyukCooldown: 4", out);
- }
-
- @Test
- @DisplayName("Lyukas cso javitasa")
- void javit() {
- pre.runFromString("allit psze2 pcs5 pcs3\n" +
- "vizmennyiseg pcs5 1\n" +
- "vizmennyiseg pp3 3\n" +
- "lyukaszt psze1\n" +
- "szerel psze1\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs5 lyukCooldown\n" +
- "frissit\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs5 lyukCooldown");
- String out = pre.getAllapotString();
- assertEquals("pcs5 mukodik: true\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 lyukCooldown: 5\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 lyukCooldown: 4", out);
- }
-
- @Test
- @DisplayName("Nem lyukas, nem lyukaszthato csovet javit")
- void javit2() {
- pre.runFromString("allit psze2 pcs3 pcs5\n" +
- "vizmennyiseg pcs5 1\n" +
- "vizmennyiseg pp3 3\n" +
- "lyukaszt psze1\n" +
- "szerel psze1\n" +
- "szerel psze1\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs5 lyukCooldown\n" +
- "frissit\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs5 lyukCooldown");
- String out = pre.getAllapotString();
- assertEquals("pcs5 mukodik: true\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 lyukCooldown: 5\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs5 lyukCooldown: 4", out);
- }
-
- @Test
- @DisplayName("Nem lyukas cso javitasa")
- void javit3() {
- pre.runFromString("allit psze2 pcs3 pcs5\n" +
- "vizmennyiseg pcs5 1\n" +
- "vizmennyiseg pp3 3\n" +
- "szerel psze1\n" +
- "allapot pcs5 mukodik\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs5 lyukCooldown\n" +
- "frissit\n" +
- "allapot pcs5 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs5 mukodik: true\n" +
- "pcs5 vizmennyiseg: 1\n" +
- "pcs5 lyukCooldown: 0\n" +
- "pcs5 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Nem csuszos cso csuszossa tetele")
- void csuszos() {
- pre.runFromString("csuszik psza1\n" +
- "allapot pcs3 csuszos\n" +
- "allapot pcs3 jatekosok\n" +
- "lep psza1 pp1\n" +
- "lep psze2 pcs3\n" +
- "allapot pp1 jatekosok\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp3 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pcs3 csuszos: 5\n" +
- "pcs3 jatekosok: \n" +
- "psza1\n" +
- "pp1 jatekosok: \n" +
- "psza1\n" +
- "psze2\n" +
- "pcs3 jatekosok: \n" +
- "pp3 jatekosok:", out);
+ void testCsoJavitas() {
+ Cso cso = new Cso();
+ cso.setMukodik(false);
+ assertFalse(cso.getMukodik());
+ cso.Megjavit();
+ assertTrue(cso.getMukodik());
}
+ @DisplayName("Cso csuszossa tetele")
@Test
- @DisplayName("Csuszos cso csuszossa tetele")
- void csuszos2() {
- pre.runFromString("csuszik psza1\n" +
- "csuszik psza1\n" +
- "allapot pcs3 csuszos\n" +
- "allapot pcs3 jatekosok\n" +
- "lep psza1 pp1\n" +
- "lep psze2 pcs3\n" +
- "allapot pp1 jatekosok\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp3 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pcs3 csuszos: 5\n" +
- "pcs3 jatekosok: \n" +
- "psza1\n" +
- "pp1 jatekosok: \n" +
- "psza1\n" +
- "psze2\n" +
- "pcs3 jatekosok: \n" +
- "pp3 jatekosok:", out);
+ void testCsoCsuszossa() {
+ Cso cso = new Cso();
+ cso.Csuszik();
+ assertEquals(5, cso.getCsuszos());
}
- @Test
@DisplayName("Cso ragadossa tetele")
- void ragados() {
- pre.runFromString("ragad psza1\n" +
- "allapot pcs3 ragados\n" +
- "allapot pcs3 ragadossatette\n" +
- "lep psza1 pp1\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp1 jatekosok\n" +
- "allapot pcs3 ragadossatette");
- String out = pre.getAllapotString();
- assertEquals("pcs3 ragados: 5\n" +
- "pcs3 ragadossaTette: psza1\n" +
- "pcs3 jatekosok: \n" +
- "pp1 jatekosok: \n" +
- "psza1", out);
- }
-
- @Test
- @DisplayName("Ragados cso ragadossa tetele")
- void ragados2() {
- pre.runFromString("ragad psza1\n" +
- "ragad psza1\n" +
- "allapot pcs3 ragados\n" +
- "allapot pcs3 ragadossatette\n" +
- "lep psza1 pp1\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp1 jatekosok\n" +
- "allapot pcs3 ragadossatette\n" +
- "lep psze2 pcs3\n" +
- "ragad psza1\n" +
- "allapot pcs3 ragadossatette\n" +
- "lep psze2 pp3\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp3 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pcs3 ragados: 5\n" +
- "pcs3 ragadossaTette: psza1\n" +
- "pcs3 jatekosok: \n" +
- "pp1 jatekosok: \n" +
- "psza1\n" +
- "pcs3 jatekosok: \n" +
- "psze2\n" +
- "pp3 jatekosok:", out);
- }
-
- @Test
- @DisplayName("Ragados csorol lelepes")
- void ragad_lep() {
- pre.runFromString("ragad psza1\n" +
- "allapot pcs3 ragados\n" +
- "allapot pcs3 ragadossatette\n" +
- "lep psza1 pp1\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp1 jatekosok\n" +
- "allapot pcs3 ragadossatette\n" +
- "lep psze2 pcs3\n" +
- "lep psze2 pp3\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp3 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pcs3 ragados: 5\n" +
- "pcs3 ragadossaTette: psza1\n" +
- "pcs3 jatekosok: \n" +
- "pp1 jatekosok: \n" +
- "psza1\n" +
- "pcs3 jatekosok: \n" +
- "psze2\n" +
- "pp3 jatekosok:", out);
- }
-
- @Test
- @DisplayName("Csuszos cso ragadossa tetele")
- void csuszik_ragad() {
- pre.runFromString("csuszik psza1\n" +
- "ragad psza1\n" +
- "lep psza1 pp1\n" +
- "lep psze2 pcs3\n" +
- "lep psze2 pp3\n" +
- "allapot pcs3 ragados\n" +
- "allapot pcs3 csuszos\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp3 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pcs3 ragados: 5\n" +
- "pcs3 csuszos: 5\n" +
- "pcs3 jatekosok: \n" +
- "psze2\n" +
- "pp3 jatekosok:", out);
- }
-
- @Test
- @DisplayName("Pumpa letrehozasa")
- void pletrehoz() {
- pre.runFromString("letrehoz pumpa p \n" +
- "allapot p *");
- String out = pre.getAllapotString();
- assertEquals("p mukodik: true\n" +
- "p szomszedok: \n" +
- "p maxJatekosok: 2147483647\n" +
- "p maxSzomszedok: 5\n" +
- "p jatekosok: \n" +
- "p vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("n db Pumpa felcsatolasa")
- void pfelcsatol() {
- pre.runFromString("letrehoz pumpa p\n" +
- "letrehoz cso cs1\n" +
- "letrehoz cso cs2\n" +
- "letrehoz cso cs3\n" +
- "letrehoz cso cs4\n" +
- "letrehoz cso cs5\n" +
- "letrehoz cso cs6\n" +
- "osszekot p cs1\n" +
- "osszekot p cs2\n" +
- "osszekot p cs3\n" +
- "osszekot p cs4\n" +
- "osszekot p cs5\n" +
- "osszekot p cs6\n" +
- "allapot p maxSzomszedok\n" +
- "allapot p szomszedok");
- String out = pre.getAllapotString();
- assertEquals("p maxSzomszedok: 5\n" +
- "p szomszedok: \n" +
- "cs1\n" +
- "cs2\n" +
- "cs3\n" +
- "cs4\n" +
- "cs5", out);
- }
-
- @Test
- @Disabled
- @DisplayName("Pumpahoz aktiv elem kotese")
- void aktiv() {
- pre.runFromString("letrehoz pumpa p1\n" +
- "letrehoz ciszterna c\n" +
- "letrehoz forras f\n" +
- "letrehoz pumpa p2\n" +
- "osszekot p1 c\n" +
- "osszekot p1 f\n" +
- "osszekot p1 p2\n" +
- "allapot p1 szomszedok");
- String out = pre.getAllapotString();
- assertEquals("szomszedok: ", out);
- }
-
- @Test
- @DisplayName("Pumpara lepes")
- void plepes() {
- pre.runFromString("lep psza1 pp3\n" +
- "allapot pcs3 jatekosok\n" +
- "allapot pp3 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pcs3 jatekosok: \n" +
- "pp3 jatekosok: \n" +
- "psza1\n" +
- "psze2", out);
- }
-
- @Test
- @DisplayName("Pumpa allitasa")
- void allit() {
- pre.runFromString("allit psze2 pcs3 pcs4\n" +
- "allapot pp3 bemenet\n" +
- "allapot pp3 kimenet");
- String out = pre.getAllapotString();
- assertEquals("pp3 bemenet: pcs4\n" +
- "pp3 kimenet: pcs3", out);
- }
-
- @Test
- @DisplayName("ervenytelen pumpa allitasa")
- void allit2() {
- pre.runFromString("allit psze2 pcs3 pcs4\n" +
- "allit psze2 pcs1 pcs2\n" +
- "allapot pp3 bemenet\n" +
- "allapot pp3 kimenet");
- String out = pre.getAllapotString();
- assertEquals("pp3 bemenet: pcs4\n" +
- "pp3 kimenet: pcs3", out);
- }
-
- @Test
- @DisplayName("Pumpalas ures csobe")
- void pumpal() {
- pre.runFromString("allit psze2 pcs3 pcs5\n" +
- "vizmennyiseg pcs3 1\n" +
- "vizmennyiseg pp3 3\n" +
- "frissit\n" +
- "allapot pcs3 vizmennyiseg\n" +
- "allapot pp3 vizmennyiseg\n" +
- "allapot pcs5 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs3 vizmennyiseg: 1\n" +
- "pp3 vizmennyiseg: 3\n" +
- "pcs5 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Pumpalas teli csobe")
- void pumpal2() {
- pre.runFromString("allit psze2 pcs3 pcs4\n" +
- "vizmennyiseg pcs3 1\n" +
- "vizmennyiseg pp3 3\n" +
- "vizmennyiseg pcs4 1\n" +
- "frissit\n" +
- "allapot pcs3 vizmennyiseg\n" +
- "allapot pp3 vizmennyiseg\n" +
- "allapot pcs4 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs3 vizmennyiseg: 1\n" +
- "pp3 vizmennyiseg: 4\n" +
- "pcs4 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Pumpalas teli csobe, teli pumpaval")
- void pumpal3() {
- pre.runFromString("allit psze2 pcs3 pcs4\n" +
- "vizmennyiseg pcs3 1\n" +
- "vizmennyiseg pp3 5\n" +
- "vizmennyiseg pcs4 1\n" +
- "frissit\n" +
- "allapot pcs3 vizmennyiseg\n" +
- "allapot pp3 vizmennyiseg\n" +
- "allapot pcs4 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs3 vizmennyiseg: 1\n" +
- "pp3 vizmennyiseg: 5\n" +
- "pcs4 vizmennyiseg: 1", out);
- }
-
- @Test
- @DisplayName("ures csobol ures tartallyal pumpalas")
- void pumpal4() {
- pre.runFromString("allit psze2 pcs3 pcs4\n" +
- "frissit\n" +
- "allapot pcs3 vizmennyiseg\n" +
- "allapot pp3 vizmennyiseg\n" +
- "allapot pcs4 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs3 vizmennyiseg: 0\n" +
- "pp3 vizmennyiseg: 0\n" +
- "pcs4 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("ures csobol, de nem ures tartallyal pumpalas")
- void pumpal5() {
- pre.runFromString("allit psze2 pcs3 pcs4\n" +
- "vizmennyiseg pp3 3\n" +
- "frissit\n" +
- "allapot pcs3 vizmennyiseg\n" +
- "allapot pp3 vizmennyiseg\n" +
- "allapot pcs4 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs3 vizmennyiseg: 1\n" +
- "pp3 vizmennyiseg: 2\n" +
- "pcs4 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Elromlott pumpaval pumpalas")
- void pumpal6() {
- pre.runFromString("allit psze2 pcs3 pcs4\n" +
- "elront pp3\n" +
- "vizmennyiseg pcs3 1\n" +
- "vizmennyiseg pp3 1\n" +
- "frissit\n" +
- "allapot pcs3 vizmennyiseg\n" +
- "allapot pp3 vizmennyiseg\n" +
- "allapot pcs4 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs3 vizmennyiseg: 1\n" +
- "pp3 vizmennyiseg: 1\n" +
- "pcs4 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Pumpa elrontasa")
- void elrontp() {
- pre.runFromString("allapot pp3 mukodik\n" +
- "elront pp3\n" +
- "allapot pp3 mukodik");
- String out = pre.getAllapotString();
- assertEquals("pp3 mukodik: true\n" +
- "pp3 mukodik: false", out);
- }
-
- @Test
- @DisplayName("Pumpa megjavitasa")
- void pmegjavit() {
- pre.runFromString("allit psze2 pcs3 pcs4\n" +
- "elront pp3\n" +
- "allapot pp3 mukodik\n" +
- "vizmennyiseg pcs3 1\n" +
- "vizmennyiseg pp3 1\n" +
- "szerel psze2\n" +
- "allapot pp3 mukodik\n" +
- "frissit\n" +
- "allapot pcs3 vizmennyiseg\n" +
- "allapot pp3 vizmennyiseg\n" +
- "allapot pcs4 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pp3 mukodik: false\n" +
- "pp3 mukodik: true\n" +
- "pcs3 vizmennyiseg: 1\n" +
- "pp3 vizmennyiseg: 1\n" +
- "pcs4 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Forras letrehozasa")
- void fletrehoz() {
- pre.runFromString("letrehoz forras tesztforras\n" +
- "allapot tesztforras maxSzomszedok");
- String out = pre.getAllapotString();
- assertEquals("tesztforras maxSzomszedok: 5", out);
- }
-
- @Test
- @DisplayName("Forrashoz csatolas tesztelese")
- void forrashoz_csatol() {
- pre.runFromString("letrehoz forras tesztforras \n" +
- "letrehoz cso cso1\n" +
- "letrehoz cso cso2\n" +
- "letrehoz cso cso3\n" +
- "letrehoz cso cso4\n" +
- "letrehoz cso cso5\n" +
- "allapot tesztforras szomszedok\n" +
- "osszekot tesztforras cso1\n" +
- "allapot tesztforras szomszedok\n" +
- "osszekot tesztforras cso2\n" +
- "allapot tesztforras szomszedok\n" +
- "osszekot tesztforras cso3\n" +
- "allapot tesztforras szomszedok\n" +
- "osszekot tesztforras cso4\n" +
- "allapot tesztforras szomszedok\n" +
- "osszekot tesztforras cso5\n"
- );
- String out = pre.getAllapotString();
- assertEquals("tesztforras szomszedok: \n" +
- "tesztforras szomszedok: \n" +
- "cso1\n" +
- "tesztforras szomszedok: \n" +
- "cso1\n" +
- "cso2\n" +
- "tesztforras szomszedok: \n" +
- "cso1\n" +
- "cso2\n" +
- "cso3\n" +
- "tesztforras szomszedok: \n" +
- "cso1\n" +
- "cso2\n" +
- "cso3\n" +
- "cso4", out);
- }
-
- @Test
- @Disabled
- @DisplayName("Forrashoz aktiv elem csatlakoztatasa: ")
- void hozzacsatol() {
- pre.runFromString("letrehoz forras tesztforras \n" +
- "letrehoz pumpa p1 \n" +
- "letrehoz ciszterna c1 \n" +
- "letrehoz forras f1\n" +
- "osszekot tesztforras p1\n" +
- "allapot tesztforras szomszedok\n" +
- "osszekot tesztforras c1\n" +
- "allapot tesztforras szomszedok\n" +
- "osszekot tesztforras f1\n" +
- "allapot tesztforras szomszedok\n"
- );
- String out = pre.getAllapotString();
- assertEquals("tesztforras szomszedok: \n" +
- "tesztforras szomszedok: \n" +
- "tesztforras szomszedok: \n", out);
- }
-
- @Test
- @DisplayName("A forras vizet termel")
- void ftermel() {
- pre.runFromString("frissit \n" +
- "allapot pcs1 vizmennyiseg \n");
- String out = pre.getAllapotString();
- assertEquals("pcs1 vizmennyiseg: 1", out);
- }
-
- @Test
- @DisplayName("Forras vizet termel, cso teli")
- void ftermel2() {
- pre.runFromString("vizmennyiseg pcs1 1 \n" +
- "frissit \n" +
- "allapot pcs1 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs1 vizmennyiseg: 1", out);
- }
-
- @Test
- @DisplayName("Csorol a forrasra leptetek egy jatekost")
- void forrasralep() {
- pre.runFromString("lep psza1 pp1 \n" +
- "lep psza1 pcs1 \n" +
- "lep psza1 pf1 \n" +
- "allapot pf1 jatekosok \n" +
- "allapot pcs1 jatekosok"
-
- );
- String out = pre.getAllapotString();
- assertEquals("pf1 jatekosok: \n" +
- "psza1\n" +
- "pcs1 jatekosok:", out);
- }
-
- @Test
- @DisplayName("Csorol forrasra lep, ahol van ember")
- void ralep2() {
- pre.runFromString(
- "lep psza1 pp1 \n" +
- "lep psza1 pcs1\n" +
- "lep psza1 pf1\n" +
- "lep psze2 pcs3 \n" +
- "lep psze2 pp1 \n" +
- "lep psze2 pcs1 \n" +
- "lep psze2 pf1 \n" +
- "allapot pf1 jatekosok \n" +
- "allapot pcs1 jatekosok"
- );
- String out = pre.getAllapotString();
- assertEquals("pf1 jatekosok: \n" +
- "psza1\n" +
- "psze2\n" +
- "pcs1 jatekosok:"
-, out);
- }
-
- @Test
- @DisplayName("Ciszternat letrehoz")
- void cizsternat_letrehoz() {
- pre.runFromString("letrehoz ciszterna tesztciszterna \n" +
- "allapot tesztciszterna termeltpumpak \n" +
- "allapot tesztciszterna szomszedok");
- String out = pre.getAllapotString();
- assertEquals("tesztciszterna termeltPumpak: \n" +
- "tesztciszterna szomszedok:", out);
-
- }
-
- @Test
- @DisplayName("Ciszternahoz sok csovet csatlakoztatok")
- void ciszterna_kapcsol() {
- pre.runFromString("letrehoz ciszterna tesztciszterna\n" +
- "letrehoz cso cso1\n" +
- "osszekot tesztciszterna cso1\n" +
- "letrehoz cso cso2\n" +
- "osszekot tesztciszterna cso2\n" +
- "letrehoz cso cso3\n" +
- "osszekot tesztciszterna cso3\n" +
- "letrehoz cso cso4\n" +
- "osszekot tesztciszterna cso4\n" +
- "letrehoz cso cso5\n" +
- "osszekot tesztciszterna cso5\n" +
- "letrehoz cso cso6\n" +
- "osszekot tesztciszterna cso6\n" +
- "letrehoz cso cso7\n" +
- "osszekot tesztciszterna cso7\n" +
- "letrehoz cso cso8\n" +
- "osszekot tesztciszterna cso8\n" +
- "letrehoz cso cso9\n" +
- "osszekot tesztciszterna cso9\n" +
- "letrehoz cso cso10\n" +
- "osszekot tesztciszterna cso10\n" +
- "letrehoz cso cso11\n" +
- "osszekot tesztciszterna cso11\n" +
- "letrehoz cso cso12\n" +
- "osszekot tesztciszterna cso12\n" +
- "letrehoz cso cso13\n" +
- "osszekot tesztciszterna cso13\n" +
- "letrehoz cso cso14\n" +
- "osszekot tesztciszterna cso14\n" +
- "letrehoz cso cso15\n" +
- "osszekot tesztciszterna cso15\n" +
- "letrehoz cso cso16\n" +
- "osszekot tesztciszterna cso16\n" +
- "letrehoz cso cso17\n" +
- "osszekot tesztciszterna cso17\n" +
- "letrehoz cso cso18\n" +
- "osszekot tesztciszterna cso18\n" +
- "letrehoz cso cso19\n" +
- "osszekot tesztciszterna cso19\n" +
- "letrehoz cso cso20\n" +
- "osszekot tesztciszterna cso20\n" +
- "letrehoz cso cso21\n" +
- "osszekot tesztciszterna cso21\n" +
- "allapot tesztciszterna szomszedok"
- );
- String out = pre.getAllapotString();
- assertEquals("tesztciszterna szomszedok: \n" +
- "cso1\n" +
- "cso10\n" +
- "cso11\n" +
- "cso12\n" +
- "cso13\n" +
- "cso14\n" +
- "cso15\n" +
- "cso16\n" +
- "cso17\n" +
- "cso18\n" +
- "cso19\n" +
- "cso2\n" +
- "cso20\n" +
- "cso3\n" +
- "cso4\n" +
- "cso5\n" +
- "cso6\n" +
- "cso7\n" +
- "cso8\n" +
- "cso9", out);
- }
-
- @Test
- @Disabled
- @DisplayName("Ciszternahoz aktiv elemet csatlakoztatok: ")
- void aktiv_csati() {
- pre.runFromString("letrehoz ciszterna tesztciszterna\n" +
- "letrehoz pumpa p1\n" +
- "letrehoz ciszterna c1\n" +
- "letrehoz forras f1\n" +
- "allapot tesztciszterna szomszedok\n" +
- "osszekot tesztciszterna p1\n" +
- "allapot tesztciszterna szomszedok\n" +
- "osszekot tesztciszterna c1\n" +
- "allapot tesztciszterna szomszedok\n" +
- "osszekot tesztciszterna f1\n" +
- "allapot tesztciszterna szomszedok\n" +
- "osszekot tesztciszterna p1");
- String out = pre.getAllapotString();
- assertEquals("tesztciszterna szomszedok: \n" +
- "tesztciszterna szomszedok: \n" +
- "tesztciszterna szomszedok: \n" +
- "tesztciszterna szomszedok: \n", out);
- }
-
- @Test
- @DisplayName("Ciszterna vizet sziv")
- void ciszterna_sziv() {
- pre.runFromString("vizmennyiseg pcs6 1\n" +
- "vizmennyiseg pcs5 1\n" +
- "vizmennyiseg pcs7 1\n" +
- "frissit\n" +
- "allapot pcs6 vizmennyiseg\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs7 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs6 vizmennyiseg: 0\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs7 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Ciszterna vizet sziv, de csovekben nincs viz")
- void ciszterna_sziv2() {
- pre.runFromString("vizmennyiseg pcs6 1\n" +
- "vizmennyiseg pcs7 1\n" +
- "frissit\n" +
- "allapot pcs6 vizmennyiseg\n" +
- "allapot pcs5 vizmennyiseg\n" +
- "allapot pcs7 vizmennyiseg"
- );
- String out = pre.getAllapotString();
- assertEquals("pcs6 vizmennyiseg: 0\n" +
- "pcs5 vizmennyiseg: 0\n" +
- "pcs7 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Ciszterna uj pumpat hoz letre")
- void ujpumpa_by_ciszterna() {
- pre.runFromString("termel pc1 pumpa\n" +
- "allapot pc1 termeltpumpak");
- String out = pre.getAllapotString();
- assertEquals("pc1 termeltPumpak: \n" +
- "gen0", out);
- }
-
- @Test
- @DisplayName("Ciszternaba uj csovet hoznek letre, de nincs hely")
- void ciszterna_ujsco() {
- pre.runFromString(
- "letrehoz cso cs1\n" +
- "osszekot cs1 pc1\n" +
- "letrehoz cso cs2\n" +
- "osszekot cs2 pc1\n" +
- "letrehoz cso cs3\n" +
- "osszekot cs3 pc1\n" +
- "allapot pc1 szomszedok"
- );
- String out = pre.getAllapotString();
- assertEquals("pc1 szomszedok: \n" +
- "cs1\n" +
- "cs2\n" +
- "cs3\n" +
- "pcs5\n" +
- "pcs6\n" +
- "pcs7"
- , out);
- }
-
@Test
- @DisplayName("Csorol pumpara lepek, majd vissza")
- void leptest() {
- pre.runFromString("lep psza1 pp1\n" +
- "allapot pp1 jatekosok\n" +
- "lep psza1 pcs3\n" +
- "allapot pcs3 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pp1 jatekosok: \n" +
- "psza1\n" +
- "pcs3 jatekosok: \n" +
- "psza1", out);
+ void testCsoRagadossa() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ szerelo.Lep(cso); // Legalabb egy jatekosnak kell lennie a csovon
+ cso.Ragad();
+ assertEquals(5, cso.getRagados());
}
+ @DisplayName("Ragadossa tette")
@Test
- @DisplayName("Csorol forrasra lepek, majd vissza")
- void lep2() {
- pre.runFromString("lep psza1 pp1\n" +
- "lep psza1 pcs1\n" +
- "lep psza1 pf1\n" +
- "allapot pf1 jatekosok\n" +
- "lep psza1 pcs1 \n" +
- "allapot pcs1 jatekosok"
- );
- String out = pre.getAllapotString();
- assertEquals("pf1 jatekosok: \n" +
- "psza1\n" +
- "pcs1 jatekosok: \npsza1", out);
+ void testRagadossaTette() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ szerelo.Lep(cso); // Legalabb egy jatekosnak kell lennie a csovon
+ cso.Ragad();
+ assertEquals(szerelo, cso.getRagadossaTette());
}
+ @DisplayName("Jatekos elengedese")
+ @Description("Azt nezzuk, hogy helyesen muokdik-e a cso ragadossaga. " +
+ "Az a jatekos, aki ragadossa tette a csovet lelephet rola," +
+ "mig mas jatekosok nem.")
@Test
- @DisplayName("Csorol pumpara lepek, majd vissza")
- void lep3() {
- pre.runFromString("lep psze1 pc1\n" +
- "allapot pc1 jatekosok\n" +
- "lep psze1 pcs5\n" +
- "allapot pcs5 jatekosok");
- String out = pre.getAllapotString();
- assertEquals("pc1 jatekosok: \n" +
- "psze1\n" +
- "pcs5 jatekosok: \n" +
- "psze1", out);
+ void testJatekosElenged() throws Exception {
+ Szerelo szerelo = new Szerelo();
+ Szabotor szabotor = new Szabotor();
+ Cso cso = new Cso();
+ szerelo.Lep(cso); // A szerelo ralep a csore
+ cso.Ragad(); // ...es ragadossa teszi
+ assertTrue(cso.JatekosElenged(szerelo)); // A szerelo tette ragadossa, ezert ot elengedi
+ cso.JatekosEltavolit(szerelo); // Eltavolitjuk a szerelot, hogy a szabotor oda tudjon lepni (mivel csak egy jatekos lehet a csovon)
+ szabotor.Lep(cso); // Ezutan a szabotor lep a csore, neki ra kell ragadnia
+ assertFalse(cso.JatekosElenged(szabotor)); // Tehat mivel nem a szabotor tette ragadossa, ezert nem engedjuk el
+ // megvarjuk amig a ragadossag elmulik, ez 5 kor, majd ujra megprobaljuk
+ for (int i = 0; i < 5; i++) {
+ cso.Frissit();
+ }
+ assertTrue(cso.JatekosElenged(szabotor)); // Most mar elengedheti
}
+ @DisplayName("Jatekos elfogadasa, ures cso")
@Test
- @DisplayName("Kilyukasztok egy csovet")
- void lyuk() {
- pre.runFromString("lyukaszt psza1\n" +
- "allapot pcs3 mukodik\n" +
- "allapot pcs3 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs3 mukodik: false\n" +
- "pcs3 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Ragadossa teszek")
- void ragacs() {
- pre.runFromString("ragad psza1\n" +
- "allapot pcs3 ragados");
- String out = pre.getAllapotString();
- assertEquals("pcs3 ragados: 5", out);
- }
-
- @Test
- @DisplayName("Letrehozok egy szerelot")
- void szerelo_megszuletik() {
- pre.runFromString("letrehoz szerelo sz1\n" +
- "allapot sz1 maxHatizsakKapacitas");
- String out = pre.getAllapotString();
- assertEquals("sz1 maxHatizsakKapacitas: 5", out);
- }
-
- @Test
- @DisplayName("Megfoltozok egy csovet")
- void csofoltozas() {
- pre.runFromString("lyukaszt psza1\n" +
- "lep psza1 pp1\n" +
- "lep psze2 pcs3\n" +
- "szerel psze2\n" +
- "allapot pcs3 mukodik");
- String out = pre.getAllapotString();
- assertEquals("pcs3 mukodik: true", out);
- }
-
- @Test
- @DisplayName("Szerelo felvesz egy pumpat a ciszternatol")
- void pumpatfelvesz() {
- pre.runFromString("lep psze1 pc1 \n" +
- "termel pc1 pumpa\n" +
- "felvesz psze1 pumpa \n" +
- "allapot psze1 pumpaHatizsak \n" +
- "allapot pc1 termeltPumpak"
- );
- String out = pre.getAllapotString();
- assertEquals("psze1 pumpaHatizsak: \n" +
- "gen0\n" +
- "pc1 termeltPumpak:", out);
- }
-
- @Test
- @DisplayName("Szerelo felvesz egy pumpat a hatizsakba, de nincs hely a szerelonel")
- void szerelu_pumpat_felvesz() {
- pre.runFromString("lep psze1 pc1\n" +
- "termel pc1 pumpa\n" +
- "termel pc1 pumpa\n" +
- "termel pc1 pumpa\n" +
- "termel pc1 pumpa\n" +
- "termel pc1 pumpa\n" +
- "termel pc1 pumpa\n" +
- "felvesz psze1 pumpa \n" +
- "felvesz psze1 pumpa \n" +
- "felvesz psze1 pumpa \n" +
- "felvesz psze1 pumpa \n" +
- "felvesz psze1 pumpa \n" +
- "felvesz psze1 pumpa \n" +
- "allapot pc1 termeltpumpak\n" +
- "allapot psze1 pumpaHatizsak"
- );
- String out = pre.getAllapotString();
- assertEquals("pc1 termeltPumpak: \n" +
- "gen0\n" +
- "psze1 pumpaHatizsak: \n" +
- "gen1\n" +
- "gen2\n" +
- "gen3\n" +
- "gen4\n" +
- "gen5"
- , out);
- }
-
- @Test
- @DisplayName("Ciszternahoz kapcsolodo pumpat a hatizsakba teszek")
- void pumpa_hatizsak() {
- pre.runFromString("lep psze1 pc1\n" +
- "termel pc1 pumpa\n" +
- "felvesz psze1 pumpa \n" +
- "allapot psze1 pumpaHatizsak\n" +
- "allapot pc1 szomszedok");
- String out = pre.getAllapotString();
- assertEquals("psze1 pumpaHatizsak: \n" +
- "gen0\n" +
- "pc1 szomszedok: \n" +
- "pcs5\n" +
- "pcs6\n" +
- "pcs7", out);
- }
-
- @Test
- @DisplayName("Egy cso mindket veget felveszem")
- void felveszfel() {
- pre.runFromString("vizmennyiseg pcs7 1\n" +
- "lep psze1 pc1\n" +
- "felvesz psze1 cso pcs7 egesz\n" +
- "allapot pc1 szomszedok\n" +
- "allapot psze1 csoHatizsak\n" +
- "allapot pcs7 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pc1 szomszedok: \n" +
- "pcs5\n" +
- "pcs6\n" +
- "psze1 csoHatizsak: \n" + "pcs7\n" + "pcs7\n" +
- "pcs7 vizmennyiseg: 1", out);
- }
-
- @Test
- @DisplayName("Pumpa kimenetet lecsatlakoztatom")
- void pumpa_lecsatlakoztat() {
- pre.runFromString("vizmennyiseg pcs3 1\n" +
- "allit psze2 pcs3 pcs4\n" +
- "felvesz cso pcs4 fel\n" +
- "frissit\n" +
- "allapot pcs4 vizmennyiseg");
- String out = pre.getAllapotString();
- assertEquals("pcs4 vizmennyiseg: 0", out);
- }
-
- @Test
- @DisplayName("Csovet hatizsakbol felcsatol")
- void csovet_felcsatol() {
- pre.runFromString("vizmennyiseg pcs3 1\n" +
- "allit psze2 pcs3 pcs4\n" +
- "felvesz psze2 cso pcs4 fel\n"
- +
- "allapot pp3 szomszedok\n" +
- "epit psze2 cso\n" +
- "allapot pp3 szomszedok\n" +
- "allapot psze2 csoHatizsak");
- String out = pre.getAllapotString();
- assertEquals("pp3 szomszedok: \n" +
- "pcs3\n" +
- "pcs5\n" +
- "pp3 szomszedok: \n" +
- "pcs3\n" +
- "pcs4\n" +
- "pcs5\n" +
- "psze2 csoHatizsak:", out);
- }
-
- @Test
- @DisplayName("Csovet teli pumpahoz csatol")
- void pumpacsatol() {
- pre.runFromString(
- "letrehoz cso cs0\n" +
- "osszekot pp3 cs0\n" +
- "letrehoz cso cs1\n" +
- "osszekot pp3 cs1\n" +
- "letrehoz cso cs2\n" +
- "osszekot pp3 cs2\n" +
- "letrehoz cso cs3\n" +
- "osszekot pp3 cs3\n" +
- "letrehoz cso cs4\n" +
- "osszekot pp3 cs4\n" +
- "letrehoz cso cs5\n" +
- "osszekot pp3 cs5\n" +
- "letrehoz cso cs6\n" +
- "osszekot pp3 cs6\n" +
- "allapot pp3 szomszedok");
- String out = pre.getAllapotString();
- assertEquals("pp3 szomszedok: \n" +
- "cs0\n" +
- "cs1\n" +
- "pcs3\n" +
- "pcs4\n" +
- "pcs5", out);
- }
-
- @Test
- @DisplayName("Pumpat epitek csovon")
- void pumpa_csovon() {
- pre.runFromString("lep psze1 pc1\n" +
- "termel pc1 pumpa\n" +
- "termel pc1 cso\n" + //TODO: itt hogy van a cső létrehozás?
- "felvesz psze1 pumpa\n" +
- "felvesz psze1 cso gen0\n" +
- "lep psze1 pcs5\n" +
- "epit psze1 pumpa\n" +
- "allapot pcs5 szomszedok\n" +
- "allapot p1 szomszedok\n" +
- "allapot cs1 szomszedok"
- );
- String out = pre.getAllapotString();
- assertEquals("pcs5 szomszedok: \n" +
- "gen0\n" +
- "pc1", out);
- }
-
- @Test
- @DisplayName("Pumpat epitek csovon, aminek 1 vege van")
- void pumpa_epit() {
- pre.runFromString("lep psze1 pc1 \n" +
- "termel pc1 pumpa \n" +
- "termel pc1 cso \n" +
- "felvesz psze1 pumpa \n" +
- "felvesz psze1 cso pcs7 \n" +
- "lep psze1 pcs7\n" +
- "epit psze1 pumpa \n" +
- "allapot pcs7 szomszedok \n" +
- "allapot p1 szomszedok \n" +
- "allapot cs1 szomszedok"
- );
- String out = pre.getAllapotString();
- assertEquals("pcs7 szomszedok:", out);
- }
-
- @Test
- @DisplayName("Szabotor letrehozasa")
- void szabotor_birth() {
- pre.runFromString("letrehoz szabotor sz\n" +
- "allapot sz *");
- String out = pre.getAllapotString();
- assertEquals("sz maxHatizsakKapacitas: 5\n" +
- "sz pumpaHatizsak: \n" +
- "sz csoHatizsak:", out);
- }
-
- @Test
- @DisplayName("Cso csuszossa tetele")
- void csuszoss() {
- pre.runFromString("allapot pcs3 csuszos\n" +
- "csuszik psza1\n" +
- "allapot pcs3 csuszos");
- String out = pre.getAllapotString();
- assertEquals("pcs3 csuszos: 0\n" +
- "pcs3 csuszos: 5", out);
- }
-
-}*/
\ No newline at end of file
+ void testJatekosElfogad() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ assertTrue(cso.JatekosElfogad(szerelo));
+ }
+
+ @DisplayName("Jatekos elfogadasa, tele cso")
+ @Test
+ void testJatekosElfogad2() {
+ Szerelo szerelo = new Szerelo();
+ Szabotor szabotor = new Szabotor();
+ Cso cso = new Cso();
+ szerelo.Lep(cso); //Egy valaki mar all a csovon
+ assertFalse(cso.JatekosElfogad(szabotor)); // Nem tudunk tobb jatekost elfogadni (max 1 jatekos lehet a csovon)
+ }
+
+ @DisplayName("Kilyukasztas")
+ @Test
+ void testKilyukasztas() {
+ Cso cso = new Cso();
+ cso.SetVizmennyiseg(1); // A cso tartalmaz vizet
+ cso.Kilyukaszt(); // Kilyukasztjuk
+ assertFalse(cso.getMukodik()); // A cso nem mukodik mert kilyukasztottuk
+ assertEquals(0, cso.getVizmennyiseg()); // A viz kifolyt a csobol a kilyukasztas miatt
+ }
+
+ @DisplayName("LyukCooldown")
+ @Test
+ void testLyukCooldown() throws Exception {
+ Cso cso = new Cso();
+ cso.SetVizmennyiseg(1); // A cso tartalmaz vizet
+ cso.Kilyukaszt(); // Kilyukasztjuk
+ cso.setMukodik(true); // A csovet rogton ujra megjavitjuk
+ assertEquals(5, cso.getLyukCooldown()); // A lyukasztas utan 5 korig nem lehet ujra kilyukasztani
+ cso.Kilyukaszt(); // Megprobaljuk ujra kilyukasztani, de nem sikerul
+ assertTrue(cso.getMukodik()); // A cso mukodik
+ for (int i = 0; i < 5; i++) {
+ cso.Frissit(); // 5 kor telik el
+ }
+ assertEquals(0, cso.getLyukCooldown()); // Most mar ujra kilyukaszthatjuk
+ cso.Kilyukaszt(); // Kilyukasztjuk
+ assertFalse(cso.getMukodik()); // A cso nem mukodik mert kilyukasztottuk
+ }
+
+ @DisplayName("VizetNovel")
+ @Test
+ void testVizetNovel() throws Exception {
+ Cso cso = new Cso();
+ cso.VizetNovel(1); // 1 egység vizet pumpalunk a csobe
+ assertEquals(1, cso.getVizmennyiseg()); // A cso tartalmaz 1 egység vizet
+ cso.VizetNovel(1); // még 1 egység vizet pumpalunk a csobe
+ assertEquals(1, cso.getVizmennyiseg()); // A csoben maximum 1 egység viz lehet, tehát továbbra is 1 egység van benne
+ }
+
+ @DisplayName("VizetNovel nem mukodo cso")
+ @Test
+ void testVizetNovel2() throws Exception {
+ Cso cso = new Cso();
+ cso.Kilyukaszt(); // Kilyukasztjuk a csot
+ cso.VizetNovel(1); // 1 egység vizet pumpalunk a csobe
+ assertEquals(0, cso.getVizmennyiseg()); // A cso nem mukodik, ezert nem lehet vizet pumpalni bele
+ }
+
+ @DisplayName("VizetCsokkent")
+ @Test
+ void testVizetCsokkent() throws Exception {
+ Cso cso = new Cso();
+ cso.SetVizmennyiseg(1); // A cso tartalmaz 1 egység vizet
+ cso.VizetCsokkent(1); // 1 egység vizet kiveszunk a csobol
+ assertEquals(0, cso.getVizmennyiseg()); // A cso tartalma 0
+ cso.VizetCsokkent(1); // még 1 egység vizet megprobálunk kivenni a csobol
+ assertEquals(0, cso.getVizmennyiseg()); // A cso tartalma tovabbra is 0, mert nem lehet negativ vizmennyiseg
+ }
+
+ @DisplayName("Szomszed hozzaadas")
+ @Test
+ void testSzomszedHozzaad() {
+ Cso cso = new Cso();
+ Pumpa pumpa = new Pumpa();
+ cso.SzomszedHozzaad(pumpa); // Hozzaadjuk a pumpa-t a cso szomszedaihoz
+ assertEquals(1, cso.GetSzomszedok().size()); // A cso egy szomszeddal rendelkezik
+ assertEquals(pumpa, cso.GetSzomszedok().get(0)); // A szomszed a cso2
+ //Második pumpa szomszéd hozzáadása
+ Pumpa pumpa2 = new Pumpa();
+ cso.SzomszedHozzaad(pumpa2); // Hozzaadjuk a pumpa2-t a cso szomszedaihoz
+ assertEquals(2, cso.GetSzomszedok().size()); // A cso ket szomszeddal rendelkezik
+ assertEquals(pumpa2, cso.GetSzomszedok().get(1)); // A masodik szomszed a pumpa2
+ //Ha a cso mar ket szomszeddal rendelkezik, akkor nem tudunk tobbet hozzaadni
+ Ciszterna c = new Ciszterna();
+ cso.SzomszedHozzaad(c); // Hozzaadjuk a ciszternat a cso szomszedaihoz
+ assertEquals(2, cso.GetSzomszedok().size()); // A cso tovabbra is ket szomszeddal rendelkezik
+ assertFalse(cso.GetSzomszedok().contains(c)); // A cso szomszedai kozott nincs a ciszterna
+
+ }
+
+ @DisplayName("PumpaEpit")
+ @Test
+ void testPumpaEpit() {
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ cso.SzomszedHozzaad(c); //Ez a ciszterna azért kell mert a pumpaepit függvényben a cso szomszédait vizsgáljuk (Kell hogy legyen legalább egy szomszéd)
+ Szerelo szerelo = new Szerelo();
+ szerelo.getPumpaHatizsak().add(new Pumpa()); // A szerelo hátizsákjában van egy pumpa
+ szerelo.Lep(cso); // A szerelo ralep a csore
+ cso.PumpaEpit(); // A csohoz hozzaepitjuk a pumpat
+ assertEquals(1, cso.GetSzomszedok().size()); // A cso egy szomszeddal rendelkezik
+ assertInstanceOf(Pumpa.class, cso.GetSzomszedok().get(0)); // A szomszed egy pumpa
+ assertEquals(0, szerelo.getPumpaHatizsak().size()); // A szerelo hátizsákjában nincs tobb pumpa
+ assertEquals(2, cso.GetSzomszedok().get(0).GetSzomszedok().size()); // A pumpa ket szomszeddal rendelkezik
+ }
+
+ @DisplayName("Csuszos csorol tovabb csuszik a jatekos")
+ @Test
+ void testCsuszosCsorolCsuszik() {
+ // A veletlen esemenyeket kikapcsoljuk ehhez a teszthez, mert a csuszas veletlenszeru szomszedra csusztatja a jatekost
+ Mezo.doRandomThings = false; //Ha ezt kikapcsoltuk akkor a jatekos mindig az elso szomszedra csuszik (egyebkent veletlenszeruen a két szomszéd közül)
+ Cso cso = new Cso();
+ Pumpa pumpa = new Pumpa();
+ Pumpa pumpa2 = new Pumpa();
+ cso.Csuszik(); // A csot csuszossa tesszuk, ez azt jelenti hogy ha rálép valaki akokr tovább fog csúszni az első szomszédra
+ cso.SzomszedHozzaad(pumpa); // Ez az elso szomszed, erre fog csuszni a jatekos
+ cso.SzomszedHozzaad(pumpa2);
+ Szerelo szerelo = new Szerelo();
+ szerelo.Lep(cso); // A szerelo ralep a csore, de mivel csuszossa tettuk a csot, ezert tovabb fog csuszni
+ assertEquals(pumpa, szerelo.getHelyzet()); // A szerelo a pumpa-ra csuszott
+ }
+
+ @DisplayName("Csuszossag elmúltával a jatekos nem csuszik tovább")
+ @Test
+ void testCsuszosCsorolCsuszik2() throws Exception {
+ // A veletlen esemenyeket kikapcsoljuk ehhez a teszthez, mert a csuszas veletlenszeru szomszedra csusztatja a jatekost
+ Mezo.doRandomThings = false; //Ha ezt kikapcsoltuk akkor a jatekos mindig az elso szomszedra csuszik (egyebkent veletlenszeruen a két szomszéd közül)
+ Cso cso = new Cso();
+ Pumpa pumpa = new Pumpa();
+ Pumpa pumpa2 = new Pumpa();
+ cso.Csuszik(); // A csot csuszossa tesszuk, ez azt jelenti hogy ha rálép valaki akokr tovább fog csúszni az első szomszédra
+ cso.SzomszedHozzaad(pumpa); // Ez az elso szomszed, erre fog csuszni a jatekos
+ cso.SzomszedHozzaad(pumpa2);
+ pumpa.SzomszedHozzaad(cso);
+ pumpa2.SzomszedHozzaad(cso);
+ Szerelo szerelo = new Szerelo();
+ szerelo.Lep(cso); // A szerelo ralep a csore, de mivel csuszossa tettuk a csot, ezert tovabb fog csuszni
+ assertEquals(pumpa, szerelo.getHelyzet()); // A szerelo a pumpa-ra csuszott
+ // 5 frissítés után a csuszosság el fog múlni
+ for (int i = 0; i < 5; i++) {
+ cso.Frissit();
+ }
+ assertEquals(0, cso.getCsuszos()); // A csuszossag elmult
+ szerelo.Lep(cso); // A szerelo ralep a csore, de mar nem fog tovabb csuszni
+ assertEquals(cso, szerelo.getHelyzet()); // A szerelo a cso-ra lepett
+ }
+
+ @DisplayName("Ragados nem teheto ragadossa ujra")
+ @Test
+ void testRagadosNemRagadhatUjra() throws Exception {
+ Cso cso = new Cso();
+ Szerelo szerelo = new Szerelo();
+ szerelo.Lep(cso); // Legalabb egy jatekosnak kell lennie a csovon
+ Szerelo masikSzerelo = new Szerelo();
+ szerelo.RagadossaTesz(); // A szerelo ragadossa tette a csot
+ cso.getJatekosok().remove(szerelo); // Eltavolitjuk a szerelot a csorol
+ masikSzerelo.Lep(cso); // A masik szerelo ralep a csore
+ cso.Frissit(); // 1 kor telik el
+ masikSzerelo.RagadossaTesz(); // A masik szerelo is ragadossa probalja tenni a csovet, de ő nem tudja mert a csot mar ragadossa tette az előző szerelo
+ assertEquals(szerelo, cso.getRagadossaTette()); // A szerelo ragadossa tette a csot
+ assertEquals(4, cso.getRagados()); // A ragadossag 4 korig tart még (tehát a masik szerelo nem tudta ragadossa tenni)
+
+ }
+
+
+}
+
+class SzereloTests {
+ @DisplayName("Szerelo pumpat javit")
+ @Test
+ void testSzereloPumpaJavitas() {
+ Szerelo szerelo = new Szerelo();
+ Pumpa pumpa = new Pumpa();
+ pumpa.setMukodik(false); // A pumpa nem mukodik
+ szerelo.Lep(pumpa); // A szerelo ralep a pumpara (csak igy tudja megjavítani)
+ szerelo.Javit(); // A szerelo megjavítja a pumpat
+ assertTrue(pumpa.getMukodik()); // A pumpa mukodik
+ }
+
+ @DisplayName("Cso lecsatolasa sikeres")
+ @Test
+ void testCsoLecsatolas() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ cso.SzomszedHozzaad(c); // A cso szomszedaihoz hozzaadjuk a ciszternat
+ c.SzomszedHozzaad(cso); // A ciszterna szomszedaihoz hozzaadjuk a csot (kölcsönösen kell hozzaadni)
+ szerelo.CsovetLecsatol(cso); // A szerelo lecsatolja a csot a ciszternarol
+ assertEquals(0, cso.GetSzomszedok().size()); // A cso nem rendelkezik szomszedokkal, mert le lett csatolva
+ assertEquals(0, c.GetSzomszedok().size()); // A ciszterna sem rendelkezik szomszedokkal, mert le lett csatolva
+ assertEquals(1, szerelo.getCsoHatizsak().size()); // A szerelo hátizsákjában van a cső
+ assertEquals(cso, szerelo.getCsoHatizsak().get(0)); // A hátizsákban a cső van
+ }
+
+ @DisplayName("Cso lecsatolasa sikertelen")
+ @Test
+ void testCsoLecsatolas2() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ cso.SzomszedHozzaad(c); // A cso szomszedaihoz hozzaadjuk a ciszternat
+ c.SzomszedHozzaad(cso); // A ciszterna szomszedaihoz hozzaadjuk a csot (kölcsönösen kell hozzaadni)
+ //A szerelőnek mondjuk tele van a hátizsákja és ezért nem fogja tudni lecsatolni a csövet
+ //Hat csövet adunk hozzá a hátizsákhoz (a hátizsák mérete 6)
+ for (int i = 0; i < 6; i++) {
+ szerelo.getCsoHatizsak().add(new Cso());
+ }
+ szerelo.CsovetLecsatol(cso); // A szerelo lecsatolja a csot a ciszternarol, de nem sikerul
+ assertEquals(1, cso.GetSzomszedok().size()); // A cso tovabbra is rendelkezik szomszedokkal, mert nem lett lecsatolva
+ assertEquals(1, c.GetSzomszedok().size()); // A ciszterna tovabbra is rendelkezik szomszedokkal, mert nem lett lecsatolva
+ assertEquals(6, szerelo.getCsoHatizsak().size()); // A szerelo hátizsákjában 6 cső van, azok amiket korábban is tartalmazott
+ assertFalse(szerelo.getCsoHatizsak().contains(cso)); // A hátizsákban nincs a cső amit most akartunk lecsatolni
+ }
+
+ @DisplayName("Egesz cso lecsatolasa sikeres")
+ @Test
+ void testEgeszCsoLecsatolas() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ Ciszterna c2 = new Ciszterna();
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ cso.SzomszedHozzaad(c); // A cso szomszedaihoz hozzaadjuk a ciszternat
+ c.SzomszedHozzaad(cso); // A ciszterna szomszedaihoz hozzaadjuk a csot (kölcsönösen kell hozzaadni)
+ c2.SzomszedHozzaad(cso); // A masik ciszterna szomszedaihoz is hozzaadjuk a csot
+ cso.SzomszedHozzaad(c2); // A csot a masik ciszterna szomszedaihoz is hozzaadjuk
+ szerelo.EgeszCsovetLecsatol(cso); // A szerelo lecsatolja az egesz csot a ciszternarol
+ assertEquals(0, cso.GetSzomszedok().size()); // A cso nem rendelkezik szomszedokkal, mert le lett csatolva
+ assertEquals(0, c.GetSzomszedok().size()); // A ciszterna sem rendelkezik szomszedokkal, mert le lett csatolva
+ assertEquals(0, c2.GetSzomszedok().size()); // A masik ciszterna sem rendelkezik szomszedokkal, mert le lett csatolva
+ assertEquals(2, szerelo.getCsoHatizsak().size()); // A szerelo hátizsákjában kétszer van a cső, mert az egesz csot lecsatolta, és ilyenkor mindkét végét a hátizsákba teszi
+ assertEquals(cso, szerelo.getCsoHatizsak().get(0)); // A hátizsákban a cső van
+ }
+
+ @DisplayName("Egesz cso lecsatolasa sikertelen")
+ @Test
+ void testEgeszCsoLecsatolas2() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ Ciszterna c2 = new Ciszterna();
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ cso.SzomszedHozzaad(c); // A cso szomszedaihoz hozzaadjuk a ciszternat
+ c.SzomszedHozzaad(cso); // A ciszterna szomszedaihoz hozzaadjuk a csot (kölcsönösen kell hozzaadni)
+ c2.SzomszedHozzaad(cso); // A masik ciszterna szomszedaihoz is hozzaadjuk a csot
+ cso.SzomszedHozzaad(c2); // A csot a masik ciszterna szomszedaihoz is hozzaadjuk
+ //A szerelőnek mondjuk tele van a hátizsákja és ezért nem fogja tudni lecsatolni a csövet
+ //Hat csövet adunk hozzá a hátizsákhoz (a hátizsák mérete 6)
+ for (int i = 0; i < 6; i++) {
+ szerelo.getCsoHatizsak().add(new Cso());
+ }
+ szerelo.EgeszCsovetLecsatol(cso); // A szerelo lecsatolja az egesz csot a ciszternarol, de nem sikerul
+ assertEquals(2, cso.GetSzomszedok().size()); // A cso tovabbra is rendelkezik szomszedokkal, mert nem lett lecsatolva
+ assertEquals(1, c.GetSzomszedok().size()); // A ciszterna tovabbra is rendelkezik szomszedokkal, mert nem lett lecsatolva
+ assertEquals(1, c2.GetSzomszedok().size()); // A masik ciszterna
+ assertEquals(6, szerelo.getCsoHatizsak().size()); // A szerelo hátizsákjában 6 cső van, azok amiket korábban is tartalmazott
+ }
+
+ @DisplayName("Egesz cso lecsatolasa sikertelen mert nincs cso hozzácsatolva a ciszternához")
+ @Test
+ void testEgeszCsoLecsatolas3() {
+ Szerelo szerelo = new Szerelo();
+ Ciszterna c = new Ciszterna();
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ szerelo.EgeszCsovetLecsatol(c); // A szerelo lecsatolná az egesz csot a ciszternarol, de nem sikerul, mert nincs cső a ciszternához csatolva
+ assertEquals(0, c.GetSzomszedok().size()); // A ciszternának nincs szomszédja, nem is volt
+ assertEquals(0, szerelo.getCsoHatizsak().size()); // A szerelo hátizsákjában nincs cső
+ }
+
+ @DisplayName("Cso felcsatolasa sikeres")
+ @Test
+ void testCsoFelcsatolas() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ //Szerelo hátizsákjában van a cső
+ szerelo.getCsoHatizsak().add(cso);
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ szerelo.CsovetFelcsatol(); // A szerelo felcsatolja a csot a ciszternara (a hátizsákból veszi ki a csovet, a legelsőt amit talál, de most csak egy van benne)
+ assertEquals(1, cso.GetSzomszedok().size()); // A cso rendelkezik szomszedokkal, mert fel lett csatolva
+ assertEquals(1, c.GetSzomszedok().size()); // A ciszterna rendelkezik szomszedokkal, mert fel lett csatolva
+ assertEquals(0, szerelo.getCsoHatizsak().size()); // A szerelo hátizsákjában nincs a cső
+ }
+
+ @DisplayName("Cso felcsatolasa sikertelen mert nincs a hátizsákban cső")
+ @Test
+ void testCsoFelcsatolas2() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ //Szerelo hátizsákjában nincs a cső
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ szerelo.CsovetFelcsatol(); // A szerelo felcsatolja a csot a ciszternara, de nem sikerul
+ assertEquals(0, cso.GetSzomszedok().size()); // A cso nem rendelkezik szomszedokkal, mert nem lett felcsatolva
+ assertEquals(0, c.GetSzomszedok().size()); // A ciszterna sem rendelkezik szomszedokkal, mert nem lett felcsatolva
+ assertEquals(0, szerelo.getCsoHatizsak().size()); // A szerelo hátizsákjában nincs cső, nem is volt
+ }
+
+ @DisplayName("Cso felcsatolasa sikertelen mert nem olyan mezon all a szerelo amihez csovet lehet csatolni")
+ @Test
+ void testCsoFelcsatolas3() {
+ Szerelo szerelo = new Szerelo();
+ Cso hatizsakCso = new Cso();
+ Cso raleposCso = new Cso();
+ //Szerelo hátizsákjában van a cső
+ szerelo.getCsoHatizsak().add(hatizsakCso);
+ //A szerelo ralep egy cso-re
+ szerelo.Lep(raleposCso);
+ szerelo.CsovetFelcsatol(); // A szerelo felcsatolja a csot a ciszternara, de nem sikerul, mert csőre nem lehet csövet csatolni
+ assertEquals(0, hatizsakCso.GetSzomszedok().size()); // A hatizsakCso nem rendelkezik szomszedokkal, mert nem lett felcsatolva
+ assertEquals(0, raleposCso.GetSzomszedok().size()); // A raleposCso sem rendelkezik szomszedokkal, mert nem lett felcsatolva
+ assertEquals(1, szerelo.getCsoHatizsak().size()); // A szerelo hátizsákjában van a cső
+ assertTrue(szerelo.getCsoHatizsak().contains(hatizsakCso)); // A hátizsákban még mindig a cső van
+ }
+
+ @DisplayName("Pumpa felvetele ciszternanal")
+ @Test
+ void testPumpaFelveteleCiszternanal() {
+ Szerelo szerelo = new Szerelo();
+ Ciszterna c = new Ciszterna();
+ c.PumpaKeszit(); // A ciszternanal pumpat keszitunk
+ //Szerelo hátizsákjában van a pumpa
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ szerelo.PumpatFelvesz(); // A szerelo felveszi a pumpat a ciszternarol (arról a mezőről veszi fel, amin áll, nem kell paraméter)
+ assertEquals(0, c.getTermeltPumpak().size()); // A ciszterna nem rendelkezik pumpakkal, mert fel lett véve
+ assertEquals(1, szerelo.getPumpaHatizsak().size()); // A szerelo hátizsákjában van a pumpa
+ }
+
+ @DisplayName("Pumpa felvetele ciszternanal sikertelen")
+ @Test
+ void testPumpaFelveteleCiszternanal2() {
+ Szerelo szerelo = new Szerelo();
+ Ciszterna c = new Ciszterna();
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ szerelo.PumpatFelvesz(); // A szerelo felvnné a pumpat a ciszternarol, de nem sikerul, mert nincs a ciszternan pumpa
+ assertEquals(0, c.getTermeltPumpak().size()); // A ciszterna rendelkezik pumpakkal, mert nem lett felvéve
+ assertEquals(0, szerelo.getPumpaHatizsak().size()); // A szerelo hátizsákjában nincs pumpa
+ }
+
+ @DisplayName("Pumpa felvetele ciszternanal sikertelen mert nincs a hátizsákban hely")
+ @Test
+ void testPumpaFelveteleCiszternanal3() {
+ Szerelo szerelo = new Szerelo();
+ Ciszterna c = new Ciszterna();
+ c.PumpaKeszit(); // A ciszternanal pumpat keszitunk
+ //Szerelo hátizsákjában nincs hely
+ for (int i = 0; i < 6; i++) {
+ szerelo.getPumpaHatizsak().add(new Pumpa());
+ }
+ szerelo.Lep(c); // A szerelo ralep a ciszternara
+ szerelo.PumpatFelvesz(); // A szerelo felvnné a pumpat a ciszternarol, de nem sikerul, mert nincs hely a hátizsákban
+ assertEquals(1, c.getTermeltPumpak().size()); // A ciszterna rendelkezik pumpakkal, mert nem lett felvéve
+ assertEquals(6, szerelo.getPumpaHatizsak().size()); // A szerelo hátizsákjában 6 pumpa van
+ }
+
+ @DisplayName("Pumpa epites")
+ @Test
+ void testPumpaEpites() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ c.SzomszedHozzaad(cso); // A ciszternanak van egy szomszedja, a cso (ez csak technikai okokbol kell)
+ cso.SzomszedHozzaad(c); // A cso szomszedaihoz hozzaadjuk a ciszternat
+ szerelo.getPumpaHatizsak().add(new Pumpa()); // A szerelo hátizsákjában van egy pumpa
+ szerelo.Lep(cso); // A szerelo ralep a ciszternara
+ szerelo.PumpatEpit(); // A szerelo epít egy pumpat a csohoz
+ assertEquals(1, cso.GetSzomszedok().size()); // A csonek csak egy szomszedja lesz, a pumpa
+ assertInstanceOf(Pumpa.class, cso.GetSzomszedok().get(0)); // A szomszed egy pumpa
+ assertEquals(0, szerelo.getPumpaHatizsak().size()); // A szerelo hátizsákjában nincs pumpa
+ }
+
+ @DisplayName("Pumpa epites sikertelen mert nincs a hátizsákban pumpa")
+ @Test
+ void testPumpaEpites2() {
+ Szerelo szerelo = new Szerelo();
+ Cso cso = new Cso();
+ Ciszterna c = new Ciszterna();
+ c.SzomszedHozzaad(cso); // A ciszternanak van egy szomszedja, a cso (ez csak technikai okokbol kell)
+ cso.SzomszedHozzaad(c); // A cso szomszedaihoz hozzaadjuk a ciszternat
+ //Szerelo hátizsákjában nincs pumpa
+ szerelo.Lep(cso); // A szerelo ralep a ciszternara
+ szerelo.PumpatEpit(); // A szerelo epít egy pumpat a csohoz, de nem sikerul, mert nincs a hátizsákban pumpa
+ assertEquals(1, cso.GetSzomszedok().size()); // A ciszterna nem rendelkezik szomszedokkal, mert nem lett felépítve mellé egy pumpa, csak a cso ami eddig is ott volt
+ assertEquals(0, szerelo.getPumpaHatizsak().size()); // A szerelo hátizsákjában nincs pumpa
+ }
+}