Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
titleTestkode for count()-metoden
linenumberstrue
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
titleEndelig versjon av Counter-klassen
linenumberstrue
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;
   }
}