Revision 63b068c1 htest/Test/Ganeti/TestCommon.hs

b/htest/Test/Ganeti/TestCommon.hs
31 31
import Data.List
32 32
import qualified Test.HUnit as HUnit
33 33
import Test.QuickCheck
34
import qualified Text.JSON as J
34 35
import System.Environment (getEnv)
35 36
import System.Exit (ExitCode(..))
36 37
import System.IO.Error (isDoesNotExistError)
......
187 188
  arbitrary = do
188 189
    v <- choose (0, 1)
189 190
    return $ SmallRatio v
191

  
192
-- | Checks for serialisation idempotence.
193
testSerialisation :: (Eq a, Show a, J.JSON a) => a -> Property
194
testSerialisation a =
195
  case J.readJSON (J.showJSON a) of
196
    J.Error msg -> failTest $ "Failed to deserialise: " ++ msg
197
    J.Ok a' -> a ==? a'

Also available in: Unified diff