@@ -0,0 +1,3567 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one or more%0A * contributor license agreements.  See the NOTICE file distributed with%0A * this work for additional information regarding copyright ownership.%0A * The ASF licenses this file to You under the Apache License, Version 2.0%0A * (the %22License%22); you may not use this file except in compliance with%0A * the License.  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 */%0A%0Apackage org.apache.shardingsphere.infra.rewrite.sql.token.generator.builder;%0A%0Aimport org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;%0Aimport org.apache.shardingsphere.infra.binder.statement.dal.ShowColumnsStatementContext;%0Aimport org.apache.shardingsphere.infra.binder.statement.dal.ShowTableStatusStatementContext;%0Aimport org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext;%0Aimport org.apache.shardingsphere.infra.rewrite.sql.token.generator.SQLTokenGenerator;%0Aimport org.apache.shardingsphere.infra.rewrite.sql.token.generator.generic.RemoveTokenGenerator;%0Aimport org.junit.Test;%0A%0Aimport java.util.Collection;%0Aimport java.util.Iterator;%0A%0Aimport static org.hamcrest.CoreMatchers.instanceOf;%0Aimport static org.hamcrest.CoreMatchers.is;%0Aimport static org.junit.Assert.assertThat;%0Aimport static org.mockito.Mockito.RETURNS_DEEP_STUBS;%0Aimport static org.mockito.Mockito.mock;%0Aimport static org.mockito.Mockito.when;%0A%0Apublic final class DefaultTokenGeneratorBuilderTest %7B%0A%0A    @Test%0A    public void assertGetSQLTokenGeneratorsWithShowTableStatus() %7B%0A        ShowTableStatusStatementContext sqlStatementContext = mock(ShowTableStatusStatementContext.class, RETURNS_DEEP_STUBS);%0A        when(sqlStatementContext.getRemoveSegments().isEmpty()).thenReturn(false);%0A        assertGetSQLTokenGenerators(sqlStatementContext);%0A    %7D%0A%0A    @Test%0A    public void assertGetSQLTokenGeneratorsWithSelect() %7B%0A        SelectStatementContext sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);%0A        when(sqlStatementContext.getTablesContext().getSchemaName().isPresent()).thenReturn(true);%0A        assertGetSQLTokenGenerators(sqlStatementContext);%0A    %7D%0A%0A    @Test%0A    public void assertGetSQLTokenGeneratorsWithShowColumns() %7B%0A        ShowColumnsStatementContext sqlStatementContext = mock(ShowColumnsStatementContext.class, RETURNS_DEEP_STUBS);%0A        when(sqlStatementContext.getRemoveSegments().isEmpty()).thenReturn(false);%0A        when(sqlStatementContext.getTablesContext().getSchemaName().isPresent()).thenReturn(true);%0A        assertGetSQLTokenGenerators(sqlStatementContext);%0A    %7D%0A%0A    private void assertGetSQLTokenGenerators(final SQLStatementContext sqlStatementContext) %7B%0A        DefaultTokenGeneratorBuilder defaultTokenGeneratorBuilder = new DefaultTokenGeneratorBuilder(sqlStatementContext);%0A        Collection%3CSQLTokenGenerator%3E sqlTokenGenerators = defaultTokenGeneratorBuilder.getSQLTokenGenerators();%0A        assertThat(sqlTokenGenerators.size(), is(1));%0A        Iterator%3CSQLTokenGenerator%3E iterator = sqlTokenGenerators.iterator();%0A        SQLTokenGenerator removeTokenGenerator = iterator.next();%0A        assertThat(removeTokenGenerator, instanceOf(RemoveTokenGenerator.class));%0A    %7D%0A%7D%0A

Add unit test for DefaultTokenGeneratorBuilder#getSQLTokenGenerators (#15015)