@NotNull @Override public OrderBy orderBy(@NotNull final String... terms) { return new OrderByImpl(terms, this); }
@Test public void prependTo_withSingleItem_prependsProperSql() { /* Given */ OrderByImpl orderBy = new OrderByImpl(new String[] {"a"}, mock(SqlPart.class)); RawSqlBuilder builder = new RawSqlBuilderImpl(); /* When */ orderBy.prependTo(builder); /* Then */ assertThat(builder.toString(), is("ORDER BY a")); }
@Test public void limit_returnsNotNullValue() { /* Given */ OrderByImpl orderBy = new OrderByImpl(new String[] {"a"}, mock(SqlPart.class)); /* When */ Limit result = orderBy.limit(5); /* Then */ assertThat(result, is(notNullValue())); } }
@Test public void previous_returnsProperItem() { /* Given */ SqlPart sqlPart = mock(SqlPart.class); OrderByImpl orderBy = new OrderByImpl(new String[] {"a"}, sqlPart); /* When */ SqlPart result = orderBy.previous(); /* Then */ assertThat(result, is(sqlPart)); }
@Test public void prependTo_withMultipleItems_prependsProperSql() { /* Given */ OrderByImpl orderBy = new OrderByImpl(new String[] {"a", "b", "c"}, mock(SqlPart.class)); RawSqlBuilder builder = new RawSqlBuilderImpl(); /* When */ orderBy.prependTo(builder); /* Then */ assertThat(builder.toString(), is("ORDER BY a,b,c")); }
@NotNull @Override public OrderBy orderBy(@NotNull final String... terms) { return new OrderByImpl(terms, this); }
@NotNull @Override public OrderBy orderBy(@NotNull final String... terms) { return new OrderByImpl(terms, this); }
@Test(expected = IllegalArgumentException.class) public void instantiating_withEmptyTerms_throwsException() { /* When */ //noinspection ResultOfObjectAllocationIgnored new OrderByImpl(new String[0], mock(SqlPart.class)); }