diff --git a/README.md b/README.md index d57ecf8bf51bb80224103b34158520ccf95473c5..ce37a47487f91b8f52f632d20ceb40522a6cfd7f 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,16 @@ mvn test + +## test integration (manual invocation) + +for person vplit scenario: + + mvn -Dtest=PersonVSplitScenarioTI test + +for sakila scenario (it requires postgres db access and configuration): + + mvn -Dtest=SakilaScenarioTI test ## edit diff --git a/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt b/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt index 58eab26d73ebf5e7f769fa816c128ff967e59901..4a330a02f7209105d0504cc526c76f50346fc68e 100644 --- a/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt +++ b/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt @@ -18,9 +18,9 @@ class PersonVSplitScenario { personTable.name= "person" val colSSN = Column("SSN", "id.SSN", "dbname.SSN") personTable.columns.add(colSSN) - val colT = Column("T", "id.SSN", "dbname.SSN") + val colT = Column("T", "id.T", "dbname.T") personTable.columns.add(colT) - val colS = Column("S", "id.SSN", "dbname.SSN") + val colS = Column("S", "id.S", "dbname.S") personTable.columns.add(colS) db.schema.tables.add(personTable) val primaryConstraint = Constraint() @@ -52,6 +52,29 @@ class PersonVSplitScenario { } private fun apply(personMetadata: Database, detected: UseCaseResult<Database>): UseCaseResult<Database>{ + // pure person + val table = Table() + table.name= "pure_person" + personMetadata.schema.tables.add(table) + val colSSN = Column("SSN", "id.SSN", "dbname.SSN") + table.columns.add(colSSN) + + // person with only telephone + val tableWithT = Table() + tableWithT.name= "person_with_T" + personMetadata.schema.tables.add(tableWithT) + val colT = Column("T", "id.T", "dbname.T") + tableWithT.columns.add(colSSN) + tableWithT.columns.add(colT) + + // person with only telephone + val tableWithS = Table() + tableWithS.name= "person_with_S" + personMetadata.schema.tables.add(tableWithS) + val colS = Column("S", "id.S", "dbname.S") + tableWithS.columns.add(colSSN) + tableWithS.columns.add(colS) + return UseCaseResult("done apply", personMetadata) } } \ No newline at end of file diff --git a/src/test/kotlin/unibz.cs.semint.kprime/scenario/SakilaScenarioTI.kt b/src/test/kotlin/unibz.cs.semint.kprime/scenario/SakilaScenarioTI.kt new file mode 100644 index 0000000000000000000000000000000000000000..e8181a7a5930e4c672470d8326a40b69be4948bd --- /dev/null +++ b/src/test/kotlin/unibz.cs.semint.kprime/scenario/SakilaScenarioTI.kt @@ -0,0 +1,16 @@ +package unibz.cs.semint.kprime.scenario + +import org.junit.Test + +class SakilaScenarioTI { + + @Test + fun test_sakila_scenario() { + // given + val sakilaScenario = SakilaScenario() + // when + sakilaScenario.run() + // then + // prints manipulated sakila database + } +} \ No newline at end of file