diff --git a/examples/Simple/Quicksort.hs b/examples/Simple/Quicksort.hs index 068fd685..904e5ea1 100644 --- a/examples/Simple/Quicksort.hs +++ b/examples/Simple/Quicksort.hs @@ -2,7 +2,7 @@ {-# LANGUAGE NoImplicitPrelude #-} -- | This module implements quicksort with mutable arrays from linear-base -module Simple.Quicksort (quickSort) where +module Simple.Quicksort where import Data.Array.Mutable.Linear (Array) import qualified Data.Array.Mutable.Linear as Array diff --git a/examples/Test/Generic.hs b/examples/Test/Generic.hs deleted file mode 100644 index 9d5f7b4b..00000000 --- a/examples/Test/Generic.hs +++ /dev/null @@ -1,11 +0,0 @@ -module Test.Generic (genericTests) where - -import Generic.Traverse (genericTraverseTests) -import Test.Tasty - -genericTests :: TestTree -genericTests = - testGroup - "Generic tests" - [ genericTraverseTests - ] diff --git a/linear-base.cabal b/linear-base.cabal index 70374215..998b7f76 100644 --- a/linear-base.cabal +++ b/linear-base.cabal @@ -145,6 +145,23 @@ library vector >=0.12.2, primitive +library examples + import: build-opts + hs-source-dirs: examples + exposed-modules: + Foreign.List + Foreign.Heap + Simple.FileIO + Simple.Pure + Simple.Quicksort + Simple.TopSort + build-depends: + base, + linear-base, + storable-tuple, + vector, + text + test-suite test import: build-opts import: rts-opts-multithread @@ -158,6 +175,7 @@ test-suite test Test.Data.Mutable.HashMap Test.Data.Mutable.Set Test.Data.Polarized + Test.Data.Functor.Linear Test.Data.V Test.Data.Replicator default-language: Haskell2010 @@ -171,25 +189,18 @@ test-suite test tasty, tasty-hedgehog >= 1.2, mmorph, - vector + vector, + linear-generics -test-suite examples +test-suite test-examples import: build-opts import: rts-opts-multithread type: exitcode-stdio-1.0 main-is: Main.hs - hs-source-dirs: examples + hs-source-dirs: test-examples other-modules: Test.Foreign - Test.Quicksort - Test.Generic - Foreign.List - Foreign.Heap - Simple.FileIO - Simple.Pure - Simple.Quicksort - Simple.TopSort - Generic.Traverse + Test.Simple.Quicksort default-language: Haskell2010 build-depends: base, @@ -197,12 +208,9 @@ test-suite examples tasty, tasty-hedgehog, hedgehog, - storable-tuple, - vector, - text, - linear-generics + examples -benchmark mutable-data +benchmark bench import: build-opts import: rts-opts-monothread-stats type: exitcode-stdio-1.0 @@ -224,4 +232,5 @@ benchmark mutable-data random-shuffle, tasty-bench >= 0.3, unordered-containers, - MonadRandom + MonadRandom, + examples diff --git a/examples/Main.hs b/test-examples/Main.hs similarity index 64% rename from examples/Main.hs rename to test-examples/Main.hs index b6e91a88..1d0d3925 100644 --- a/examples/Main.hs +++ b/test-examples/Main.hs @@ -1,8 +1,7 @@ module Main where import Test.Foreign (foreignGCTests) -import Test.Generic (genericTests) -import Test.Quicksort (quickSortTests) +import Test.Simple.Quicksort (quickSortTests) import Test.Tasty main :: IO () @@ -13,6 +12,5 @@ allTests = testGroup "All tests" [ foreignGCTests, - quickSortTests, - genericTests + quickSortTests ] diff --git a/examples/Test/Foreign.hs b/test-examples/Test/Foreign.hs similarity index 100% rename from examples/Test/Foreign.hs rename to test-examples/Test/Foreign.hs diff --git a/examples/Test/Quicksort.hs b/test-examples/Test/Simple/Quicksort.hs similarity index 91% rename from examples/Test/Quicksort.hs rename to test-examples/Test/Simple/Quicksort.hs index f6915921..675ca2ee 100644 --- a/examples/Test/Quicksort.hs +++ b/test-examples/Test/Simple/Quicksort.hs @@ -1,6 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} -module Test.Quicksort (quickSortTests) where +module Test.Simple.Quicksort (quickSortTests) where import Data.List (sort) import Hedgehog diff --git a/test/Main.hs b/test/Main.hs index 46490701..8741474b 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -4,6 +4,7 @@ module Main where import Test.Data.Destination (destArrayTests) +import Test.Data.Functor.Linear (genericTests) import Test.Data.Mutable.Array (mutArrTests) import Test.Data.Mutable.HashMap (mutHMTests) import Test.Data.Mutable.Set (mutSetTests) @@ -27,7 +28,8 @@ allTests = mutHMTests, mutSetTests, destArrayTests, - polarizedArrayTests + polarizedArrayTests, + genericTests ], testGroup "Inspection tests" diff --git a/examples/Generic/Traverse.hs b/test/Test/Data/Functor/Linear.hs similarity index 88% rename from examples/Generic/Traverse.hs rename to test/Test/Data/Functor/Linear.hs index 2d8cb18e..e3333a67 100644 --- a/examples/Generic/Traverse.hs +++ b/test/Test/Data/Functor/Linear.hs @@ -10,7 +10,7 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE NoImplicitPrelude #-} -module Generic.Traverse (genericTraverseTests) where +module Test.Data.Functor.Linear (genericTests) where import Data.Functor.Linear (genericTraverse) import qualified Data.Functor.Linear as Data @@ -32,6 +32,13 @@ instance Data.Functor Pair where instance Data.Traversable Pair where traverse = genericTraverse +genericTests :: TestTree +genericTests = + testGroup + "Generic tests" + [ genericTraverseTests + ] + genericTraverseTests :: TestTree genericTraverseTests = testGroup