Hallo
Ich habe ein Problem mit einem JUnit Test Case. Die Suchfunktion hat keine nützlichen Ergebnisse geliefert...
JUnit 4.4 / JDK1.6.0_01
Meine Klasse, die ich gern testen würde, sieht so aus:
und dies ist die Testklasse:
Nun zu meinem Problem.
Ich versuche eine Methode addInt(Integer) in meiner SortedIntArrayList klasse zu machen, so dass der hinzugefügte Integer an der richtigen Stelle in die (sortierte) arrayList eingefügt wird.
In der addInt(Integer val) methode will ich dann den int Wert des übergebenen Integer rauslesen um ihn anschliessend an der richtigen Stelle einzusortieren.
Was ich versucht habe:
Funktioniert nicht!
Ebenfalls kann ich in dieser Klasse kein Integer wrapper Objekt instanzieren,
also z.B.
funktioniert nicht. Auch Integer.parseInt usw wird nicht erkannt.
Wenn ich jedoch ein neues Projekt eröffne und etwas wie:
versuche, klappt alles tadellos.
in den Properties der klasse ist das compiler compliance level auf 6.0 gestellt.
Habe dies sowohl mit NetBeans als auch mit Eclipse versucht, ohne Erfolg.
Wenn mir also jemand sagen könnte, warum dies in dieser Klasse nicht funktioniert, wäre ich sehr dankbar...
Gruss, David
Ich habe ein Problem mit einem JUnit Test Case. Die Suchfunktion hat keine nützlichen Ergebnisse geliefert...
JUnit 4.4 / JDK1.6.0_01
Meine Klasse, die ich gern testen würde, sieht so aus:
Code:
public class SortedIntArrayList<Integer> extends ArrayList<Integer> {
public SortedIntArrayList(){
super();
}
/* adds an integer val such that the list is
always sorted in ascending order
*/
public void addInt(Integer val){
// @TODO implementation will follow
}
}
und dies ist die Testklasse:
Code:
public class SortedIntArrayListTest extends TestCase {
private SortedIntArrayList<Integer> saExp = new SortedIntArrayList<Integer>();
private SortedIntArrayList<Integer> saAct = new SortedIntArrayList<Integer>();
@Override
public void setUp(){
// set up the actual sortedIntArrayList
saAct.add(-6);
saAct.add(2);
saAct.add(9);
saAct.add(22);
saAct.add(69);
// set up the expected sortedIntArrayList
saExp.add(-6);
saExp.add(2);
saExp.add(9);
saExp.add(22);
saExp.add(69);
}
// add an element at the beginning of the arraylist
public void testAddIntFirstElement(){
int val = -10;
this.saAct.add(0,val);
this.saExp.addInt(new Integer(val));
assertEquals(saAct,saExp);
}
}
Nun zu meinem Problem.
Ich versuche eine Methode addInt(Integer) in meiner SortedIntArrayList klasse zu machen, so dass der hinzugefügte Integer an der richtigen Stelle in die (sortierte) arrayList eingefügt wird.
In der addInt(Integer val) methode will ich dann den int Wert des übergebenen Integer rauslesen um ihn anschliessend an der richtigen Stelle einzusortieren.
Was ich versucht habe:
Code:
public void addInt(Integer val){
if(this.get(0).intValue()<val.intValue()){
// do something
}
}
Funktioniert nicht!
Ebenfalls kann ich in dieser Klasse kein Integer wrapper Objekt instanzieren,
also z.B.
Code:
Integer itgr = new Integer(10);
Wenn ich jedoch ein neues Projekt eröffne und etwas wie:
Code:
public static void main(String[] args) {
int i;
Integer itgr = new Integer(10);
i = itgr.intValue();
}
in den Properties der klasse ist das compiler compliance level auf 6.0 gestellt.
Habe dies sowohl mit NetBeans als auch mit Eclipse versucht, ohne Erfolg.
Wenn mir also jemand sagen könnte, warum dies in dieser Klasse nicht funktioniert, wäre ich sehr dankbar...
Gruss, David