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