-- Do not edit! Automatically created with doctest-extract from src/Data/Array/Comfort/Shape.hs {-# LINE 142 "src/Data/Array/Comfort/Shape.hs" #-} module DocTest.Data.Array.Comfort.Shape where import Test.DocTest.Base import qualified Test.DocTest.Driver as DocTest {-# LINE 143 "src/Data/Array/Comfort/Shape.hs" #-} import qualified Data.Array.Comfort.Storable as Array import qualified Data.Array.Comfort.Shape as Shape import qualified Data.IntMap as IntMap import qualified Data.IntSet as IntSet import qualified Data.Map as Map import qualified Data.Set as Set import Data.Array.Comfort.Storable ((!)) import Data.Array.Comfort.Shape ((::+)((::+))) import Data.Int (Int16) import qualified Test.QuickCheck as QC import Test.ChasingBottoms.IsBottom (isBottom) import Control.Applicative (liftA3) import Control.DeepSeq (rnf) test :: DocTest.T () test = do DocTest.printPrefix "Data.Array.Comfort.Shape:273: " {-# LINE 273 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 273 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices () ) [ExpectedLine [LineChunk "[()]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:296: " {-# LINE 296 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 296 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.ZeroBased (7::Int)) ) [ExpectedLine [LineChunk "[0,1,2,3,4,5,6]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:357: " {-# LINE 357 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 357 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.OneBased (7::Int)) ) [ExpectedLine [LineChunk "[1,2,3,4,5,6,7]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:415: " {-# LINE 415 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 415 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.Range (-5) (5::Int)) ) [ExpectedLine [LineChunk "[-5,-4,-3,-2,-1,0,1,2,3,4,5]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:417: " {-# LINE 417 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 417 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.Range (-1,-1) (1::Int,1::Int)) ) [ExpectedLine [LineChunk "[(-1,-1),(-1,0),(-1,1),(0,-1),(0,0),(0,1),(1,-1),(1,0),(1,1)]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:468: " {-# LINE 468 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 468 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.Interval (-3) (5::Int)) ) [ExpectedLine [LineChunk "[-3,-2,-1,0,1,2,3,4,5]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:523: " {-# LINE 523 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 523 "src/Data/Array/Comfort/Shape.hs" #-} Shape.intervalNegate (Shape.Interval (-3) (5::Int)) ) [ExpectedLine [LineChunk "Interval {",WildCardChunk,LineChunk " -5, ",WildCardChunk,LineChunk " 3}"]] DocTest.printPrefix "Data.Array.Comfort.Shape:526: " {-# LINE 526 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 526 "src/Data/Array/Comfort/Shape.hs" #-} \x y -> let shape = Shape.Interval (min x y) (max x (y::Int)) in Shape.indices (Shape.intervalNegate shape) == reverse (map negate (Shape.indices shape)) ) DocTest.printPrefix "Data.Array.Comfort.Shape:533: " {-# LINE 533 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 533 "src/Data/Array/Comfort/Shape.hs" #-} \x y -> let shape = Shape.Interval (min x y) (max x (y::Int)) in Shape.intervalNegate (Shape.intervalNegate shape) == shape ) DocTest.printPrefix "Data.Array.Comfort.Shape:542: " {-# LINE 542 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 542 "src/Data/Array/Comfort/Shape.hs" #-} \(QC.NonNegative n) -> let shape = Shape.ZeroBased (n::Int) in Shape.size (Shape.intervalFromZeroBased shape) == Shape.size shape ) DocTest.printPrefix "Data.Array.Comfort.Shape:551: " {-# LINE 551 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 551 "src/Data/Array/Comfort/Shape.hs" #-} \(QC.NonNegative n) -> let shape = Shape.OneBased (n::Int) in Shape.size (Shape.intervalFromOneBased shape) == Shape.size shape ) DocTest.printPrefix "Data.Array.Comfort.Shape:560: " {-# LINE 560 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 560 "src/Data/Array/Comfort/Shape.hs" #-} \x (QC.NonNegative y) -> let shape = Shape.Shifted x (y::Int) in Shape.size (Shape.intervalFromShifted shape) == Shape.size shape ) DocTest.printPrefix "Data.Array.Comfort.Shape:573: " {-# LINE 573 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 573 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.Shifted (-4) (8::Int)) ) [ExpectedLine [LineChunk "[-4,-3,-2,-1,0,1,2,3]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:634: " {-# LINE 634 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 634 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.shiftedNegate (Shape.Shifted (-3) (5::Int))) ) [ExpectedLine [LineChunk "[-1,0,1,2,3]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:637: " {-# LINE 637 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 637 "src/Data/Array/Comfort/Shape.hs" #-} \x (QC.NonNegative y) -> let shape = Shape.Shifted x (y::Int) in Shape.indices (Shape.shiftedNegate shape) == reverse (map negate (Shape.indices shape)) ) DocTest.printPrefix "Data.Array.Comfort.Shape:644: " {-# LINE 644 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 644 "src/Data/Array/Comfort/Shape.hs" #-} \x (QC.NonNegative y) -> let shape = Shape.Shifted x (y::Int) in Shape.shiftedNegate (Shape.shiftedNegate shape) == shape ) DocTest.printPrefix "Data.Array.Comfort.Shape:653: " {-# LINE 653 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 653 "src/Data/Array/Comfort/Shape.hs" #-} \(QC.NonNegative n) -> let shape = Shape.ZeroBased (n::Int) in Shape.size (Shape.shiftedFromZeroBased shape) == Shape.size shape ) DocTest.printPrefix "Data.Array.Comfort.Shape:662: " {-# LINE 662 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 662 "src/Data/Array/Comfort/Shape.hs" #-} \(QC.NonNegative n) -> let shape = Shape.OneBased (n::Int) in Shape.size (Shape.shiftedFromOneBased shape) == Shape.size shape ) DocTest.printPrefix "Data.Array.Comfort.Shape:671: " {-# LINE 671 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 671 "src/Data/Array/Comfort/Shape.hs" #-} \x y -> let shape = Shape.Interval (min x y) (max x (y::Int)) in Shape.size (Shape.shiftedFromInterval shape) == Shape.size shape ) DocTest.printPrefix "Data.Array.Comfort.Shape:739: " {-# LINE 739 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 739 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.Enumeration :: Shape.Enumeration Ordering) ) [ExpectedLine [LineChunk "[LT,EQ,GT]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:803: " {-# LINE 803 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 803 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Set.fromList "comfort") ) [ExpectedLine [LineChunk "\"cfmort\""]] DocTest.printPrefix "Data.Array.Comfort.Shape:834: " {-# LINE 834 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 834 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (IntSet.fromList [3,1,4,1,5,9,2,6,5,3]) ) [ExpectedLine [LineChunk "[1,2,3,4,5,6,9]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:867: " {-# LINE 867 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 867 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ fmap Shape.ZeroBased $ Map.fromList [('b', (0::Int)), ('a', 5), ('c', 2)] ) [ExpectedLine [LineChunk "[('a',0),('a',1),('a',2),('a',3),('a',4),('c',0),('c',1)]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:924: " {-# LINE 924 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 924 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ IntMap.fromList [(2, Set.fromList "abc"), (0, Set.fromList "a"), (1, Set.fromList "d")] ) [ExpectedLine [LineChunk "[(0,'a'),(1,'d'),(2,'a'),(2,'b'),(2,'c')]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:981: " {-# LINE 981 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 981 "src/Data/Array/Comfort/Shape.hs" #-} let sh2 = (Shape.ZeroBased (2::Int), Shape.ZeroBased (2::Int)) in let sh3 = (Shape.ZeroBased (3::Int), Shape.ZeroBased (3::Int)) in (Shape.offset sh3 $ Shape.indexFromOffset sh2 3, Shape.offset (Shape.Deferred sh3) $ Shape.indexFromOffset (Shape.Deferred sh2) 3) ) [ExpectedLine [LineChunk "(4,3)"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1085: " {-# LINE 1085 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1085 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.ZeroBased (3::Int), Shape.ZeroBased (3::Int)) ) [ExpectedLine [LineChunk "[(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1207: " {-# LINE 1207 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1207 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.Square $ Shape.ZeroBased (3::Int) ) [ExpectedLine [LineChunk "[(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1264: " {-# LINE 1264 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1264 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.Cube $ Shape.ZeroBased (2::Int) ) [ExpectedLine [LineChunk "[(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1326: " {-# LINE 1326 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1326 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.Triangular Shape.Upper $ Shape.ZeroBased (3::Int) ) [ExpectedLine [LineChunk "[(0,0),(0,1),(0,2),(1,1),(1,2),(2,2)]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1328: " {-# LINE 1328 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1328 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.Triangular Shape.Lower $ Shape.ZeroBased (3::Int) ) [ExpectedLine [LineChunk "[(0,0),(1,0),(1,1),(2,0),(2,1),(2,2)]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1460: " {-# LINE 1460 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1460 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.simplexAscending (replicate 3 Shape.AllDistinct) $ Shape.ZeroBased (4::Int) ) [ExpectedLine [LineChunk "[[0,1,2],[0,1,3],[0,2,3],[1,2,3]]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1462: " {-# LINE 1462 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1462 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.simplexAscending (replicate 3 Shape.SomeRepetitive) $ Shape.ZeroBased (3::Int) ) [ExpectedLine [LineChunk "[[0,0,0],[0,0,1],[0,0,2],[0,1,1],[0,1,2],[0,2,2],[1,1,1],[1,1,2],[1,2,2],[2,2,2]]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1464: " {-# LINE 1464 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1464 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.simplexAscending [Shape.Repetitive,Shape.Distinct,Shape.Repetitive] $ Shape.ZeroBased (4::Int) ) [ExpectedLine [LineChunk "[[0,0,1],[0,0,2],[0,0,3],[0,1,2],[0,1,3],[0,2,3],[1,1,2],[1,1,3],[1,2,3],[2,2,3]]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1466: " {-# LINE 1466 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1466 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.simplexAscending [Shape.Repetitive,Shape.Distinct,Shape.Distinct] $ Shape.ZeroBased (4::Int) ) [ExpectedLine [LineChunk "[[0,0,1],[0,0,2],[0,0,3],[0,1,2],[0,1,3],[0,2,3],[1,1,2],[1,1,3],[1,2,3],[2,2,3]]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1469: " {-# LINE 1469 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1469 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.simplexDescending (replicate 3 Shape.AllDistinct) $ Shape.ZeroBased (4::Int) ) [ExpectedLine [LineChunk "[[2,1,0],[3,1,0],[3,2,0],[3,2,1]]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1471: " {-# LINE 1471 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1471 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.simplexDescending (replicate 3 Shape.SomeRepetitive) $ Shape.ZeroBased (3::Int) ) [ExpectedLine [LineChunk "[[0,0,0],[1,0,0],[1,1,0],[1,1,1],[2,0,0],[2,1,0],[2,1,1],[2,2,0],[2,2,1],[2,2,2]]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1473: " {-# LINE 1473 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1473 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.simplexDescending [Shape.Repetitive,Shape.Distinct,Shape.Repetitive] $ Shape.ZeroBased (4::Int) ) [ExpectedLine [LineChunk "[[1,1,0],[2,1,0],[2,2,0],[2,2,1],[3,1,0],[3,2,0],[3,2,1],[3,3,0],[3,3,1],[3,3,2]]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1475: " {-# LINE 1475 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1475 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices $ Shape.simplexDescending [Shape.Repetitive,Shape.Distinct,Shape.Distinct] $ Shape.ZeroBased (4::Int) ) [ExpectedLine [LineChunk "[[1,1,0],[2,1,0],[2,2,0],[2,2,1],[3,1,0],[3,2,0],[3,2,1],[3,3,0],[3,3,1],[3,3,2]]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1709: " {-# LINE 1709 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.property( {-# LINE 1709 "src/Data/Array/Comfort/Shape.hs" #-} let shape = Shape.Cyclic (10::Int) in Shape.offset shape (-1) == Shape.offset shape 9 ) DocTest.printPrefix "Data.Array.Comfort.Shape:1714: " {-# LINE 1714 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1714 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.Cyclic (7::Int)) ) [ExpectedLine [LineChunk "[0,1,2,3,4,5,6]"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1761: " {-# LINE 1761 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1761 "src/Data/Array/Comfort/Shape.hs" #-} Shape.indices (Shape.ZeroBased (3::Int) ::+ Shape.Range 'a' 'c') ) [ExpectedLine [LineChunk "[Left 0,Left 1,Left 2,Right 'a',Right 'b',Right 'c']"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1848: " {-# LINE 1848 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1848 "src/Data/Array/Comfort/Shape.hs" #-} rnf (Shape.NestedTuple (Shape.Element 1, Shape.Element 2)) ) [ExpectedLine [LineChunk "()"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1850: " {-# LINE 1850 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1850 "src/Data/Array/Comfort/Shape.hs" #-} rnf (Shape.NestedTuple (Shape.Element 1, (Shape.Element 2, Shape.Element 3))) ) [ExpectedLine [LineChunk "()"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1852: " {-# LINE 1852 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1852 "src/Data/Array/Comfort/Shape.hs" #-} isBottom $ rnf (Shape.NestedTuple (Shape.Element undefined, Shape.Element 2)) ) [ExpectedLine [LineChunk "True"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1854: " {-# LINE 1854 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1854 "src/Data/Array/Comfort/Shape.hs" #-} isBottom $ rnf (Shape.NestedTuple (Shape.Element undefined, (Shape.Element 2, Shape.Element 3))) ) [ExpectedLine [LineChunk "True"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1856: " {-# LINE 1856 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1856 "src/Data/Array/Comfort/Shape.hs" #-} isBottom $ rnf (Shape.NestedTuple (Shape.Element 1, (Shape.Element undefined, Shape.Element 3))) ) [ExpectedLine [LineChunk "True"]] DocTest.printPrefix "Data.Array.Comfort.Shape:1858: " {-# LINE 1858 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 1858 "src/Data/Array/Comfort/Shape.hs" #-} isBottom $ rnf (Shape.NestedTuple (Shape.Element 1, (Shape.Element 2, Shape.Element undefined))) ) [ExpectedLine [LineChunk "True"]] DocTest.printPrefix "Data.Array.Comfort.Shape:2074: " {-# LINE 2074 "src/Data/Array/Comfort/Shape.hs" #-} DocTest.example( {-# LINE 2074 "src/Data/Array/Comfort/Shape.hs" #-} let (shape,(_x,y,z)) = Shape.construct $ liftA3 (,,) Shape.consIndex (Shape.consShape (Shape.static :: Shape.Enumeration Ordering)) Shape.consIndex arr = Array.fromList shape [0..(4::Int16)] in (arr ! y EQ, arr ! z) ) [ExpectedLine [LineChunk "(2,4)"]]