@Test public void oneQueueWithOneElementShouldConvertToArrayAndPutNullMarkerAndReuseInputArrayWhenPassedLargerArray() { Queue<Integer> q = oneQueueWithTestElement(TEST_ELEMENT); //and Integer[] passedArray = {1, 2, 3}; //given Integer[] convertedArray = q.toArray(passedArray); //then assertThat(convertedArray) .hasSize(3) .startsWith(TEST_ELEMENT, null, 3) .isSameAs(passedArray); }
@Test public void emptyOneQueueShouldConvertToArrayAndPutNullMarkerAndReuseInputArrayWhenPassedLargerArray() { //given Queue<Integer> q = emptyOneQueue(); //and Integer[] passedArray = {1, 2, 3}; //when Integer[] convertedArray = q.toArray(passedArray); //then assertThat(convertedArray) .hasSize(3) .startsWith(null, 2, 3) .isSameAs(passedArray); }
@Test public void mergeAdditionalSource() { Comparator<Integer> originalComparator = Comparator.naturalOrder(); @SuppressWarnings("unchecked") FluxMergeOrdered<Integer> fmo = new FluxMergeOrdered<>(2, Queues.small(), originalComparator, Flux.just(1, 2), Flux.just(3, 4)); FluxMergeOrdered<Integer> fmo2 = fmo.mergeAdditionalSource(Flux.just(5, 6), Comparator.naturalOrder()); assertThat(fmo2).isNotSameAs(fmo); assertThat(fmo2.sources).startsWith(fmo.sources) .hasSize(3); assertThat(fmo.sources).hasSize(2); assertThat(fmo2.valueComparator) .as("same comparator detected and used") .isSameAs(originalComparator); StepVerifier.create(fmo2) .expectNext(1, 2, 3, 4, 5, 6) .verifyComplete(); }
@Override public void run(@NotNull final DBSession session) { session.command("create table Turbo2000 (x smallint)").run(); DBCommandRunner cr = session.command("insert into Turbo2000 values (?)"); for (short i = 1; i <= 2000; i++) cr.withParams(i).run(); DBQueryRunner<Short[]> qr = session.query("select * from Turbo2000 order by 1", columnOf(Short.class)) .packBy(100); Short[] pack = qr.run(); assertThat(pack).isNotNull() .startsWith((short) 1) .endsWith((short) 100); int packs = 0; while (pack != null) { packs++; pack = qr.nextPack(); } assertThat(packs).isEqualTo(20); // 2000 / 100 = 20 } });