Versions Compared

Key

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

...

Code Block
titleFørste versjon av Counter-klassen
linenumberstrue
public class Counter {
   private int start, end, pos;
   public Counter(int start, int end) {
      this.start = start;
      this.end = end;
   }
   public int getCounter() {
      return this.pos;
   }
   public boolean count() {
      if (pos >= end) {
         return false;
      }
      this.pos = this.pos + 1;
      return true;
   }
}

...

Meldingen forteller at sjekken vår i linje 6 i CounterTest.java har avdekket en feil, counter.getCounter() returnerte 0, mens den forventede verdier var 1! Hvis vi ser nærmere på koden, så ser vi at vi har glemt å initialisere pos-variabelen til start-verdien. Derfor startet den på 0 istedenfor 1. Dersom vi endrer linje 4 i Counter.java til this.til pos = start; og kjører på nytt, så skal feilen være fikset:

...

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;
   }
}

Denne gangen kjører testen uten feil og vi har (større) grunn til å tro at Counter-klassen er implementert i henhold til kravene.

...