@Override
    public SingleRuleConfiguration buildToBeCreatedRuleConfiguration(final LoadSingleTableStatement sqlStatement) {
        SingleRuleConfiguration result = new SingleRuleConfiguration();
        if (null != rule) {
            result.getTables().addAll(rule.getConfiguration().getTables());
        }
        result.getTables().addAll(getRequiredTables(sqlStatement));
        return result;
    }
@Test
    void assertUpdate() {
        Collection<String> currentTables = new LinkedList<>(Collections.singletonList("ds_0.foo"));
        SingleRuleConfiguration currentConfig = new SingleRuleConfiguration(currentTables, null);
        LoadSingleTableStatement sqlStatement = new LoadSingleTableStatement(Collections.singletonList(new SingleTableSegment("ds_0", null, "bar")));
        SingleRule rule = mock(SingleRule.class);
        when(rule.getConfiguration()).thenReturn(currentConfig);
        executor.setRule(rule);
        SingleRuleConfiguration toBeCreatedConfig = executor.buildToBeCreatedRuleConfiguration(sqlStatement);
        Iterator<String> iterator = toBeCreatedConfig.getTables().iterator();
        assertThat(iterator.next(), is("ds_0.foo"));
        assertThat(iterator.next(), is("ds_0.bar"));
    }