It generates random pairs of keys/values and constructs a map from them.

Signed-off-by: Petr Pudlak <[email protected]>
---
 test/hs/Test/Ganeti/TestCommon.hs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/test/hs/Test/Ganeti/TestCommon.hs 
b/test/hs/Test/Ganeti/TestCommon.hs
index bfb1849..3f5b17f 100644
--- a/test/hs/Test/Ganeti/TestCommon.hs
+++ b/test/hs/Test/Ganeti/TestCommon.hs
@@ -45,6 +45,7 @@ module Test.Ganeti.TestCommon
   , genUUID
   , genMaybe
   , genSublist
+  , genMap
   , genTags
   , genFields
   , genUniquesList
@@ -244,6 +245,10 @@ genSublist xs = choose (0, l) >>= g xs l
                              , (n - k, g ys (n - 1) k)
                              ]
 
+-- | Generates a map given generators for keys and values.
+genMap :: (Ord k, Ord v) => Gen k -> Gen v -> Gen (M.Map k v)
+genMap kg vg = M.fromList <$> listOf ((,) <$> kg <*> vg)
+
 -- | Defines a tag type.
 newtype TagChar = TagChar { tagGetChar :: Char }
 
-- 
2.0.0.526.g5318336

Reply via email to