Hausübung 12

Benutzeravatar
m0ep
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 189
Registriert: 5. Okt 2006 22:52
Wohnort: Bensheim
Kontaktdaten:

Hausübung 12

Beitrag von m0ep »

Sacht mal, will JUnit mich verarschen ?

Code: Alles auswählen

assertEquals("Add Test 1: ", res_1, test_1.add(test_4));

Code: Alles auswählen

java.lang.AssertionError: Add Test 1:  
expected:<
2	2	0	1	
3	-1	1	0	
0	6	4	-2	
2	4	3	2	
> but was:<
2	2	0	1	
3	-1	1	0	
0	6	4	-2	
2	4	3	2	
>
Aber das hier funktioniert :/

Code: Alles auswählen

assertTrue(res_1.equals(test_1.add(test_4)));
OOOOOOOder arbeitet assertEquals(...) intern mit expected == actual
was hier null ergeben würde und somit falsch währe Oo?
(Wer mich fragt warum das null wird .... ich hab 's getestet ;))


Edith: Warum steht bei mir "DON'T PANIC" Oo?









*PANIC*

Tutor16
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 25. Okt 2006 16:52

Beitrag von Tutor16 »

da die Funktion equals extra für die Matrix-Klasse definiert ist kann assertEquals natürlich nichts damit anfangen. Es hat also gar keine andere Wahl als mit expected == actual zu arbeiten.
Und dass das nicht funktioniert liegt einfach daran, dass er die Referenz auf den Speicherbereich vergleicht, die logischerweise unterschiedlich sind.

Also Don't Panic :wink:

Benutzeravatar
m0ep
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 189
Registriert: 5. Okt 2006 22:52
Wohnort: Bensheim
Kontaktdaten:

Beitrag von m0ep »

ah ok danke :)
Lasst mich Arzt, ich bin durch!

Mira`
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 27. Okt 2006 20:41

Beitrag von Mira` »

Bezüglich der Vorbedingung bei der Methode "clear()".
Ist der Hinweis nur auf die Nachbedingung bezogen, also muss man nur prüfen ob der Daten-Array ungleich null ist, oder muss/soll man bei der Vorbedingung schon die Ecken der Matrix begutachten?

PS: Projekt Weltmeister 2007 ist kurz vor dem release. :D :D Heut abend gibts Paella :lol:

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

gute frage .. überlege dir doch mal was mehr sinn macht.
hinterher zu prüfen ob die matrix leer ist macht sinn. soweit so klar.

vorher zu prüfen ob die matrix leer ist macht ........ (nun bist du gefragt)

Mira`
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 27. Okt 2006 20:41

Beitrag von Mira` »

...für mich keinen Sinn, da sie danach sowieso "geleert" wird. Hab ich recht?

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

ja und nein .. eher nein ... was willst du denn VORHER prüfen .. das die ecken 0 sind? ... nun ja .. ist es denn richtig/gewollt/logisch das die ecken (also die matrix) ... VORHER schon auf 0 sind? ... und wäre es erlaubt das die ecken vorher nicht 0 sind?

Mira`
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 27. Okt 2006 20:41

Beitrag von Mira` »

Ich steh grad voll auf der Leitung.

Im Prinzip ist es doch egal, was in dem Array drinsteht, bevor clear aufgerufen wird. Weil ich kann mit dem Objekt doch sowieso nix anfangen, bis es erstellt worden ist. Und wenn es erstellt wird, werden ja automatisch durch clear alle Werte auf 0 gesetz. Also kann ich ja davon ausgehen, dass wenn das Objekt erstellt, dass alle Werte auf 0 sind.

Das einzige Argument in meinen Augen wo diese Überprüfung Sinn macht, ist das wenn die Ecken vorher schon 0 sind es eigentlich keinen Grund gibt clear aufzurufen, da das Objekt ja schon in dem Zustand ist wie ich es gerne hätte.

Bitte helft mir auf die Sprünge, ich hab grade ne Blockade...

Christoph B
Computerversteher
Computerversteher
Beiträge: 370
Registriert: 15. Okt 2006 18:28
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Christoph B »

also, WAS ist die MEGA Vorbedingung damit ÜBERHAUPT die Werte des Array alle auf 0 setzen kann?
dazu vielleicht nochmal die entsprechende Vorbedingung "Das Daten Array ungleich null", was bedeutet "null" denn noch so, vorallem wenn man sagt Der Daten Array selbst darf nicht null sein? ;)

was bedeutet es, wenner null ist? wie würde sich das auf den rest des Programms auswirken? :D

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

noch weitere gute fragen:
wann wird clear() aufgerufen? Darf clear NUR vom Konstruktor der Matrix aufgerufen werden? Oder darf ich auch eine Matrix erstellen, irgendwelche Werte der Matrix setzen ... und dann .. clear() aufrufen?

und nun überlegen wir nochmal .. welche Werte dürfen die Ecken vor dem aufruf von clear() haben.

ps: also ich könnte dir natürlich auch die Antworten sagen, aber du musst dich auch ein wenig durchkämpfen, damit du das auch verstehst :)

Rickard
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 13. Jul 2006 15:21
Wohnort: Giessen

Beitrag von Rickard »

Hilfe Hilfe!

Ich hab fast alle Junits test für die aufgabe gemacht und die assertions geschrieben in IntMatrix. Aber die assertions in IntMatrix sind nicht aktiviert! (hab mit assert false: "..."; probiert) also wie schalte ich assertions frei von der Junits klasse aus?

In die vorlesung steht ja "java–ea<classfilename>" aber ich will es von der junits klasse aus freischalten.

Oder ist es so dass es freigeschaltet ist aber ich die errors nicht sehen kann?

Oder was anderes?

Bitte bitte hilfe hilfe!!!! :shock:

Mira`
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 27. Okt 2006 20:41

Beitrag von Mira` »

Hatte das gleiche Problem. Xelord hatte mir dann freundlicherweise geholfen.
Hallo,

du musst in diesem RUN Dialog bei VM Parameters -ea eintragen.

Dann sollte es funktionieren
RUN Dialog

Rickard
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 13. Jul 2006 15:21
Wohnort: Giessen

=)

Beitrag von Rickard »

Danke =) klappt prima

Benutzeravatar
okula
Erstie
Erstie
Beiträge: 21
Registriert: 13. Jan 2006 23:25
Kontaktdaten:

Beitrag von okula »

hi,

ist - IntegerMatrix m1= new IntMatrix(0,0); - ein identität Matrix?
soll man auch dieses Fehler abfangen :?:

Benutzeravatar
m0ep
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 189
Registriert: 5. Okt 2006 22:52
Wohnort: Bensheim
Kontaktdaten:

Beitrag von m0ep »

Hier stand Mist :/
Zuletzt geändert von m0ep am 2. Feb 2007 15:34, insgesamt 2-mal geändert.

Antworten

Zurück zu „Archiv“