测试用例似乎出错了?

来源:4-4 (编程Lexer01 Java)——实现流的peek和putBack操作

三生若空白

2021-09-21

test_endToken测试方法中,while循环中的i == 7的判断部分根本不会执行,因为i == 7 的时候已经退出循环了,老师您看是不是有这样的问题?

@Test
public void test_endToken(){
    var source = "abcdefg";
    var it = new PeekIterator<Character>(source.chars().mapToObj(c -> (char)c), (char)0);
    var i = 0;
    while(it.hasNext()) {
        if(i == 7) {
            assertEquals((char)0, it.next());
        } else {
            assertEquals(source.charAt(i++), it.next());
        }
    }
}
写回答

1回答

求老仙

2021-10-14

PeekIterator会增加一个char(0)放到流的结尾。 

0
0

大学计算机必修课新讲--编译原理+操作系统+图形学

轻松超越大学课程,前阿里P8专家的实践精华总结

1752 学习 · 157 问题

查看课程