1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
{-# LANGUAGE CPP #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Test.SmallCheck.Series.Instances
(
) where
import Data.Map (Map)
import qualified Data.Map as Map
import Data.Text (Text)
import qualified Data.Text as T
import Test.SmallCheck.Series
import Codec.Xlsx
#if !MIN_VERSION_smallcheck(1,2,0)
cons6 ::
( Serial m a6
, Serial m a5
, Serial m a4
, Serial m a3
, Serial m a2
, Serial m a1
)
=> (a6 -> a5 -> a4 -> a3 -> a2 -> a1 -> a)
-> Test.SmallCheck.Series.Series m a
cons6 f = decDepth $
f <$> series
<~> series
<~> series
<~> series
<~> series
<~> series
#endif
instance Monad m => Serial m Text where
series = T.pack <$> series
instance (Serial m k, Serial m v) => Serial m (Map k v) where
series = Map.singleton <$> series <~> series
{-------------------------------------------------------------------------------
Conditional formatting
-------------------------------------------------------------------------------}
instance Monad m => Serial m CfRule
instance Monad m => Serial m Condition where
series = localDepth (const 2) $ cons2 AboveAverage
\/ cons1 BeginsWith
\/ cons2 BelowAverage
\/ cons1 BottomNPercent
\/ cons1 BottomNValues
\/ cons1 CellIs
\/ cons4 ColorScale2
\/ cons6 ColorScale3
\/ cons0 ContainsBlanks
\/ cons0 ContainsErrors
\/ cons1 ContainsText
\/ cons1 DataBar
\/ cons0 DoesNotContainErrors
\/ cons0 DoesNotContainBlanks
\/ cons1 DoesNotContainText
\/ cons0 DuplicateValues
\/ cons1 EndsWith
\/ cons1 Expression
\/ cons1 IconSet
\/ cons1 InTimePeriod
\/ cons1 TopNPercent
\/ cons1 TopNValues
\/ cons0 UniqueValues
instance Monad m => Serial m NStdDev
instance Monad m => Serial m Inclusion
instance Monad m => Serial m OperatorExpression
instance Monad m => Serial m DataBarOptions
instance Monad m => Serial m MaxCfValue
instance Monad m => Serial m MinCfValue
instance Monad m => Serial m Color
-- TODO: proper formula generator (?)
instance Monad m => Serial m Formula
instance Monad m => Serial m IconSetOptions
instance Monad m => Serial m IconSetType
instance Monad m => Serial m CfValue
instance Monad m => Serial m TimePeriod
{-------------------------------------------------------------------------------
Autofilter
-------------------------------------------------------------------------------}
instance Monad m => Serial m AutoFilter where
series = localDepth (const 4) $ cons2 AutoFilter
instance Monad m => Serial m CellRef
instance Monad m => Serial m FilterColumn
instance Monad m => Serial m EdgeFilterOptions
instance Monad m => Serial m CustomFilter
instance Monad m => Serial m CustomFilterOperator
instance Monad m => Serial m FilterCriterion
instance Monad m => Serial m DateGroup
instance Monad m => Serial m FilterByBlank
instance Monad m => Serial m ColorFilterOptions
instance Monad m => Serial m DynFilterOptions
instance Monad m => Serial m DynFilterType
|