@Override
    public void check(final EncryptRule encryptRule, final ShardingSphereSchema schema, final SelectStatementContext sqlStatementContext) {
        checkSelect(encryptRule, sqlStatementContext);
        for (SelectStatementContext each : sqlStatementContext.getSubqueryContexts().values()) {
            checkSelect(encryptRule, each);
        }
    }
@Test
    void assertCheckWhenShorthandExpandContainsSubqueryTable() {
        SelectStatementContext sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
        when(sqlStatementContext.containsTableSubquery()).thenReturn(true);
        when(sqlStatementContext.getSqlStatement().getProjections().getProjections()).thenReturn(Collections.singleton(new ShorthandProjectionSegment(0, 0)));
        assertThrows(UnsupportedSQLOperationException.class, () -> new EncryptSelectProjectionSupportedChecker().check(mockEncryptRule(), null, sqlStatementContext));
    }