### Question:
VirtualSinkSource extends NamedSink implements Source { public int getNumberOfRows() { return rows.size(); } VirtualSinkSource();  VirtualSinkSource(String name, List<Row> entries); int getNumberOfRows(); List<Row> getRows(); Row getRow(int index); VirtualSinkSource addRow(Row row); @Override Iterable<Row> query(String query, Object... params); @Override void processRow(Row entries); @Override String toString(); String mapToString(Row columns); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void empty() { VirtualSinkSource source = new VirtualSinkSource.Rows().build(); assertThat(source.getNumberOfRows(), is(0)); source = new VirtualSinkSource(); assertThat(source.getNumberOfRows(), is(0)); }