@Test public void should_generate_where_clause_when_same_number_of_components_ascending() throws Exception {
  when(sliceQuery.getOrdering()).thenReturn(ASCENDING);
  when(sliceQuery.getFixedComponents()).thenReturn(Arrays.<Object>asList(11L,uuid1,"author"));
  when(sliceQuery.getLastStartComponent()).thenReturn(1);
  when(sliceQuery.getLastEndComponent()).thenReturn(2);
  when(sliceQuery.getBounding()).thenReturn(INCLUSIVE_BOUNDS);
  when(sliceQuery.getBatchSize()).thenReturn(99);
  when(sliceQuery.getConsistencyLevel()).thenReturn(EACH_QUORUM);
  RegularStatementWrapper statement=generator.generateWhereClauseForSelectSliceQuery(sliceQuery,buildFakeSelect());
  assertThat(statement.getStatement().getQueryString()).isEqualTo("SELECT test FROM table WHERE id=11 AND a=? AND b=? AND c>=1 AND c<=2;");
  assertThat(statement.getValues()).contains(uuid1,"author");
  assertThat(statement.getStatement().getFetchSize()).isEqualTo(99);
  when(sliceQuery.getBounding()).thenReturn(EXCLUSIVE_BOUNDS);
  statement=generator.generateWhereClauseForSelectSliceQuery(sliceQuery,buildFakeSelect());
  assertThat(statement.getStatement().getQueryString()).isEqualTo("SELECT test FROM table WHERE id=11 AND a=? AND b=? AND c>1 AND c<2;");
  assertThat(statement.getValues()).contains(uuid1,"author");
  assertThat(statement.getStatement().getFetchSize()).isEqualTo(99);
  when(sliceQuery.getBounding()).thenReturn(INCLUSIVE_START_BOUND_ONLY);
  statement=generator.generateWhereClauseForSelectSliceQuery(sliceQuery,buildFakeSelect());
  assertThat(statement.getStatement().getQueryString()).isEqualTo("SELECT test FROM table WHERE id=11 AND a=? AND b=? AND c>=1 AND c<2;");
  assertThat(statement.getValues()).contains(uuid1,"author");
  assertThat(statement.getStatement().getFetchSize()).isEqualTo(99);
  when(sliceQuery.getBounding()).thenReturn(INCLUSIVE_END_BOUND_ONLY);
  statement=generator.generateWhereClauseForSelectSliceQuery(sliceQuery,buildFakeSelect());
  assertThat(statement.getStatement().getQueryString()).isEqualTo("SELECT test FROM table WHERE id=11 AND a=? AND b=? AND c>1 AND c<=2;");
  assertThat(statement.getValues()).contains(uuid1,"author");
  assertThat(statement.getStatement().getFetchSize()).isEqualTo(99);
  assertThat(statement.getStatement().getConsistencyLevel()).isEqualTo(EACH_QUORUM);
  assertThat(statement.getStatement().getSerialConsistencyLevel()).isNull();
}
