Метод с интерфейсом в качестве параметра для тестирования JUnit в Java - PullRequest
0 голосов
/ 11 марта 2019

У меня нет опыта работы с JUnit и использования методов с интерфейсом в качестве параметра.

Как я могу выполнить JUnit тесты для кода с этой структурой?

Код выводит частоту слова из заданной строки m_Content.

Мой код выглядит так:

public interface ICharacterReader {

    char GetNextChar() throws EOFException;
    void Dispose();
}

public class WordOccurences {

    public static void acceptInterface(ICharacterReader obj)
    {
        obj.Dispose();
    }

public static void getWords(SimpleCharacterReader readCharacter, StringBuilder text) throws EOFException {

    while(true){
         text.append(readCharacter.GetNextChar());
}
}
  public static void main(String[] args) {

    StringBuilder sb = new StringBuilder();

    SimpleCharacterReader reader = new SimpleCharacterReader();

    try {
        getWords(reader,sb);
    } catch (EOFException e) {  
        //e.printStackTrace();
    }  


    WordOccurences.acceptInterface(new ICharacterReader()
    {
        @Override
        public char GetNextChar() throws EOFException {
            // TODO Auto-generated method stub
            return 0;
        }

        @Override
        public void Dispose() {
            //prints some values
        });

    }
}

} }

открытый класс SimpleCharacterReader реализует ICharacterReader {

private int m_Pos = 0;

private String m_Content = "some string "

public char GetNextChar() throws EOFException {

    if (m_Pos >= m_Content.length()) {
        throw new EOFException();
    }

    return m_Content.charAt(m_Pos++);

}

public void Dispose() {
    // do nothing
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...