module Main where import HUnit import AdjacencyList g = adj_list 5 [(0,1),(1,2),(1,3),(3,4),(0,4)] test1 = TestCase (assertBool "(elem (vertex 0) [ v | v <- vertices g ])" (elem (vertex 0) [ v | v <- vertices g ])) test2 = TestCase (assertBool "(elem (vertex 4) [ v | v <- vertices g ])" (elem (vertex 4) [ v | v <- vertices g ])) test3 = TestCase (assertBool "(elem (vertex 1) [ (tgt e g) | e <- out_edges (vertex 0) g])" (elem (vertex 1) [ (tgt e g) | e <- out_edges (vertex 0) g])) test4 = TestCase (assertBool "(elem (vertex 2) [ (tgt e g) | e <- out_edges (vertex 1) g])" (elem (vertex 2) [ (tgt e g) | e <- out_edges (vertex 1) g])) test5 = TestCase (assertBool "(elem (vertex 3) [ (tgt e g) | e <- out_edges (vertex 1) g])" (elem (vertex 3) [ (tgt e g) | e <- out_edges (vertex 1) g])) test6 = TestCase (assertEqual "5 (num_vertices g)" 5 (num_vertices g)) test7 = TestCase (assertBool "(elem (vertex 4) [ (tgt e g) | e <- out_edges (vertex 0) g])" (elem (vertex 4) [ (tgt e g) | e <- out_edges (vertex 0) g])) tests = TestList [TestLabel "test1" test1, TestLabel "test2" test2, TestLabel "test3" test3, TestLabel "test4" test4, TestLabel "test5" test5, TestLabel "test6" test6, TestLabel "test7" test7 ] main = do runTestTT tests