packages feed

non-empty-0.3.6: test/Test/Data/NonEmpty/Mixed.hs

-- Do not edit! Automatically created with doctest-extract from src/Data/NonEmpty/Mixed.hs
{-# LINE 24 "src/Data/NonEmpty/Mixed.hs" #-}

module Test.Data.NonEmpty.Mixed where

import Test.DocTest.Base
import qualified Test.DocTest.Driver as DocTest

{-# LINE 25 "src/Data/NonEmpty/Mixed.hs" #-}
import     qualified Data.NonEmpty as NonEmpty
import     qualified Data.List.Match as Match
import     Data.NonEmpty.Mixed (chopNothing)
import     Data.NonEmpty.Class (append)
import     Data.Eq.HT (equating)

test :: DocTest.T ()
test = do
 DocTest.printPrefix "Data.NonEmpty.Mixed:77: "
{-# LINE 77 "src/Data/NonEmpty/Mixed.hs" #-}
 DocTest.example(
{-# LINE 77 "src/Data/NonEmpty/Mixed.hs" #-}
    chopNothing ([] :: [Maybe String])
  )
  [ExpectedLine [LineChunk "[]!:[]"]]
 DocTest.printPrefix "Data.NonEmpty.Mixed:80: "
{-# LINE 80 "src/Data/NonEmpty/Mixed.hs" #-}
 DocTest.example(
{-# LINE 80 "src/Data/NonEmpty/Mixed.hs" #-}
    chopNothing [Nothing :: Maybe String]
  )
  [ExpectedLine [LineChunk "[]!:[]:[]"]]
 DocTest.printPrefix "Data.NonEmpty.Mixed:83: "
{-# LINE 83 "src/Data/NonEmpty/Mixed.hs" #-}
 DocTest.example(
{-# LINE 83 "src/Data/NonEmpty/Mixed.hs" #-}
    chopNothing [Just "a", Just "b", Nothing, Just "c", Nothing, Just "d", Just "e"]
  )
  [ExpectedLine [LineChunk "[\"a\",\"b\"]!:[\"c\"]:[\"d\",\"e\"]:[]"]]
 DocTest.printPrefix "Data.NonEmpty.Mixed:86: "
{-# LINE 86 "src/Data/NonEmpty/Mixed.hs" #-}
 DocTest.property(
{-# LINE 86 "src/Data/NonEmpty/Mixed.hs" #-}
      \xs ys -> chopNothing (xs ++ Nothing : ys) == append (chopNothing xs) (chopNothing (ys :: [Maybe Int]))
  )
 DocTest.printPrefix "Data.NonEmpty.Mixed:88: "
{-# LINE 88 "src/Data/NonEmpty/Mixed.hs" #-}
 DocTest.property(
{-# LINE 88 "src/Data/NonEmpty/Mixed.hs" #-}
      \ns xs -> equating (Match.take (ns::[()]) . NonEmpty.flatten) (NonEmpty.cycle (chopNothing xs)) (chopNothing (cycle (xs ++ [Nothing :: Maybe Int])))
  )