[Haskell-beginners] QuickCheck properties on monadic values
Jonas Almström Duregård
jonas.duregard at gmail.com
Fri May 21 15:52:31 EDT 2010
Rahul's solution requires QC2, so do cabal install QuickCheck-18.104.22.168.
On 21 May 2010 20:27, Rahul Kapoor <rahulk at artquiver.com> wrote:
> Test.QuickCheck.Monadic should give you the building blocks you need.
> For example here is a snippet which turns a value and a function of
> type a -> IO a
> into a regular property.
> import Test.QuickCheck.Monadic (monadicIO, assert, run, pick)
> propIO :: Show a => Gen a -> (a -> IO Bool) -> Property
> propIO gen prop = monadicIO $ do
> v <- pick gen
> b <- run $ prop v
> assert b
> You can find some examples of madic quick check properties at:
> On Fri, May 21, 2010 at 12:47 PM, Ashish Agarwal <agarwal1975 at gmail.com> wrote:
>> I've been using the binary library, and would like to test whether my put
>> and get functions are inverses. I thought of using QuickCheck but it is not
>> clear how I can write the necessary property. I skimmed Claessen, Hughes,
>> "Testing monadic code with QuickCheck", but their examples require a lot of
>> extra work (e.g. their queue example requires an AST for a mini-queue
>> language). Am I missing something obvious?
>> Also, what's the difference between QuickCheck 1 and 2? I'm on gch 6.10 and
>> doing `cabal install QuickCheck` gives me version 22.214.171.124, which lacks
>> constructs described in the above paper.
>> Beginners mailing list
>> Beginners at haskell.org
> Beginners mailing list
> Beginners at haskell.org
More information about the Beginners