...
Code Block |
---|
title | Testkode for count()-metoden |
---|
linenumbers | true |
---|
|
assertEquals(true, counter.count());
assertEquals(1, counter.getCounter());
assertEquals(false, counter.count());
assertEquals(2, counter.getCounter()); |
...
Hvordan får vi så kjørt koden over, slik at vi får testet om Counter
-koden er korrekt i henhold til kravene? Koden må først legges inn i test-metoder i en test-klasse, og så må den kjøres ved hjelp av JUnit-rammeverket. En test-klasse må arve fra JUnit sin TestCase
-klasse og test-metodene må være void-metoder uten argumenter, med navn som begynner med "test", slik:
Code Block |
---|
import org.junit.TestCase;
public class CounterTest {
public void testCounter() {
Counter counter = new Counter(0, 2);
assertEquals(0, counter.getCounter());
assertEquals(true, counter.count());
assertEquals(1, counter.getCounter());
assertEquals(false, counter.count());
assertEquals(2, counter.getCounter());
}
} |
Code Block |
---|
title | Endelig versjon av Counter-klassen |
---|
linenumbers | true |
---|
|
public class Counter {
private int pos, end;
public Counter(int start, int end) {
this.pos = start;
this.end = end;
}
public int getCounter() {
return this.pos;
}
public boolean count() {
if (pos < end) {
this.pos = this.pos + 1;
}
return this.pos >= end;
}
} |