Skip to content

Commit

Permalink
Merge pull request #14 from BME-MIT-IET/bdd-tests
Browse files Browse the repository at this point in the history
Bdd tests
  • Loading branch information
Hadeszka authored May 22, 2024
2 parents a69795f + 93b0b8c commit d538e2c
Show file tree
Hide file tree
Showing 6 changed files with 221 additions and 9 deletions.
180 changes: 172 additions & 8 deletions src/test/java/hellocucumber/StepDefinitions.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<Csucs> csucsok = Kontroller.getInstance().getCsucsok();
List<Cso> kontrollerCsovek = Kontroller.getInstance().getCsovek();

Expand All @@ -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<Csucs> csucsok = Kontroller.getInstance().getCsucsok();
List<Cso> 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();
Expand All @@ -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);
Expand All @@ -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
Expand Down Expand Up @@ -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);
}




Expand Down Expand Up @@ -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");

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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
11 changes: 11 additions & 0 deletions src/test/resources/hellocucumber/szerelo_csovet_javit.feature
Original file line number Diff line number Diff line change
@@ -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
10 changes: 10 additions & 0 deletions src/test/resources/hellocucumber/szerelo_felvesz_csoveget.feature
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit d538e2c

Please sign in to comment.