For IntelliJ IDEA,
Android Studio or Eclipse



protected void assertPollReturnsNoMoreRecords() throws InterruptedException { for (int i=0;i!=10; ++i) { assertThat(reader.poll()).isNull(); } }
@Test public void shouldStartSingleReaderThatStopsAutomatically() throws InterruptedException { reader = new ChainedReader.Builder() .addReader(new MockReader("r2", records())) .completionMessage("Stopped the r2 reader") .build(); reader.start(); assertThat(reader.state()).isEqualTo(State.RUNNING); assertThat(reader.poll()).isSameAs(RL1); assertThat(reader.poll()).isSameAs(RL2); assertThat(reader.poll()).isSameAs(RL3); assertThat(reader.poll()).isSameAs(RL4); assertThat(reader.poll()).isSameAs(RL5); assertThat(reader.poll()).isNull(); // cause the mock reader to stop itself assertThat(reader.state()).isEqualTo(State.STOPPED); assertPollReturnsNoMoreRecords(); }
assertThat(reader.poll()).isSameAs(RL4); assertThat(reader.poll()).isSameAs(RL5); assertThat(reader.poll()).isNull(); // cause the 2nd mock reader to stop itself assertThat(reader.state()).isEqualTo(State.STOPPED); assertPollReturnsNoMoreRecords();
assertThat(records).isNull();
assertThat(records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).size()).isEqualTo( numCreateDatabase + numCreateTables); assertThat(records.ddlRecordsForDatabase("regression_test")).isNull(); assertThat(records.ddlRecordsForDatabase("connector_test")).isNull(); assertThat(records.ddlRecordsForDatabase("readbinlog_test")).isNull(); assertThat(records.ddlRecordsForDatabase("json_test")).isNull(); records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).forEach(this::print);
assertThat(records.databaseNames().size()).isEqualTo(1); assertThat(records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).size()).isEqualTo(numCreateDatabase + numCreateTables); assertThat(records.ddlRecordsForDatabase("regression_test")).isNull(); assertThat(records.ddlRecordsForDatabase("connector_test")).isNull(); assertThat(records.ddlRecordsForDatabase("readbinlog_test")).isNull(); records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).forEach(this::print);
assertThat(result.getPropertyAsList("links")).isNull(); assertThat(result.getProperty("count")).isEqualTo(6L);
assertThat(records).isNull();
@Test public void shouldStartAndStopReaderThatContinuesProducingItsRecordsAfterBeingStopped() throws InterruptedException { reader = new ChainedReader.Builder() .addReader(new CompletingMockReader("r5", records())) .completionMessage("Stopped the r5 reader") .build(); reader.start(); assertThat(reader.state()).isEqualTo(State.RUNNING); assertThat(reader.poll()).isSameAs(RL1); assertThat(reader.poll()).isSameAs(RL2); // Manually stop this reader, and it will continue returning all of its 5 record lists ... reader.stop(); assertThat(reader.state()).isEqualTo(State.STOPPING); // Read the remaining records ... assertThat(reader.poll()).isSameAs(RL3); assertThat(reader.poll()).isSameAs(RL4); assertThat(reader.poll()).isSameAs(RL5); assertThat(reader.poll()).isNull(); // The reader has no more records, so it should now be stopped ... assertThat(reader.state()).isEqualTo(State.STOPPED); assertPollReturnsNoMoreRecords(); }
assertThat(records.databaseNames()).containsOnly(DATABASE.getDatabaseName(), ""); assertThat(records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).size()).isEqualTo(numDdlRecords); assertThat(records.ddlRecordsForDatabase("regression_test")).isNull(); assertThat(records.ddlRecordsForDatabase("connector_test")).isNull(); assertThat(records.ddlRecordsForDatabase("readbinlog_test")).isNull(); assertThat(records.ddlRecordsForDatabase("json_test")).isNull(); assertThat(records.ddlRecordsForDatabase("geometry_test")).isNull(); assertThat(records.ddlRecordsForDatabase("").size()).isEqualTo(1); // SET statement records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).forEach(this::print);
assertThat(records.databaseNames()).containsOnly(DATABASE.getDatabaseName(), ""); assertThat(records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).size()).isEqualTo(numDdlRecords); assertThat(records.ddlRecordsForDatabase("regression_test")).isNull(); assertThat(records.ddlRecordsForDatabase("connector_test")).isNull(); assertThat(records.ddlRecordsForDatabase("readbinlog_test")).isNull(); assertThat(records.ddlRecordsForDatabase("").size()).isEqualTo(1); // SET statement records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).forEach(this::print);
assertThat(records.databaseNames()).containsOnly(DATABASE.getDatabaseName(), ""); assertThat(records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).size()).isEqualTo(numDdlRecords); assertThat(records.ddlRecordsForDatabase("regression_test")).isNull(); assertThat(records.ddlRecordsForDatabase("connector_test")).isNull(); assertThat(records.ddlRecordsForDatabase("readbinlog_test")).isNull(); assertThat(records.ddlRecordsForDatabase("json_test")).isNull(); assertThat(records.ddlRecordsForDatabase("").size()).isEqualTo(1); // SET statement records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).forEach(this::print);
assertThat(records).isNull();
@Test public void shouldStartAndStopSingleReaderBeforeReaderStopsItself() throws InterruptedException { reader = new ChainedReader.Builder() .addReader(new MockReader("r1", records())) .completionMessage("Stopped the r1 reader") .build(); reader.start(); assertThat(reader.state()).isEqualTo(State.RUNNING); assertThat(reader.poll()).isSameAs(RL1); assertThat(reader.poll()).isSameAs(RL2); assertThat(reader.poll()).isSameAs(RL3); assertThat(reader.poll()).isSameAs(RL4); reader.stop(); assertThat(reader.state()).isEqualTo(State.STOPPING); assertThat(reader.poll()).isNull(); assertThat(reader.state()).isEqualTo(State.STOPPED); assertPollReturnsNoMoreRecords(); }
assertThat(records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).size()).isEqualTo( numCreateDatabase + numCreateTables); assertThat(records.ddlRecordsForDatabase("regression_test")).isNull(); assertThat(records.ddlRecordsForDatabase("connector_test")).isNull(); assertThat(records.ddlRecordsForDatabase("readbinlog_test")).isNull(); assertThat(records.ddlRecordsForDatabase("json_test")).isNull(); assertThat(records.ddlRecordsForDatabase("geometry_test")).isNull(); records.ddlRecordsForDatabase(DATABASE.getDatabaseName()).forEach(this::print);