示例#1
0
  @Test
  public void testTake() {
    assertThat(new Range<>(1).next(i -> i + 1).take(0), equalTo(Seqs.newMutableSeq()));
    assertThat(new Range<>(1).next(i -> i + 1).take(5), equalTo(Seqs.newMutableSeq(1, 2, 3, 4, 5)));
    assertThat(new Range<>(1).next(i -> i + 1).to(3).take(5), equalTo(Seqs.newMutableSeq(1, 2, 3)));

    Helpers.assertThrows(UnsupportedOperationException.class, () -> new Range<>(1).spliterator());
  }
示例#2
0
  @Test
  public void testTakeWhile() {
    assertThat(
        new Range<>(1).next(i -> i + 1).takeWhile(e -> e <= 5),
        equalTo(Seqs.newMutableSeq(1, 2, 3, 4, 5)));
    assertThat(
        new Range<>(1).next(i -> i + 1).takeWhile(e -> e < 1), equalTo(Seqs.newMutableSeq()));
    assertThat(
        new Range<>(1).next(i -> i + 1).until(1).takeWhile(e -> e <= 5),
        equalTo(Seqs.newMutableSeq()));
    assertThat(
        new Range<>(1).next(i -> i + 1).takeWhile((e, i) -> i < 5),
        equalTo(Seqs.newMutableSeq(1, 2, 3, 4, 5)));
    assertThat(
        new Range<>(1).next(i -> i + 1).takeWhile((e, i) -> i < 0), equalTo(Seqs.newMutableSeq()));
    assertThat(
        new Range<>(1).next(i -> i + 1).until(1).takeWhile((e, i) -> i < 5),
        equalTo(Seqs.newMutableSeq()));

    List<Integer> indices = new ArrayList<>();
    assertThat(
        new Range<>(1)
            .next(i -> i + i)
            .takeWhile(
                (e, i) -> {
                  indices.add(i);
                  return e < 64;
                }),
        equalTo(Seqs.newMutableSeq(1, 2, 4, 8, 16, 32)));
    assertThat(indices, equalTo(Arrays.asList(0, 1, 2, 3, 4, 5, 6)));
  }
示例#3
0
 @Test
 public void testToMutableSeq() {
   assertThat(
       new Range<>(1).to(5).next(i -> i + 1).toMutableSeq(),
       is(equalTo(Seqs.newMutableSeq(1, 2, 3, 4, 5))));
 }