Validation 0.0.1 → 0.0.2
raw patch · 3 files changed
+58/−4 lines, 3 files
Files
- Data/Validation.hs +1/−2
- Test/Data/Validation.hs +55/−0
- Validation.cabal +2/−2
Data/Validation.hs view
@@ -5,10 +5,9 @@ ( AccValidation , Validation-, ValidationT+, ValidationT(..) , Validate(..) , FoldValidate(..)-, runValidationT , fromFailure , fromSuccess , getFailure
+ Test/Data/Validation.hs view
@@ -0,0 +1,55 @@+module Test.Data.Validation where++import Test.QuickCheck+import Test.Framework+import Test.Framework.Providers.QuickCheck2 (testProperty)+import Data.Validation+import Control.Functor.Pointed++instance (Arbitrary err, Arbitrary a) => Arbitrary (Validation err a) where+ arbitrary =+ fmap (either failure success) arbitrary++instance (Arbitrary err, Arbitrary a) => Arbitrary (AccValidation err a) where+ arbitrary =+ fmap (either failure success) arbitrary++instance (Pointed m, Arbitrary err, Arbitrary a) => Arbitrary (ValidationT m err a) where+ arbitrary =+ fmap (ValidationT . point) arbitrary++main ::+ IO ()+main =+ defaultMain boardTests++boardTests ::+ [Test]+boardTests =+ [+ testGroup "Board"+ [+ testProperty "fold/success/failure for Validation" prop_fold_success_failure_Validation+ , testProperty "fold/success/failure for AccValidation" prop_fold_success_failure_AccValidation+ ]+ ]++prop_fold_success_failure ::+ (Validate v, FoldValidate v, Eq (v err a)) =>+ v err a+ -> Bool+prop_fold_success_failure v =+ foldValidate failure success v == v++prop_fold_success_failure_Validation ::+ Validation Int String+ -> Bool+prop_fold_success_failure_Validation =+ prop_fold_success_failure++prop_fold_success_failure_AccValidation ::+ AccValidation Int String+ -> Bool+prop_fold_success_failure_AccValidation =+ prop_fold_success_failure+
Validation.cabal view
@@ -1,5 +1,5 @@ Name: Validation-Version: 0.0.1+Version: 0.0.2 License: BSD3 License-File: LICENSE Author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>, Nick Partridge@@ -29,4 +29,4 @@ Exposed-Modules: Data.Validation-+ , Test.Data.Validation