RekursivesSpielPublicTest

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

RekursivesSpielPublicTest
Hallo zusammen,

ist es eigentlich normal, dass der öffentliche Test wegen einer einzigen Variablenbelegung aus dem testdata1 array an der Rekursionstiefe scheitert?

Konkret kommt es in der public void pubTest__RekursivesSpiel__0_1_2_randomA() bei x= 32, y=46 zu folgender Fehlermeldung:

“Call with (x = 32, y = 46) failed: Wrong recursion depth. expected:<30> but was:<28>”

Sobald ich auch nur dieses eine Feld { 32, 46, 0, 30 } in testdata1 [][] auskommentiere, läuft der gesamte(!) Test auf grün.

Bzw. gibt es überhaupt einen Unterschied zwischen den Methoden public void pubTest__RekursivesSpiel__0_1_2_randomA() und public void pubTest__RekursivesSpiel__0_1_2_randomB()? Für mich als Laie sieht das im Methodenrumpf recht ähnlich aus :smiley:

Vielen Dank im Voraus! Hoffe ich steh hier nicht zu sehr auf dem Schlauch, aber da ich ja sozusagen “besser” in der Rekursionstiefe bin und es nur an diesem einzigen Fall scheitert, dachte ich mir, ich stell mal hier die Frage.

Nachtrag
das Problem lag doch an einem logischen Fehlschluss im Code und wurde jetzt behoben


Will mir mal bitte jemand erklären warum die Reihenfolge der Rekursionsaufrufe einen Einfluss auf die erfolgreiche Durchführung des Tests hat? Mir ist bewusst, dass es die Rekursionstiefe verändert, aber man kann doch nicht erwarten, dass jeder die exakte Reihenfolge der Überprüfungen errät, wobei andere Reihenfolgen ja auch korrekt sind. Für alle, die sich das ewige Raten ersparen wollen, man muss die Zahlen 2, 3, 5 aufsteigend überprüfen erst mit x, dann mit y, also x/2, y/2, x/3, y/3, x/5, y/5. Das ist so einer der Gründe warum ich die AuD-Übungen manchmal so albern finde, weil die Schwierigkeit nicht durch das Problem, sondern durch die Obskurität der Aufgaben kommt. Aber falls es dafür einen guten Grund gibt nehm ich das Statement sofort zurück.


ahhhh wie dumm ist das denn? Ich hatte den x-y / y-x fall am ende und deswegen war alles falsch… so ein schwachsinn