@@ -1,5 +1,6 @@
11import ProjectM36.Base
22import ProjectM36.Relation
3+import ProjectM36.RelationalExpression
34import ProjectM36.DateExamples
45import ProjectM36.TupleSet
56import ProjectM36.StaticOptimizer
@@ -13,16 +14,16 @@ main = do
1314 if errors tcounts + failures tcounts > 0 then exitFailure else exitSuccess
1415 where
1516 tests = relationOptTests ++ databaseOptTests
16− optTest optfunc testparams = map (\(name, expr, unopt) -> TestCase $ assertEqual name expr (evalState (optfunc unopt) dateExamples)) $ testparams
17+ optTest optfunc estate testparams = map (\(name, expr, unopt) -> TestCase $ assertEqual name expr (evalState (optfunc unopt) estate)) $ testparams
1718 relvar nam = RelationVariable nam ()
18− relationOptTests = optTest applyStaticRelationalOptimization [
19+ relationOptTests = optTest applyStaticRelationalOptimization (mkRelationalExprState dateExamples) [
1920 ("StaticProject", Right $ relvar "s", Project (AttributeNames (attributeNames suppliersRel)) (relvar "s")),
2021 ("StaticUnion", Right $ relvar "s", Union (relvar "s") (relvar "s")),
2122 ("StaticJoin", Right $ relvar "s", Join (relvar "s") (relvar "s")),
2223 ("StaticRestrictTrue", Right $ relvar "s", Restrict TruePredicate (relvar "s")),
2324 ("StaticRestrictFalse", Right $ MakeStaticRelation (attributes suppliersRel) emptyTupleSet, Restrict (NotPredicate TruePredicate) (relvar "s"))
2425 ]
25− databaseOptTests = optTest applyStaticDatabaseOptimization [
26+ databaseOptTests = optTest applyStaticDatabaseOptimization dateExamples [
2627 ("StaticAssign",
2728 Right $ Assign "z" (relvar "s"),
2829 Assign "z" (Restrict TruePredicate (relvar "s"))