module Algorithms.Graph.BFSSpec (spec) where import Algorithms.Graph.BFS import Data.Tree import qualified Data.Vector as V import Test.Hspec -------------------------------------------------------------------------------- spec :: Spec spec = it "BFS test" $ bfs' 0 testGr `shouldBe` answer testGr :: V.Vector [Int] testGr = V.fromList [ [1,3, 6] , [2] , [3, 5] , [2 ] , [] , [4, 5] , [7] , [8,4] , [2] ] answer :: Tree Int answer = Node {rootLabel = 0, subForest = [Node {rootLabel = 1, subForest = [Node {rootLabel = 2, subForest = [Node {rootLabel = 5, subForest = []}]}]},Node {rootLabel = 3, subForest = []},Node {rootLabel = 6, subForest = [Node {rootLabel = 7, subForest = [Node {rootLabel = 8, subForest = []},Node {rootLabel = 4, subForest = []}]}]}]}