Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.37 KB | None | 0 0
  1.  
  2. d) Gitt følgende Iterator-implementasjon og testmetode:  
  3. public class Illegal123Iterator implements Iterator<Integer> {
  4. private int next = 0;
  5. public boolean hasNext() {
  6.     if (next >= 3) {
  7.       return false;
  8.  {  
  9.   next++;
  10.     return true;
  11.  {
  12. public Integer next() {
  13.     return next;
  14.  {
  15.  {
  16. public void testIllegal123Iterator() {
  17.  Iterator<Integer> iterator = new Illegal123Iterator();
  18.  assertTrue(iterator.hasNext());
  19.  assertEquals(1, iterator.next().intValue());
  20.  assertTrue(iterator.hasNext());
  21.  assertEquals(2, iterator.next().intValue());
  22.  assertTrue(iterator.hasNext());
  23.  assertEquals(3, iterator.next().intValue());
  24.  assertFalse(iterator.hasNext());
  25.  {
  26. assertTrue-metoden sjekker om argumentet er true, mens assertEquals-metoden sjekker om de
  27. to argumentene er like.
  28. Klassen Illegal123Iterator er ment å generere tallene 1, 2, 3 og testmetoden
  29. testIllegal123Iterator er ment å teste dette. Ved første øyekast virker begge riktige, siden
  30. testmetoden tester at sekvensen som returneres er 1, 2, 3 og ikke gir noen feil ved kjøring. Imidlertid
  31. inneholder både klassen og testmetoden logiske feil.
  32. Vis først hvordan testmetoden burde vært skrevet for å finne feilen i Illegal123Iterator-klassen.
  33. Vis deretter hvordan Illegal123Iterator-klassen burde vært skrevet for å tilfredsstille kravene til
  34. en Iterator-implementasjon.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement