packages feed

algebraic-edge-graphs-0.1.0: test/Test/IntAdjacencyMap.hs

{-# LANGUAGE TypeApplications #-}

module Test.IntAdjacencyMap (testIntAdjacencyMap) where

import Testable.Graph
import Testable.AdjacencyGraph
import Testable.Instances ()
import Arbitrary ()
import EdgeGraph.IntAdjacencyMap (IntAdjacencyMap)

type G = IntAdjacencyMap

testIntAdjacencyMap :: IO ()
testIntAdjacencyMap = do
  putStrLn "\n============ IntAdjacencyMap ============"

  -- Shared test groups (TestableGraph)
  testAxiomsGroup @G
  testEmptyGroup @G
  testEdgeGroup @G
  testOverlayGroup @G
  testIntoGroup @G
  testEdgesGroup @G
  testIsSubgraphOfGroup @G
  testIsEmptyGroup @G
  testHasEdgeGroup @G
  testEdgeCountGroup @G
  testNodeCountGroup @G
  testEdgeListGroup @G
  testEdgeSetGroup @G
  testEdgeIntSetGroup @G
  testPathGroup @G
  testCircuitGroup @G
  testCliqueGroup @G
  testBicliqueGroup @G
  testFlowerGroup @G
  testNodeGroup @G
  testRemoveEdgeGroup @G
  testReplaceEdgeGroup @G
  testGmapGroup @G
  testInduceGroup @G

  -- Shared test groups (TestableAdjacencyGraph)
  testConsistentGroup @G
  testPostsetGroup @G
  testPresetGroup @G
  testDfsForestGroup @G
  testTopSortGroup @G
  testIsTopSortGroup @G
  testDetachPitGroup @G
  testDetachTipGroup @G
  testToFromIncidenceGroup @G
  testAdjacencyEdgeGroup @G
  testAdjacencyConnectGroup @G