view test/test.hs @ 10:29d0f605efa9

add updateRootNodeWith
author Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
date Tue, 21 Jan 2014 15:51:34 +0900
parents 947c5cfa4149
children 74a4c7cdc50b
line wrap: on
line source

{-# LANGUAGE OverloadedStrings #-}

import Jungle
import Data.Maybe
import qualified Data.ByteString.Lazy.Char8 as B

jungle = createJungle

tree = do
    a <- createTree jungle "test"
    node <- getRootNode a "test"
    return (add node)

addc path pos node = addNewChildAt node path pos

addchild = 
    (addc [3] 2) . (addc [] 3) . (addc [1,1] 2) . (addc [1,1] 1). (addc [2] 2) . (addc [1] 2) . 
    (addc [2] 1) . (addc [] 2). (addc [1] 1) . (addc [] 1)

adda path key value node = putAttribute node path key value

addattr = 
    (adda [1,1] "key" "value") . (adda [1,1] "test" "test2") .
    (adda [] "root" "node") . (adda [1] "tes" "abc") .
    (adda [3,2] "test" "3-2") . (adda [2,2] "test" "2-2")

add :: Node -> Node
add = addattr . addchild

putNode = putStrLn . drawNode
putAttr = putStrLn . printAttributes 


{-
ghci> :l test.hs
ghci> y <- tree
ghci> putStrLn $ printAttributes y
ghci> putStrLn $ drawNode y
-}