Hausübung 12

kechler
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 21. Nov 2004 22:33
Wohnort: Darmstadt

Beitrag von kechler »

In wievielen Methoden hat sich der Fehlerteufel denn versteckt??
Durch meine JUnits-Test habe ich nämlich nur den pow-Fehler und noch einen weiteren gefunden?!
Ist das bei euch auch so oder habt ihr noch mehr?

baerchen
Computerversteher
Computerversteher
Beiträge: 382
Registriert: 24. Okt 2006 15:42

Beitrag von baerchen »

wenn ich mich richtig erinner müssten es mindestens 3 sein
We can do this the hard way or my way ...which is basically the same thing!

Pavel
Windoof-User
Windoof-User
Beiträge: 37
Registriert: 21. Okt 2006 23:42

Beitrag von Pavel »

MisterD123 hat geschrieben:das "Problem" bei pow ist realtiv einfach ^^ vergleicht doch einfach mal die multiplikation aus multiply(IntegerMatrix m) mit der multiplikation aus pow(int x), *vielleicht* fällt da ja was auf ^^
das Problem ist alles andere als einfach. Zumindest wenn man es nur durch verändern der Schleifen und nicht durch komplettes neuschreiben lösen will.

Das ganze führt dann letztendlich auf einen Fehler in getRow.

baerchen
Computerversteher
Computerversteher
Beiträge: 382
Registriert: 24. Okt 2006 15:42

Beitrag von baerchen »

es ist einfacher und besser das problem *sinnvoll* zu lösen und gibt bestimmt auch volle punktzahl

und sinnvoll ist eigentlich nur eine lösung...
We can do this the hard way or my way ...which is basically the same thing!

Pavel
Windoof-User
Windoof-User
Beiträge: 37
Registriert: 21. Okt 2006 23:42

Beitrag von Pavel »

hängt ganz davon ab ob man versucht den original algorithmus zu fixen oder das ganze einfahc durch seinen eigenen ersetzt. Im letzterem Fall würd ich eigentlich gleich meine alte Lösung drüberkopieren - da weiß ich dass es läuft ;)

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

Beitrag von m0ep »

baerchen hat geschrieben:wenn ich mich richtig erinner müssten es mindestens 3 sein
Ich hab 4 :/

edith: Bzw. Fehler in 4 Methoden :)


Einen aber auch nur gefunden, weil ich zufällig die "richtige" Matrix eingesetzt habe ^_*

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Beitrag von MisterD123 »

kechler hat geschrieben:In wievielen Methoden hat sich der Fehlerteufel denn versteckt??
Durch meine JUnits-Test habe ich nämlich nur den pow-Fehler und noch einen weiteren gefunden?!
Ist das bei euch auch so oder habt ihr noch mehr?
schreib mal bewusst fehler provozierende tests oder schau dir einfach die funktionen alle mal so an, überleg was falsch sein könnte und schreib dann dementsprechende tests, das sollte helfen ;) eventuell versuchen, mit den tests alle kritierien, die zu einem positiven / negativen ergebnis führen könnten, abzudecken.

ach und - solltest du das gemacht haben - die erwarteten ergebnisse auf jeden fall von hand ausrechnen und nicht einmal das programm rechnen lassen, mit system.out.print das ergebnis hinschreiben und als erwartung übernehmen.. dann sind zwar alle tests richtig aber du übersiehst praktisch jeden fehler ;)

citta
Mausschubser
Mausschubser
Beiträge: 96
Registriert: 7. Nov 2006 21:52

Beitrag von citta »

Die Daumenregel mit den maximal 15 Zeilen zählt nicht bei JUnit-Tests, oder?

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Beitrag von MisterD123 »

lässt sich aber durchaus einhalten oO

Benutzeravatar
Martin K
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 110
Registriert: 13. Okt 2006 17:56

Beitrag von Martin K »

Hi,

was soll ma denn machen, wenn pow oder determinant auf eine nicht-quadratische Matrix angewendet werden?
Sollen wir diesen Fall überhaupt berücksichtigen?

//Nachtrag:
Gleiches gilt für isIdentity
?

citta
Mausschubser
Mausschubser
Beiträge: 96
Registriert: 7. Nov 2006 21:52

Beitrag von citta »

Fragen zur Aufgabe 4:
1) Besteht ein Test in Aufgabe 4 auch aus mindestens drei sinnvollen Überprüfungen?
2) Auch unchecked exceptions testen, also die ganzen IndexOfBoundsExceptions?

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Beitrag von MisterD123 »

ehm wenn der erste test ne exception wirft werden die übrigen drei nicht mehr ausgeführt, ich denke nicht, dass wir für jeden test ne eigene testfunktion schreiben müssen, soviel müll will doch niemand haben oO

Benutzeravatar
marlic
Computerversteher
Computerversteher
Beiträge: 365
Registriert: 5. Okt 2006 11:09
Wohnort: Dietesheim

Beitrag von marlic »

Um nochmal auf das "assertsEqual" zurückzukommen:

equals() wird zwar in IntMatrix implementiert, aber eigentlich hat ja schon Object die Methode equals().
Also wenn wir nochmal die Bullaugen Sichtweise für Polymorphie anwenden, könnte doch equals() auf jede Klasse angewandt werden, die von Object erbt. Also macht es durchaus sinn, dass assertsEqual überprüft, ob m1.equals(m2) true zurück gibt.

Man beachte auch die Methode assertsSame()!

patrik_s.stud.tu
Mausschubser
Mausschubser
Beiträge: 69
Registriert: 12. Okt 2006 20:56

Beitrag von patrik_s.stud.tu »

wenn man assertEquals() benutzen will muss man
vorher die equal(Object obj) ueberschreiben...

diese wurde jedoch nicht ueberschrieben sondern
nur eine equals(IntegerMatrix m) gegeben, daher
kann assertEquals nur auf die standard equals-Func
zurueckgreifen und die vergleicht grob gesagt Pointer.
Also die Referenz und nicht den Inhalt der Matrix.

Benutzeravatar
marlic
Computerversteher
Computerversteher
Beiträge: 365
Registriert: 5. Okt 2006 11:09
Wohnort: Dietesheim

Beitrag von marlic »

Ich verstehe ... es lebe das Überladen von Methoden.
"Copy & Passed"

Wahlspruch der Plagiatoren

Antworten

Zurück zu „Archiv“