This is an automated email from the ASF dual-hosted git repository.

sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new adde802b70b Refactor SQLCaseAssertContext (#22421)
adde802b70b is described below

commit adde802b70bb7bec29d6f5a502567e7fe4f606e9
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Nov 25 20:24:55 2022 +0800

    Refactor SQLCaseAssertContext (#22421)
---
 .../internal/asserts/SQLCaseAssertContext.java     | 25 ++++++++++------------
 .../internal/asserts/segment/SQLSegmentAssert.java |  4 ++--
 .../segment/expression/ExpressionAssert.java       |  4 ++--
 .../asserts/segment/limit/LimitClauseAssert.java   |  2 +-
 .../segment/parameter/ParameterMarkerAssert.java   |  2 +-
 .../segment/projection/ProjectionAssert.java       |  4 ++--
 .../engine/InternalSQLParserParameterizedIT.java   |  6 +++---
 7 files changed, 22 insertions(+), 25 deletions(-)

diff --git 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/SQLCaseAssertContext.java
 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/SQLCaseAssertContext.java
index 9d75c1f209e..ddc8712a4e9 100644
--- 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/SQLCaseAssertContext.java
+++ 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/SQLCaseAssertContext.java
@@ -19,12 +19,9 @@ package 
org.apache.shardingsphere.test.sql.parser.internal.asserts;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.test.sql.parser.internal.cases.parser.registry.SQLParserTestCasesRegistry;
-import 
org.apache.shardingsphere.test.sql.parser.internal.cases.parser.registry.SQLParserTestCasesRegistryFactory;
 import 
org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCases;
 
-import java.util.Collections;
+import java.util.List;
 
 /**
  * SQL case assert context.
@@ -32,20 +29,20 @@ import java.util.Collections;
 @RequiredArgsConstructor
 public final class SQLCaseAssertContext {
     
-    private static final SQLParserTestCasesRegistry 
SQL_PARSER_TEST_CASES_REGISTRY = 
SQLParserTestCasesRegistryFactory.getInstance().getRegistry();
+    private final String caseId;
     
-    private final SQLCases sqlCasesRegistry;
+    private final String sql;
     
-    private final String sqlCaseId;
+    private final List<String> params;
     
     @Getter
-    private final SQLCaseType sqlCaseType;
+    private final SQLCaseType caseType;
     
     /**
      * Get message text.
      * 
      * @param failureMessage failure message
-     * @return message text
+     * @return got message text
      */
     public String getText(final String failureMessage) {
         StringBuilder result = new StringBuilder(System.lineSeparator());
@@ -57,20 +54,20 @@ public final class SQLCaseAssertContext {
     
     private void appendSQLCaseId(final StringBuilder builder) {
         builder.append("SQL Case ID : ");
-        builder.append(sqlCaseId);
+        builder.append(caseId);
         builder.append(System.lineSeparator());
     }
     
     private void appendSQL(final StringBuilder builder) {
         builder.append("SQL         : ");
-        if (SQLCaseType.Placeholder == sqlCaseType) {
-            builder.append(sqlCasesRegistry.getSQL(sqlCaseId, sqlCaseType, 
Collections.emptyList()));
+        if (SQLCaseType.Placeholder == caseType) {
+            builder.append(sql);
             builder.append(System.lineSeparator());
             builder.append("SQL Params  : ");
-            
builder.append(SQL_PARSER_TEST_CASES_REGISTRY.get(sqlCaseId).getParameters());
+            builder.append(params);
             builder.append(System.lineSeparator());
         } else {
-            builder.append(sqlCasesRegistry.getSQL(sqlCaseId, sqlCaseType, 
SQL_PARSER_TEST_CASES_REGISTRY.get(sqlCaseId).getParameters()));
+            builder.append(sql);
         }
     }
     
diff --git 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/SQLSegmentAssert.java
 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/SQLSegmentAssert.java
index 1e541aeddc6..45080e74178 100644
--- 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/SQLSegmentAssert.java
+++ 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/SQLSegmentAssert.java
@@ -46,12 +46,12 @@ public final class SQLSegmentAssert {
     }
     
     private static void assertStartIndex(final SQLCaseAssertContext 
assertContext, final SQLSegment actual, final ExpectedSQLSegment expected) {
-        int expectedStartIndex = SQLCaseType.Literal == 
assertContext.getSqlCaseType() && null != expected.getLiteralStartIndex() ? 
expected.getLiteralStartIndex() : expected.getStartIndex();
+        int expectedStartIndex = SQLCaseType.Literal == 
assertContext.getCaseType() && null != expected.getLiteralStartIndex() ? 
expected.getLiteralStartIndex() : expected.getStartIndex();
         assertThat(assertContext.getText(String.format("`%s`'s start index 
assertion error: ", actual.getClass().getSimpleName())), 
actual.getStartIndex(), is(expectedStartIndex));
     }
     
     private static void assertStopIndex(final SQLCaseAssertContext 
assertContext, final SQLSegment actual, final ExpectedSQLSegment expected) {
-        int expectedStopIndex = SQLCaseType.Literal == 
assertContext.getSqlCaseType() && null != expected.getLiteralStopIndex() ? 
expected.getLiteralStopIndex() : expected.getStopIndex();
+        int expectedStopIndex = SQLCaseType.Literal == 
assertContext.getCaseType() && null != expected.getLiteralStopIndex() ? 
expected.getLiteralStopIndex() : expected.getStopIndex();
         assertThat(assertContext.getText(String.format("`%s`'s stop index 
assertion error: ", actual.getClass().getSimpleName())), actual.getStopIndex(), 
is(expectedStopIndex));
     }
 }
diff --git 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
index 1730b327c66..cab4bc18737 100644
--- 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
+++ 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
@@ -124,7 +124,7 @@ public final class ExpressionAssert {
             assertNull(assertContext.getText("Actual common expression should 
not exist."), actual);
         } else {
             assertNotNull(assertContext.getText("Actual common expression 
should exist."), actual);
-            String expectedText = SQLCaseType.Literal == 
assertContext.getSqlCaseType() && null != expected.getLiteralText() ? 
expected.getLiteralText() : expected.getText();
+            String expectedText = SQLCaseType.Literal == 
assertContext.getCaseType() && null != expected.getLiteralText() ? 
expected.getLiteralText() : expected.getText();
             assertThat(assertContext.getText("Common expression text assertion 
error: "), actual.getText(), is(expectedText));
             SQLSegmentAssert.assertIs(assertContext, actual, expected);
         }
@@ -296,7 +296,7 @@ public final class ExpressionAssert {
     public static void assertFunction(final SQLCaseAssertContext 
assertContext, final FunctionSegment actual, final ExpectedFunction expected) {
         SQLSegmentAssert.assertIs(assertContext, actual, expected);
         assertThat(assertContext.getText("Function method name assertion 
error: "), actual.getFunctionName(), is(expected.getFunctionName()));
-        String expectedText = SQLCaseType.Literal == 
assertContext.getSqlCaseType() && null != expected.getLiteralText()
+        String expectedText = SQLCaseType.Literal == 
assertContext.getCaseType() && null != expected.getLiteralText()
                 ? expected.getLiteralText()
                 : expected.getText();
         assertThat(assertContext.getText("Function text name assertion error: 
"), actual.getText(), is(expectedText));
diff --git 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/limit/LimitClauseAssert.java
 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/limit/LimitClauseAssert.java
index 400326427f0..fb99ef07461 100644
--- 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/limit/LimitClauseAssert.java
+++ 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/limit/LimitClauseAssert.java
@@ -70,7 +70,7 @@ public final class LimitClauseAssert {
             assertNull(assertContext.getText("Row count should not exist."), 
expected);
             return;
         }
-        if (SQLCaseType.Placeholder == assertContext.getSqlCaseType()) {
+        if (SQLCaseType.Placeholder == assertContext.getCaseType()) {
             assertThat(assertContext.getText("Row count index assertion error: 
"),
                     ((ParameterMarkerPaginationValueSegment) 
actual).getParameterIndex(), is(expected.getParameterIndex()));
         } else {
diff --git 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
index 63978cd07b9..0573db2b621 100644
--- 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
+++ 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/parameter/ParameterMarkerAssert.java
@@ -39,7 +39,7 @@ public final class ParameterMarkerAssert {
      * @param expected expected parameter markers count
      */
     public static void assertCount(final SQLCaseAssertContext assertContext, 
final int actual, final int expected) {
-        if (SQLCaseType.Placeholder == assertContext.getSqlCaseType()) {
+        if (SQLCaseType.Placeholder == assertContext.getCaseType()) {
             assertThat(assertContext.getText("Parameter markers count 
assertion error: "), actual, is(expected));
         } else {
             assertThat(assertContext.getText("Parameter markers count 
assertion error: "), actual, is(0));
diff --git 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/projection/ProjectionAssert.java
 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/projection/ProjectionAssert.java
index c4ef6481c71..9bd9090ad26 100644
--- 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/projection/ProjectionAssert.java
+++ 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/projection/ProjectionAssert.java
@@ -115,7 +115,7 @@ public final class ProjectionAssert {
     
     private static void assertSubqueryProjection(final SQLCaseAssertContext 
assertContext, final SubqueryProjectionSegment actual, final 
ExpectedSubqueryProjection expected) {
         assertThat(assertContext.getText("Subquery projection alias assertion 
error: "), actual.getAlias().orElse(null), is(expected.getAlias()));
-        String expectedText = SQLCaseType.Literal == 
assertContext.getSqlCaseType() && null != expected.getLiteralText() ? 
expected.getLiteralText() : expected.getText();
+        String expectedText = SQLCaseType.Literal == 
assertContext.getCaseType() && null != expected.getLiteralText() ? 
expected.getLiteralText() : expected.getText();
         assertThat(assertContext.getText("Subquery projection text assertion 
error: "), actual.getText(), is(expectedText));
         SelectStatementAssert.assertIs(assertContext, 
actual.getSubquery().getSelect(), expected.getSubquery().getSelectTestCases());
     }
@@ -154,7 +154,7 @@ public final class ProjectionAssert {
     private static void assertExpressionProjection(final SQLCaseAssertContext 
assertContext, final ExpressionProjectionSegment actual, final 
ExpectedExpressionProjection expected) {
         assertThat(assertContext.getText("Expression projection alias 
assertion error: "),
                 actual.getAlias().orElse(null), is(expected.getAlias()));
-        String expectedText = SQLCaseType.Literal == 
assertContext.getSqlCaseType() && null != expected.getLiteralText()
+        String expectedText = SQLCaseType.Literal == 
assertContext.getCaseType() && null != expected.getLiteralText()
                 ? expected.getLiteralText()
                 : expected.getText();
         assertThat(assertContext.getText("Expression projection text assertion 
error: "),
diff --git 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
index 255861e9ff7..63d773ae6a0 100644
--- 
a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
+++ 
b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/engine/InternalSQLParserParameterizedIT.java
@@ -29,8 +29,8 @@ import 
org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.st
 import 
org.apache.shardingsphere.test.sql.parser.internal.cases.parser.registry.SQLParserTestCasesRegistry;
 import 
org.apache.shardingsphere.test.sql.parser.internal.cases.parser.registry.SQLParserTestCasesRegistryFactory;
 import 
org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCaseType;
-import 
org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.SQLCasesRegistry;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.sql.SQLCases;
+import 
org.apache.shardingsphere.test.sql.parser.internal.cases.sql.registry.SQLCasesRegistry;
 import org.junit.Test;
 
 import java.util.Arrays;
@@ -67,10 +67,10 @@ public abstract class InternalSQLParserParameterizedIT {
     
     @Test
     public final void assertSupportedSQL() {
-        SQLParserTestCase expected = 
SQL_PARSER_TEST_CASES_REGISTRY.get(sqlCaseId);
         String sql = SQL_CASES.getSQL(sqlCaseId, sqlCaseType, 
SQL_PARSER_TEST_CASES_REGISTRY.get(sqlCaseId).getParameters());
         SQLStatement actual = parseSQLStatement("H2".equals(databaseType) ? 
"MySQL" : databaseType, sql);
-        SQLStatementAssert.assertIs(new SQLCaseAssertContext(SQL_CASES, 
sqlCaseId, sqlCaseType), actual, expected);
+        SQLParserTestCase expected = 
SQL_PARSER_TEST_CASES_REGISTRY.get(sqlCaseId);
+        SQLStatementAssert.assertIs(new SQLCaseAssertContext(sqlCaseId, sql, 
expected.getParameters(), sqlCaseType), actual, expected);
     }
     
     private SQLStatement parseSQLStatement(final String databaseType, final 
String sql) {

Reply via email to