2016-03-11 2 views
-2

Я не могу проверить метод hasNext() в классе IterableIntegerArrays. Если я вызову этот метод в IterableIntegerArraysTestCases, он говорит: «Не могу найти символ». Как устранить эту ошибку?Не удалось проверить метод с помощью JUnit

public class IterableIntegerArrays extends IntegerRelation implements Iterable<IntPair> { 

    public IterableIntegerArrays(int n) { 
     super(n); 
    } 

    @Override 
    public Iterator<IntPair> iterator() { 

    return new Iterator<IntPair>() { 
     @Override 
     public boolean hasNext() { 
      //implementation 
      return false; 
     } 

     @Override 
     public IntPair next() { 
      //implementation 
     } 

    };  

    } 

} 

-

public abstract class IterableIntegerArraysTestCases extends IntegerRelationTestCases { 

    protected Iterable<IntPair> iterable; 

    protected void setIterable(final int n) { 
     setInstance(n); 
     iterable = ((Iterable<IntPair>) instance); 
    } 

    private void checkHasNext(int a, int b, boolean expResult) { 
     boolean result = iterable.hasNext(); //It says "cannot find symbol" here 
     assertEquals("hasNext(" + a + ", " + b + ")", expResult, result); 
    } 

} 
+0

'iterable' является' Iterable', он не имеет 'hasNext'. Только «Итератор» имеет это. – Tunaki

ответ

3

Iterable не hasNext метод. Его Iterator, который имеет метод hasNext. Вы должны сделать

iterable.iterator().hasNext() 
Смежные вопросы