module QuicQuid.RouterTest(t) where import System.FilePath.Posix import Data.List import Test.HUnit import QuicQuid.Test import QuicQuid.Term import QuicQuid.Router t = runTestTT $ TestList $ map TestCase [t1,t2,t3] where t1 = do -- dns = newRouter root "dns" -- org = newRouter dns "org" -- quicquid = newRouter quicquid "org" (chanIn,chanAdr) <- newNamedEndPoint db1 write chanAdr msg1 r1 <- readMessage chanIn assertEqual "readMessage" (db1,msg1) r1 t2 = do (ch2,adr2) <- newEndPoint "/temp" assertBool "prefix" $ isPrefixOf "/temp/" adr2 write adr2 msg1 r2 <- readMessage ch2 assertEqual "readMessage2" (adr2,msg1) r2 t3 = do (xCh,x) <- newNamedEndPoint "/x" (yCh,y) <- newNamedEndPoint "/x/y" write x msg1 write y msg2 rx <- readMessage xCh ry <- readMessage yCh assertEqual "read /x" (x,msg1) rx assertEqual "read /x/y" (y,msg2) ry db1 = "/dns/org/quicquid/router/test/db1" msg1 = Str "HELLO" msg2 = Str "Hi"