@Test
public void iterator_returnsProperIterator() {

  /* Given */
  SqlPart sqlPart = mock(SqlPart.class);
  TestBaseFinishedSqlPart statement = new TestBaseFinishedSqlPart(sqlPart);
  /* When */
  Iterator<SqlPart> iterator = statement.iterator();
  /* Then */
  assertThat(iterator.hasNext(), is(true));
  assertThat(iterator.next(), is((SqlPart) statement));
  assertThat(iterator.hasNext(), is(true));
  assertThat(iterator.next(), is(sqlPart));
  assertThat(iterator.hasNext(), is(false));
}