@@ -0,0 +1,2904 @@
+/*%0A * Copyright 2016-2018 shardingsphere.io.%0A * %3Cp%3E%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A * %3C/p%3E%0A */%0A%0Apackage io.shardingsphere.core.parsing.integrate.asserts.token;%0A%0Aimport io.shardingsphere.core.parsing.integrate.asserts.SQLStatementAssertMessage;%0Aimport io.shardingsphere.core.parsing.integrate.jaxb.token.ExpectedSchemaToken;%0Aimport io.shardingsphere.core.parsing.integrate.jaxb.token.ExpectedTokens;%0Aimport io.shardingsphere.core.parsing.parser.token.SQLToken;%0Aimport io.shardingsphere.core.parsing.parser.token.SchemaToken;%0Aimport lombok.RequiredArgsConstructor;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.Collection;%0Aimport java.util.List;%0A%0Aimport static org.hamcrest.CoreMatchers.is;%0Aimport static org.junit.Assert.assertThat;%0A%0A/**%0A * Aggregation token assert.%0A *%0A * @author panjuan%0A */%0A@RequiredArgsConstructor%0Afinal class AggregationDistinctTokenAssert %7B%0A    %0A    private final SQLStatementAssertMessage assertMessage;%0A    %0A    void assertSchemaTokens(final Collection%3CSQLToken%3E actual, final ExpectedTokens expected) %7B%0A        List%3CSchemaToken%3E schemaTokens = getSchemaTokens(actual);%0A        assertThat(assertMessage.getFullAssertMessage(%22Schema tokens size error: %22), schemaTokens.size(), is(expected.getSchemaTokens().size()));%0A        int count = 0;%0A        for (ExpectedSchemaToken each : expected.getSchemaTokens()) %7B%0A            assertSchemaToken(schemaTokens.get(count), each);%0A            count++;%0A        %7D%0A    %7D%0A    %0A    private void assertSchemaToken(final SchemaToken actual, final ExpectedSchemaToken expected) %7B%0A        assertThat(assertMessage.getFullAssertMessage(%22Schema tokens begin position assertion error: %22), actual.getBeginPosition(), is(expected.getBeginPosition()));%0A        assertThat(assertMessage.getFullAssertMessage(%22Schema tokens original literals assertion error: %22), actual.getOriginalLiterals(), is(expected.getOriginalLiterals()));%0A        assertThat(assertMessage.getFullAssertMessage(%22Schema tokens table name assertion error: %22), actual.getTableName(), is(expected.getTableName()));%0A    %7D%0A    %0A    private List%3CSchemaToken%3E getSchemaTokens(final Collection%3CSQLToken%3E actual) %7B%0A        List%3CSchemaToken%3E result = new ArrayList%3C%3E(actual.size());%0A        for (SQLToken each : actual) %7B%0A            if (each instanceof SchemaToken) %7B%0A                result.add((SchemaToken) each);%0A            %7D%0A        %7D%0A        return result;%0A    %7D%0A%7D%0A

add AggregationDistinctTokenAssert