@Override
    public void check(final String databaseName, final ReadwriteSplittingRuleConfiguration ruleConfig, final Map<String, DataSource> dataSourceMap, final Collection<ShardingSphereRule> builtRules) {
        checkDataSources(databaseName, ruleConfig.getDataSourceGroups(), dataSourceMap, builtRules);
        checkLoadBalancer(databaseName, ruleConfig);
    }
@SuppressWarnings({"rawtypes", "unchecked"})
    @Test
    void assertCheckWhenConfigOtherRulesDatasource() {
        ReadwriteSplittingRuleConfiguration config = createContainsOtherRulesDatasourceConfiguration();
        RuleConfigurationChecker checker = OrderedSPILoader.getServicesByClass(RuleConfigurationChecker.class, Collections.singleton(config.getClass())).get(config.getClass());
        ShardingSphereRule rule = mock(ShardingSphereRule.class);
        DataSourceMapperRuleAttribute ruleAttribute = mock(DataSourceMapperRuleAttribute.class, RETURNS_DEEP_STUBS);
        when(ruleAttribute.getDataSourceMapper().containsKey("otherDatasourceName")).thenReturn(true);
        when(rule.getAttributes()).thenReturn(new RuleAttributes(ruleAttribute));
        checker.check("test", config, mockDataSources(), Collections.singleton(rule));
    }