package it.unibas.lunatic.test.mc.dbms.basicscenario; import it.unibas.lunatic.Scenario; import it.unibas.lunatic.model.chase.chasemc.DeltaChaseStep; import it.unibas.lunatic.model.chase.commons.operators.ChaserFactoryMC; import it.unibas.lunatic.test.References; import it.unibas.lunatic.test.UtilityTest; import it.unibas.lunatic.test.checker.CheckExpectedSolutionsTest; import junit.framework.Assert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TestSQLPersonsDeps02 extends CheckExpectedSolutionsTest { private static Logger logger = LoggerFactory.getLogger(TestSQLPersonsDeps02.class); public void test02() throws Exception { //FD Multi column String scenarioName = "persons-deps-02"; Scenario scenario = UtilityTest.loadScenarioFromResources(References.persons_deps_02_dbms, true); setConfigurationForTest(scenario); scenario.getConfiguration().setRemoveDuplicates(true); DeltaChaseStep result = ChaserFactoryMC.getChaser(scenario).doChase(scenario); if (logger.isDebugEnabled()) logger.debug("Scenario " + scenarioName); if (logger.isDebugEnabled()) logger.debug(result.toStringWithSort()); if (logger.isDebugEnabled()) logger.debug("Number of solutions: " + resultSizer.getPotentialSolutions(result)); if (logger.isDebugEnabled()) logger.debug("Number of duplicate solutions: " + resultSizer.getDuplicates(result)); Assert.assertEquals(11, resultSizer.getPotentialSolutions(result)); Assert.assertEquals(0, resultSizer.getDuplicates(result)); checkSolutions(result); // exportResults("/Temp/expected-" + scenarioName, result); checkExpectedSolutions("expected-" + scenarioName, result); } public void test02NonSymmetric() throws Exception { //FD Multi column String scenarioName = "persons-deps-02"; Scenario scenario = UtilityTest.loadScenarioFromResources(References.persons_deps_02_dbms, true); setConfigurationForTest(scenario); scenario.getConfiguration().setRemoveDuplicates(true); scenario.getConfiguration().setUseSymmetricOptimization(false); scenario.getConfiguration().setDiscardDuplicateTuples(true); DeltaChaseStep result = ChaserFactoryMC.getChaser(scenario).doChase(scenario); if (logger.isDebugEnabled()) logger.debug("Scenario " + scenarioName); if (logger.isDebugEnabled()) logger.debug(result.toStringWithSort()); if (logger.isDebugEnabled()) logger.debug("Number of solutions: " + resultSizer.getPotentialSolutions(result)); if (logger.isDebugEnabled()) logger.debug("Number of duplicate solutions: " + resultSizer.getDuplicates(result)); Assert.assertEquals(11, resultSizer.getPotentialSolutions(result)); Assert.assertEquals(0, resultSizer.getDuplicates(result)); checkSolutions(result); // exportResults("/Temp/expected-" + scenarioName, result); checkExpectedSolutions("expected-" + scenarioName, result); } }