diff --git a/src/test/java/hellocucumber/StepDefinitions.java b/src/test/java/hellocucumber/StepDefinitions.java index 3cb5030..215f9ba 100644 --- a/src/test/java/hellocucumber/StepDefinitions.java +++ b/src/test/java/hellocucumber/StepDefinitions.java @@ -28,8 +28,9 @@ private Mezo getMezo(String mezoNev) { } else return ciszternak.getOrDefault(mezoNev, null); } - @Given("Egy tábla egy pumpaval \\({string}) egy forassal \\({string}), koztuk egy csovel \\({string}).") - public void egyTáblaEgyPumpavalEgyForassalKoztukEgyCsovel(String pumpaNev, String forrasNev, String csoNev) { + + @Given("Egy tábla egy pumpaval \\({string}) egy forrassal \\({string}), koztuk egy csovel \\({string}).") + public void egyTáblaEgyPumpavalEgyForrassalKoztukEgyCsovel(String pumpaNev, String forrasNev, String csoNev) { List csucsok = Kontroller.getInstance().getCsucsok(); List kontrollerCsovek = Kontroller.getInstance().getCsovek(); @@ -51,6 +52,46 @@ private Mezo getMezo(String mezoNev) { f1.addCso(cs1); } + @Given("Egy tábla egy pumpaval \\({string}) egy forrassal \\({string}), koztuk harom csovel \\({string}), \\({string}), \\({string}).") + public void egyTáblaEgyPumpavalEgyForrassalKoztukHaromCsovel(String pumpaNev, String forrasNev, String csoNev1, String csoNev2, String csoNev3) { + List csucsok = Kontroller.getInstance().getCsucsok(); + List kontrollerCsovek = Kontroller.getInstance().getCsovek(); + + Pumpa p1 = new Pumpa(); + pumpak.put(pumpaNev, p1); + csucsok.add(p1); + + Forras f1 = new Forras(); + forrasok.put(forrasNev, f1); + csucsok.add(f1); + + Cso cs1 = new Cso(); + csovek.put(csoNev1, cs1); + kontrollerCsovek.add(cs1); + + Cso cs2 = new Cso(); + csovek.put(csoNev2, cs2); + kontrollerCsovek.add(cs2); + + Cso cs3 = new Cso(); + csovek.put(csoNev3, cs3); + kontrollerCsovek.add(cs3); + + + cs1.addCsucs(p1); + cs1.addCsucs(f1); + cs2.addCsucs(p1); + cs2.addCsucs(f1); + cs3.addCsucs(p1); + cs3.addCsucs(f1); + p1.addCso(cs1); + f1.addCso(cs1); + p1.addCso(cs2); + f1.addCso(cs2); + p1.addCso(cs3); + f1.addCso(cs3); + } + @And("Egy szerelo \\({string}), ami {string}-n all.") public void egySzereloAmiNAll(String szereloNev, String mezoNev) { Szerelo sz1 = new Szerelo(); @@ -66,12 +107,115 @@ public void egySzereloAmiNAll(String szereloNev, String mezoNev) { } } + @And("Egy szabotor \\({string}), ami {string}-n all.") + public void egySzabotorAmiNAll(String szabotorNev, String mezoNev) { + Szabotor sz1 = new Szabotor(); + szabotorok.put(szabotorNev, sz1); + Kontroller.getInstance().addJatekos(sz1); + + Mezo mezo = getMezo(mezoNev); + if (mezo != null) { + sz1.setAktMezo(mezo); + mezo.setJatekosRajta(sz1); + } else { + fail(szabotorNev + " nem tartozkodhat olyan mezon, ami nem letezik!"); + } + } + + @And("A {string} cso torott.") + public void aCsoTorott(String csoNev){ + Cso cso = csovek.get(csoNev); + if(cso == null){ + fail(csoNev +" nem lehet torott, ha nem letezik!"); + } + else{ + cso.setRossz(true); + } + } + + @And("Eltelik egy kor.") + public void eltelikEgyKor(){ + Kontroller.getInstance().stepKor(); + } + + @And("{string} szerelo megjavitja a mezot amin all") + public void szereloMegjavitjaAMezotAminAll(String szereloNev){ + Szerelo sz1 = szerelok.get(szereloNev); + if(sz1 == null) + fail(sz1 +" nem javithat, ha nem letezik!"); + sz1.mezotJavit(); + } + + @When("{string} szerelo megprobalja megjavitani a mezot amin all") + public void szereloMegprobaljaMegjavitaniAMezotAminAll(String szereloNev){ + Szerelo sz1 = szerelok.get(szereloNev); + if(sz1 == null) + fail(sz1 +" nem javithat, ha nem letezik!"); + sz1.mezotJavit(); + } + + + + @And("{string} szerelo ellep az {int} mezore") + public void szereloEllepAzMezore(String szereloNev, int mezoSorszam) { + Szerelo sz1 = szerelok.get(szereloNev); + if(sz1 == null) + fail(sz1 +" nem mozoghat, ha nem letezik!"); + sz1.mozgas(mezoSorszam); + } + + @When("{string} szerelo megprobal ellepni az {int} mezore") public void szereloMegprobalEllepniAzMezore(String szereloNev, int mezoSorszam) { Szerelo sz1 = szerelok.get(szereloNev); + if(sz1 == null) + fail(sz1 +" nem mozoghat, ha nem letezik!"); + sz1.mozgas(mezoSorszam); + } + + @And("{string} szabotor ellep az {int} mezore") + public void szabotorEllepAzMezore(String szabotorNev, int mezoSorszam) { + Szabotor sz1 = szabotorok.get(szabotorNev); + if(sz1 == null) + fail(sz1 +" nem mozoghat, ha nem letezik!"); sz1.mozgas(mezoSorszam); } + @When("{string} szabotor megprobal ellepni az {int} mezore") + public void szabotor_megprobal_ellepni_az_mezore(String szereloNev, Integer int1) { + // Write code here that turns the phrase above into concrete actions + Szerelo sz1 = szerelok.get(szereloNev); + sz1.mozgas(int1); + } + + + + + @When("{string} szerelo megprobalja felvenni a szomszedos csovet") + public void szereloMegprobaljaFelvenniASzomszedosCsovet(String szereloNev){ + Szerelo sz1 = szerelok.get(szereloNev); + if(sz1 == null) + fail(sz1 +" nem vehet fel csoveget, ha nem letezik!"); + sz1.csovegFelvetele(2); + } + + @When("{string} szerelo megprobal felvenni egy pumpat") + public void szereloMegprobalFelvenniEgyPumpat(String szereloNev){ + Szerelo sz1 = szerelok.get(szereloNev); + if(sz1 == null) + fail(sz1 +" nem vehet fel pumpat, ha nem letezik!"); + sz1.pumpaFelvetele(); + } + + @When("{string} szabotor megprobalja elrontani a csovet amin all") + public void szabotorMegprobaljaElrontaniACsovetAminAll(String szabotorNev){ + Szabotor sz1 = szabotorok.get(szabotorNev); + if(sz1 == null) + fail(sz1 +" nem lyukaszthat, ha nem letezik!"); + sz1.csoKilyukasztasa(); + } + + @Then("{string} mar {string}-en tartozkodik") public void marEnTartozkodik(String szereloNev, String mezoNev) { Szerelo sz1 = szerelok.get(szereloNev); @@ -82,6 +226,30 @@ public void marEnTartozkodik(String szereloNev, String mezoNev) { assertEquals(szereloMezo, mezo, szereloNev + " nem " + mezoNev + "-en van"); assertTrue(mezoJatekos.contains(sz1), mezoNev + "-en nincs " + szereloNev); } + + + @Then("{string} cso nem torott") + public void csoNemTorott(String csoNev){ + Cso cso = csovek.get(csoNev); + assertFalse(cso.getRossz(), csoNev + " torott"); + } + + + @Then("{string} szerelonel van a {string} cso vege") + public void szerelonelVanACsoVege(String szereloNev, String csoNev){ + Szerelo sz1 = szerelok.get(szereloNev); + Cso cso = csovek.get(csoNev); + + assertEquals(sz1.getCsoveg(), cso, szereloNev + " nem " + csoNev + "-et tartja"); + assertNotNull(sz1.getCsoveg(), szereloNev + " nem tart csovet"); + } + + @Then("{string} szerelonel nincsen pumpa") + public void szerelonelNincsenPumpa(String szereloNev){ + Szerelo sz1 = szerelok.get(szereloNev); + assertNull(sz1.getPumpa(), szereloNev + "-nel van pumpa"); + } + @Given("Egy tábla egy forassal \\({string}), hozza csatolva egy csovel \\({string}).") public void egy_tábla_egy_forassal_hozza_csatolva_egy_csovel(String forrasNev, String csoNev) { // Write code here that turns the phrase above into concrete actions @@ -120,12 +288,7 @@ public void egy_szabotor_ami_n_all(String szabotorNev, String forrasNev) { } } - @When("{string} szabotor megprobal ellepni az {int} mezore") - public void szabotor_megprobal_ellepni_az_mezore(String szereloNev, Integer int1) { - // Write code here that turns the phrase above into concrete actions - Szerelo sz1 = szerelok.get(szereloNev); - sz1.mozgas(int1); - } + @@ -210,5 +373,6 @@ public void a_cso_lukas_lesz(String csoNev) { Cso cs1 = csovek.get(csoNev); boolean roosz = cs1.getRossz(); assertTrue(roosz, "A " + csoNev + "lyukas lett"); + } } diff --git a/src/test/resources/hellocucumber/foglalt_forrasra_mozgas.feature b/src/test/resources/hellocucumber/foglalt_forrasra_mozgas.feature index ec96bce..a81a3f3 100644 --- a/src/test/resources/hellocucumber/foglalt_forrasra_mozgas.feature +++ b/src/test/resources/hellocucumber/foglalt_forrasra_mozgas.feature @@ -4,7 +4,7 @@ Feature: A szerelo akkor is forrasra tud mozogni, ha azon tartozkodnak Scenario: A szerelo megprobal ralepni a forrasra, amin tartozkodik egy masik szerelo, sikerrel jar. - Given Egy tábla egy pumpaval ("p1") egy forassal ("f1"), koztuk egy csovel ("cs1"). + Given Egy tábla egy pumpaval ("p1") egy forrassal ("f1"), koztuk egy csovel ("cs1"). And Egy szerelo ("sz1"), ami "f1"-n all. And Egy szerelo ("sz2"), ami "cs1"-n all. When "sz2" szerelo megprobal ellepni az 1 mezore diff --git a/src/test/resources/hellocucumber/szabotor_garancias_csovet_ront.feature b/src/test/resources/hellocucumber/szabotor_garancias_csovet_ront.feature new file mode 100644 index 0000000..38dd800 --- /dev/null +++ b/src/test/resources/hellocucumber/szabotor_garancias_csovet_ront.feature @@ -0,0 +1,17 @@ +# new feature +# Tags: optional + +Feature: A szabotor nem tudja elrontani a csovet, mert foltozasi garancia van rajta + + Scenario: A szabotor megprobal elrontani egy csovet, de foltozasi garancia van rajta, ezert nem jar sikerrel. + Given Egy tábla egy pumpaval ("p1") egy forrassal ("f1"), koztuk egy csovel ("cs1"). + And Egy szerelo ("sz1"), ami "cs1"-n all. + And Egy szabotor ("sz2"), ami "p1"-n all. + And A "cs1" cso torott. + And "sz1" szerelo megjavitja a mezot amin all + And Eltelik egy kor. + And "sz1" szerelo ellep az 1 mezore + And "sz2" szabotor ellep az 0 mezore + And Eltelik egy kor. + When "sz2" szabotor megprobalja elrontani a csovet amin all + Then "cs1" cso nem torott \ No newline at end of file diff --git a/src/test/resources/hellocucumber/szerelo_csovet_javit.feature b/src/test/resources/hellocucumber/szerelo_csovet_javit.feature new file mode 100644 index 0000000..86c1810 --- /dev/null +++ b/src/test/resources/hellocucumber/szerelo_csovet_javit.feature @@ -0,0 +1,11 @@ +# new feature +# Tags: optional + +Feature: A szerelo megjavitja a torott csovet, ami ezutan nem torott + + Scenario: A szerelo megprobal megjavitani egy torott csovet, és sikerrel jar. + Given Egy tábla egy pumpaval ("p1") egy forrassal ("f1"), koztuk egy csovel ("cs1"). + And A "cs1" cso torott. + And Egy szerelo ("sz1"), ami "cs1"-n all. + When "sz1" szerelo megprobalja megjavitani a mezot amin all + Then "cs1" cso nem torott \ No newline at end of file diff --git a/src/test/resources/hellocucumber/szerelo_felvesz_csoveget.feature b/src/test/resources/hellocucumber/szerelo_felvesz_csoveget.feature new file mode 100644 index 0000000..c52aac0 --- /dev/null +++ b/src/test/resources/hellocucumber/szerelo_felvesz_csoveget.feature @@ -0,0 +1,10 @@ +# new feature +# Tags: optional + +Feature: A szerelo felvesz egy csoveget amin nem all senki + + Scenario: A szerelo megprobal felvenni egy csoveget, amin nem all senki, és sikerrel jar. + Given Egy tábla egy pumpaval ("p1") egy forrassal ("f1"), koztuk harom csovel ("cs1"), ("cs2"), ("cs3"). + And Egy szerelo ("sz1"), ami "p1"-n all. + When "sz1" szerelo megprobalja felvenni a szomszedos csovet + Then "sz1" szerelonel van a "cs3" cso vege \ No newline at end of file diff --git a/src/test/resources/hellocucumber/szerelo_felvesz_pumpat_pumpara.feature b/src/test/resources/hellocucumber/szerelo_felvesz_pumpat_pumpara.feature new file mode 100644 index 0000000..3293ac1 --- /dev/null +++ b/src/test/resources/hellocucumber/szerelo_felvesz_pumpat_pumpara.feature @@ -0,0 +1,10 @@ +# new feature +# Tags: optional + +Feature: A szerelo nem tud felvenni pumpat, mert forrason all + + Scenario: A szerelo megprobal felvenni egy pumpat, de forrason all, ezert nem jar sikerrel. + Given Egy tábla egy pumpaval ("p1") egy forrassal ("f1"), koztuk egy csovel ("cs1"). + And Egy szerelo ("sz1"), ami "f1"-n all. + When "sz1" szerelo megprobal felvenni egy pumpat + Then "sz1" szerelonel nincsen pumpa \ No newline at end of file