1-- Do not edit! Automatically created with doctest-extract from src/Data/List/Reverse/StrictElement.hs
2{-# LINE 15 "src/Data/List/Reverse/StrictElement.hs" #-}
3
4module DocTest.Data.List.Reverse.StrictElement where
5
6import Data.List.Reverse.StrictElement
7import qualified Test.DocTest.Driver as DocTest
8
9{-# LINE 16 "src/Data/List/Reverse/StrictElement.hs" #-}
10import     Test.Utility (forAllPredicates, defined)
11import     qualified Data.List.Reverse.StrictElement as Rev
12import     qualified Data.List.Match as Match
13import     qualified Data.List as List
14import     Data.Tuple.HT (mapPair, swap)
15
16_suppressUnusedImportWarning     :: (a -> Bool) -> [a] -> [a]
17_suppressUnusedImportWarning     = Data.List.Reverse.StrictElement.dropWhile
18
19test :: DocTest.T ()
20test = do
21 DocTest.printPrefix "Data.List.Reverse.StrictElement:31: "
22{-# LINE 31 "src/Data/List/Reverse/StrictElement.hs" #-}
23 DocTest.property
24{-# LINE 31 "src/Data/List/Reverse/StrictElement.hs" #-}
25     (forAllPredicates $ \p xs -> Rev.dropWhile p xs == reverse (List.dropWhile p (reverse xs)))
26 DocTest.printPrefix "Data.List.Reverse.StrictElement:32: "
27{-# LINE 32 "src/Data/List/Reverse/StrictElement.hs" #-}
28 DocTest.property
29{-# LINE 32 "src/Data/List/Reverse/StrictElement.hs" #-}
30     (\x xs pad -> defined $ Match.take (pad::[()]) $ Rev.dropWhile ((x::Char)/=) $ cycle $ x:xs)
31 DocTest.printPrefix "Data.List.Reverse.StrictElement:41: "
32{-# LINE 41 "src/Data/List/Reverse/StrictElement.hs" #-}
33 DocTest.property
34{-# LINE 41 "src/Data/List/Reverse/StrictElement.hs" #-}
35     (forAllPredicates $ \p xs -> Rev.takeWhile p xs == reverse (List.takeWhile p (reverse xs)))
36 DocTest.printPrefix "Data.List.Reverse.StrictElement:52: "
37{-# LINE 52 "src/Data/List/Reverse/StrictElement.hs" #-}
38 DocTest.property
39{-# LINE 52 "src/Data/List/Reverse/StrictElement.hs" #-}
40     (forAllPredicates $ \p xs -> Rev.span p xs == swap (mapPair (reverse, reverse) (List.span p (reverse xs))))
41 DocTest.printPrefix "Data.List.Reverse.StrictElement:53: "
42{-# LINE 53 "src/Data/List/Reverse/StrictElement.hs" #-}
43 DocTest.property
44{-# LINE 53 "src/Data/List/Reverse/StrictElement.hs" #-}
45     (forAllPredicates $ \p xs -> Rev.span p xs == (Rev.dropWhile p xs, Rev.takeWhile p xs))
46 DocTest.printPrefix "Data.List.Reverse.StrictElement:54: "
47{-# LINE 54 "src/Data/List/Reverse/StrictElement.hs" #-}
48 DocTest.property
49{-# LINE 54 "src/Data/List/Reverse/StrictElement.hs" #-}
50     (\x xs pad -> defined $ Match.take (pad::[()]) $ fst $ Rev.span ((x::Char)/=) $ cycle $ x:xs)
51