/**
   * multiple records.
   *
   * @throws Exception if occur
   */
  @Test
  public void multiple() throws Exception {
    context.put("provider", "provider");

    Simple s1 = new Simple();
    s1.number = 100;
    s1.text = "Hello, world!";
    insert(s1, SIMPLE, "SIMPLE");

    Simple s2 = new Simple();
    s2.number = 200;
    s2.text = "Hello, world!!!!";
    insert(s2, SIMPLE, "SIMPLE");

    TableSourceProvider provider = new TableSourceProvider();
    DataModelSource source =
        provider.open(SIMPLE, new URI("bulkloader:provider:SIMPLE"), new TestContext.Empty());

    try {
      assertThat(next(source), is(s1));
      assertThat(next(source), is(s2));
      assertThat(next(source), is(nullValue()));
    } finally {
      source.close();
    }
  }
  /**
   * zero record.
   *
   * @throws Exception if occur
   */
  @Test
  public void zero() throws Exception {
    context.put("provider", "provider");

    TableSourceProvider provider = new TableSourceProvider();
    DataModelSource source =
        provider.open(SIMPLE, new URI("bulkloader:provider:SIMPLE"), new TestContext.Empty());
    try {
      assertThat(next(source), is(nullValue()));
    } finally {
      source.close();
    }
  }
 private Simple next(DataModelSource source) throws IOException {
   DataModelReflection next = source.next();
   if (next != null) {
     return SIMPLE.toObject(next);
   }
   return null;
 }