moveOnMineral-Test

gast
Gast

moveOnMineral-Test

Beitrag von gast »

Hallo, ich bekomme bei dem Test MoveOnMineral im Controller die Fehlermeldung, dass der erwartete Wert für Silber Falsch ist. Der Test erwartet immer einen Wert von 1 für Silber. In meiner Implementierung jedoch habe ich keine Variable, die festschreibt wie viele Nuggets von Silber auf einem Feld liegen. Erst beim Betreten eines Feldes wird ein Zufallswert für die Nuggetanzahl erzeugt, deswegen funktioniert der Test nicht, weil immer eine unterschiedliche Nuggetanzahl erzeugt wird. In meiner Implementieruing werden die Nuggetanzahl etc korrekt berechnet und im Spiel funktioniert alles.

Jetzt meine Frage: muss ich das ändern, oder kann ich einen Kommentar hinzufügen der die Situation beschreibt und bekomme den Test dann als bestanden angerechnet?

TobiTobske
Mausschubser
Mausschubser
Beiträge: 58
Registriert: 15. Jan 2014 20:50

Re: moveOnMineral-Test

Beitrag von TobiTobske »

Ich hab das genauso implementiert wie du und der Test schlägt auch fehl.

Ich würde das an deiner Stelle nicht ändern, es handelt sich ja dabei nur um einen einzigen nicht bestandenen Test. Schreib aber am besten eine Erklärung in deine Dokumentation, warum der Test nicht funktioniert. Dann können die Prüfer das auch nachvollziehen und der Test wird dir dann vielleicht sogar anerkannt :wink:

midstar
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 172
Registriert: 29. Dez 2013 17:00

Re: moveOnMineral-Test

Beitrag von midstar »

Implementier einfach mal deine REMOVE ALL ITEMS FROM FIELD methode im model, und schon gehts. :D

Benutzeravatar
SophiaLi1
Kernelcompilierer
Kernelcompilierer
Beiträge: 542
Registriert: 5. Jan 2014 11:48

Re: moveOnMineral-Test

Beitrag von SophiaLi1 »

Da hat jemand was in stundenlanger Arbeit gelernt :p :D

knobelix
Erstie
Erstie
Beiträge: 12
Registriert: 7. Feb 2014 16:49

Re: moveOnMineral-Test

Beitrag von knobelix »

so weiter gehts auf der Fehlersuche :D
8 sind noch übrig.

Also beim moveOnMineral-Test bemängelt der Test das Silver 0 ist und nicht 1 wie erwartet.

Da jetzt schon der Hinweis kam, dass man seine removeallItemFromField Methode implementieren soll, was ich schon habe und eigentlich meine, dass sie so passt.
Hier mal der Auszug aus meinem Model und der Klasse wo die Methode herkommt.

public void removeAllItemsFromField(Position position){
playingField[position.width][position.height].clearContent();
}
playingField ist hierbei eine Array einer anderen Klasse, in der ich die Informationen speicher die so im Spielfeld vom Untergrund anfallen.

Hier nochmal die Methode clearContent:
content = "";
amount = 0;

Um die Methode clearContent ist dann eben noch eine for Schleife, die solange läuft bis die Länge vom Array content erreicht ist.

Habe ich hier etwas falsch implementiert, oder liegt der Fehler woanders?

Die anderen moveOn Tests sind manche mal richtig und manche mal falsch, die laufen allerdings wesentlich länger so 4-5 sek wenn sie falsch sind und etwa 8 Sekunden wenn sie richtig sind. :|
Der moveonmineral Test ist allerdings immer falsch und läuft nur eine halbe Sekunde.
Die anderen Tests haben im Gegensatz zum moveonmineral auch immer Mängel am moneyoftheplayer

Chuechco
Mausschubser
Mausschubser
Beiträge: 62
Registriert: 4. Jan 2014 13:44

Re: moveOnMineral-Test

Beitrag von Chuechco »

Könnte funktionieren. Das sind aber alles insgesamt zu wenige Informationen um den Fehler zu finden. Da müsste sich wohl mal jemand den Code anschauen.

midstar
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 172
Registriert: 29. Dez 2013 17:00

Re: moveOnMineral-Test

Beitrag von midstar »

Der moveOnMineral will aber ein Mineralie aufsammeln!

Sprich du hast 0, solltest aber 1 haben.

Also schau nochmal deine MineralienAufsammelMethode an, was passiert wenndu das aufsammelst. Ob das alles so stimmt.

Wenn das Geld des Spielers bemängelt wird, geht vllt deine SetMoneyOfPlayerMethode garnicht richtig? Erneut der hinweis, wenn die Instanzvariable gleich der Klassenvariable ist musst du mit this. eine referenz auf die klassenvariable setzen, sonst kommt da müll raus :)

knobelix
Erstie
Erstie
Beiträge: 12
Registriert: 7. Feb 2014 16:49

Re: moveOnMineral-Test

Beitrag von knobelix »

Hmm ich hab mir grad nochmal meine Mineral-Sammel-Methode angeschaut konnte jetzt aber nichts finden, während dem Spiel meine ich passt das soweit alles.

ja ich hatte tatsächlich noch einige setMethoden bei denen ich kein this davor hatte, also in dem Stil dann moneyOfPlayer = money
Aber das hat meiner Meinung nach während dem Spiel wunderbar so funktioniert.
Sind nur die set Methoden davon betroffen, oder muss man das auch bei den get Methoden so machen, oder sogar noch bei anderen Methoden?

Naja meine SetMoneyOfPlayer Methode ist jetzt nicht besonders umfangreich, ich weise da einfach der Klassenvariable moneyOfPlayer eine Zahl zu, eben der aktuelle Geldbestand dann.

Wie ist das eigentlich, wenn nur 6 Tests fehlschlagen, dann hat man ja etwa 94% der Tests erfolgreich, bekommt man dann 4 oder 5 Punkte für die Controller Tests?

knobelix
Erstie
Erstie
Beiträge: 12
Registriert: 7. Feb 2014 16:49

Re: moveOnMineral-Test

Beitrag von knobelix »

So nachdem ich jetzt nochmals die Test durchlaufen lassen habe, nachdem ich die paar getMethoden mit this. ergänzt habe läuft jetzt alles an Tests außer der MoveOnMineral Test, ist immer noch der gleiche Fehler, dass er im Inventar 0 Silver statt einem hat.

Antworten

Zurück zu „Archiv“