hgraph-1.2.0.0: tests/Graph/AdjacencyMap.hs
module Main where
import HGraph.Undirected.AdjacencyMap
import qualified Data.Map as M
import Data.List
import Test.HUnit hiding (Node)
import System.Exit (exitFailure, exitSuccess)
tests = TestList
[ TestLabel "No edges 1" $ TestCase
( do
let g = addVertex emptyGraph 1
assertEqual "0" 0 (degree g 1)
assertEqual "[1]" [[1]] (connectedComponents g)
)
, TestLabel "No edges 2" $ TestCase
( do
let g = foldr (flip addVertex) emptyGraph [1,2,3,4,5,6]
assertEqual "1 2 3 4 5 6" [[1], [2], [3], [4], [5], [6]] (connectedComponents g)
)
, TestLabel "Path 1" $ TestCase
( do
let g = addEdge (foldr (flip addVertex) emptyGraph [1,2]) (1,2)
assertEqual "deg(1) = 1" 1 (degree g 1)
assertEqual "" [[1,2]] (map sort $ connectedComponents g)
assertEqual "" [1,2] (sort $ metaBfs g 1 id)
)
]
main = do
count <- runTestTT tests
if errors count + failures count > 0 then exitFailure else exitSuccess