@@ -1,4 +1,5 @@
11import TutorialD.Interpreter.DatabaseContextExpr
2+import TutorialD.Interpreter.TestBase
23import TutorialD.Interpreter
34import TutorialD.Interpreter.Base
45import Test.HUnit
@@ -11,7 +12,6 @@ import ProjectM36.AtomFunctions.Primitive
1112import ProjectM36.DataTypes.Either
1213import ProjectM36.DateExamples
1314import ProjectM36.Base hiding (Finite)
14−import qualified ProjectM36.Base as Base
1515import ProjectM36.TransactionGraph
1616import ProjectM36.Client
1717import ProjectM36.Session
@@ -191,11 +191,6 @@ transactionJumpTest = TestCase $ do
191191 --check that the disconnected transaction does not include "x"
192192 (DisconnectedTransaction _ context') <- disconnectedTransaction sessionId dbconn
193193 assertEqual "ensure x is not present" Nothing (M.lookup "x" (relationVariables context'))
194−
195−maybeFail :: (Show a) => Maybe a -> IO ()
196−maybeFail (Just err) = assertFailure (show err)
197−maybeFail Nothing = return ()
198−
199194--branch from the first transaction and verify that there are two heads
200195transactionBranchTest :: Test
201196transactionBranchTest = TestCase $ do
@@ -251,23 +246,6 @@ inclusionDependencies (InProcessConnection (DisconnectedTransaction _ context))
251246inclusionDependencies _ = error "remote connection used"
252247-}
253248
254−dateExamplesConnection :: NotificationCallback -> IO (SessionId, Connection)
255−dateExamplesConnection callback = do
256− dbconn <- connectProjectM36 (InProcessConnectionInfo NoPersistence callback)
257− let incDeps = Base.inclusionDependencies dateExamples
258− case dbconn of
259− Left err -> error (show err)
260− Right conn -> do
261− eSessionId <- createSessionAtHead "master" conn
262− case eSessionId of
263− Left err -> error (show err)
264− Right sessionId -> do
265− mapM_ (\(rvName,rvRel) -> executeDatabaseContextExpr sessionId conn (Assign rvName (ExistingRelation rvRel))) (M.toList (relationVariables dateExamples))
266− mapM_ (\(idName,incDep) -> executeDatabaseContextExpr sessionId conn (AddInclusionDependency idName incDep)) (M.toList incDeps)
267− --skipping atom functions for now- there are no atom function manipulation operators yet
268− commit sessionId conn >>= maybeFail
269− pure (sessionId, conn)
270−
271249-- test notifications over the InProcessConnection
272250testNotification :: Test
273251testNotification = TestCase $ do
@@ -282,20 +260,7 @@ testNotification = TestCase $ do
282260 check' $ executeDatabaseContextExpr sess conn (Assign "x" (ExistingRelation relationFalse))
283261 check' $ commit sess conn
284262 takeMVar notifmvar
285−
286−executeTutorialD :: SessionId -> Connection -> String -> IO ()
287−executeTutorialD sessionId conn tutd = case parseTutorialD tutd of
288− Left err -> assertFailure (show tutd ++ ": " ++ show err)
289− Right parsed -> do
290− result <- evalTutorialD sessionId conn UnsafeEvaluation parsed
291− case result of
292− QuitResult -> assertFailure "quit?"
293− DisplayResult _ -> assertFailure "display?"
294− DisplayIOResult _ -> assertFailure "displayIO?"
295− DisplayRelationResult _ -> assertFailure "displayrelation?"
296− DisplayErrorResult err -> assertFailure (show err)
297− QuietSuccessResult -> pure ()
298−
263+
299264testTypeConstructors :: Test
300265testTypeConstructors = TestCase $ do
301266 (sessionId, dbconn) <- dateExamplesConnection emptyNotificationCallback