@Override
    public void check(final String databaseName, final ShadowRuleConfiguration ruleConfig, final Map<String, DataSource> dataSourceMap, final Collection<ShardingSphereRule> builtRules) {
        checkShadowAlgorithms(ruleConfig.getShadowAlgorithms());
        checkDefaultShadowAlgorithmConfiguration(ruleConfig.getDefaultShadowAlgorithmName(), ruleConfig.getShadowAlgorithms());
        checkDataSources(ruleConfig.getDataSources(), dataSourceMap, databaseName);
        checkShadowTableDataSourcesReferences(ruleConfig.getTables(), ruleConfig.getDataSources());
        checkShadowTableAlgorithmsReferences(ruleConfig.getTables(), ruleConfig.getShadowAlgorithms(), databaseName);
    }
@Test
    void assertCheck() {
        new ShadowRuleConfigurationChecker().check("", createShadowRuleConfiguration(), createDataSourceMap(), Collections.emptyList());
    }