-- Do not edit! Automatically created with doctest-extract from src/Data/Array/Comfort/Shape.hs
{-# LINE 129 "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 130 "src/Data/Array/Comfort/Shape.hs" #-}
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.Shape ((::+)((::+)))

import     Test.ChasingBottoms.IsBottom (isBottom)
import     Control.DeepSeq (rnf)

test :: DocTest.T ()
test = do
 DocTest.printPrefix "Data.Array.Comfort.Shape:344: "
{-# LINE 344 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 344 "src/Data/Array/Comfort/Shape.hs" #-}
    Shape.indices ()
  )
  [ExpectedLine [LineChunk "[()]"]]
 DocTest.printPrefix "Data.Array.Comfort.Shape:367: "
{-# LINE 367 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 367 "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:425: "
{-# LINE 425 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 425 "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:475: "
{-# LINE 475 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 475 "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:477: "
{-# LINE 477 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 477 "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:527: "
{-# LINE 527 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 527 "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:598: "
{-# LINE 598 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 598 "src/Data/Array/Comfort/Shape.hs" #-}
    Shape.indices (Shape.Enumeration :: Shape.Enumeration Ordering)
  )
  [ExpectedLine [LineChunk "[LT,EQ,GT]"]]
 DocTest.printPrefix "Data.Array.Comfort.Shape:662: "
{-# LINE 662 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 662 "src/Data/Array/Comfort/Shape.hs" #-}
    Shape.indices (Set.fromList "comfort")
  )
  [ExpectedLine [LineChunk "\"cfmort\""]]
 DocTest.printPrefix "Data.Array.Comfort.Shape:693: "
{-# LINE 693 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 693 "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:726: "
{-# LINE 726 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 726 "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:784: "
{-# LINE 784 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 784 "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:850: "
{-# LINE 850 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 850 "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:954: "
{-# LINE 954 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 954 "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:1076: "
{-# LINE 1076 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1076 "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:1133: "
{-# LINE 1133 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1133 "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:1195: "
{-# LINE 1195 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1195 "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:1197: "
{-# LINE 1197 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1197 "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:1329: "
{-# LINE 1329 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1329 "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:1331: "
{-# LINE 1331 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1331 "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:1333: "
{-# LINE 1333 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1333 "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:1335: "
{-# LINE 1335 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1335 "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:1338: "
{-# LINE 1338 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1338 "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:1340: "
{-# LINE 1340 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1340 "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:1342: "
{-# LINE 1342 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1342 "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:1344: "
{-# LINE 1344 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1344 "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:1578: "
{-# LINE 1578 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.property(
{-# LINE 1578 "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:1583: "
{-# LINE 1583 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1583 "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:1627: "
{-# LINE 1627 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1627 "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:1714: "
{-# LINE 1714 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1714 "src/Data/Array/Comfort/Shape.hs" #-}
    rnf (Shape.NestedTuple (Shape.Element 1, Shape.Element 2))
  )
  [ExpectedLine [LineChunk "()"]]
 DocTest.printPrefix "Data.Array.Comfort.Shape:1716: "
{-# LINE 1716 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1716 "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:1718: "
{-# LINE 1718 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1718 "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:1720: "
{-# LINE 1720 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1720 "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:1722: "
{-# LINE 1722 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1722 "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:1724: "
{-# LINE 1724 "src/Data/Array/Comfort/Shape.hs" #-}
 DocTest.example(
{-# LINE 1724 "src/Data/Array/Comfort/Shape.hs" #-}
    isBottom $ rnf (Shape.NestedTuple (Shape.Element 1, (Shape.Element 2, Shape.Element undefined)))
  )
  [ExpectedLine [LineChunk "True"]]