timandy/linq

为什么会有一定断言失败的场景代码

Linuxea opened this issue · 4 comments

code

请问这个断言的目的是什么?

因为我在单元测试发现断言异常,而普通运行时却没有问题。最后查看您的代码,发现是单元测试的开启了断言导致的。
但是想不明白,这个断言是一定会失败的,想不出它的目的究竟是什么?

补充单元测试代码如下:

    @Test
    public void test1() {
        List<String> strings = new ArrayList<>();
        strings.add("1");
        strings.add("2");
        List<String> list = Linq.asEnumerable(strings).where(it -> !it.isEmpty()).take(10).toList();
        System.out.println(list);
    }

执行结果:

image

@Linuxea 请使用最新版测试一下

@Linuxea 请使用最新版测试一下

你好。最新版本不会,语法也有些许不同Linq.of(..) 而且看起来代码不会触发这种场景。
只是当时没想通为什么会在开始的旧版本中有这种设计。 @timandy

@Linuxea 仅在测试时进行验证条件, 运行时不验证, 以提升性能