pangraph-0.2.0: test/GraphML.hs
{-# LANGUAGE OverloadedStrings #-}
module GraphML (
graphmlTests
) where
import Test.HUnit
import Pangraph
import Pangraph.GraphML.Parser
import Pangraph.GraphML.Writer
import Pangraph.Examples.SampleGraph
graphmlTests :: [Test]
graphmlTests = [case1, case2]
case1 :: Test
case1 =
let
file :: Maybe Pangraph
file = parse "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
\<graphml xmlns=\"http://graphml.graphdrawing.org/xmlns\"\
\ xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\
\ xsi:schemaLocation=\"http://graphml.graphdrawing.org/xmlns\
\ http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd\">\
\ <graph id=\"G\" edgedefault=\"undirected\">\
\ <node id=\"n0\"/>\
\ <node id=\"n1\"/>\
\ <node id=\"n2\"/>\
\ <edge id=\"e1\" source=\"n0\" target=\"n2\"/>\
\ </graph>\
\</graphml>"
in TestCase $ assertEqual "GraphML Parse case 1" (Just smallGraph) file
case2 :: Test
case2 = TestCase $ assertEqual "GraphML Write case 1" (Just smallGraph) (parse . write $ smallGraph)