Revision c09359ee test/hs/Test/Ganeti/HTools/Node.hs
b/test/hs/Test/Ganeti/HTools/Node.hs | ||
---|---|---|
33 | 33 |
, genNode |
34 | 34 |
, genOnlineNode |
35 | 35 |
, genNodeList |
36 |
, genUniqueNodeList |
|
36 | 37 |
) where |
37 | 38 |
|
38 | 39 |
import Test.QuickCheck |
... | ... | |
114 | 115 |
genNodeList ngen = fmap (snd . Loader.assignIndices) names_nodes |
115 | 116 |
where names_nodes = (fmap . map) (\n -> (Node.name n, n)) $ listOf1 ngen |
116 | 117 |
|
118 |
-- | Node list generator where node names are unique |
|
119 |
genUniqueNodeList :: Gen Node.Node -> Gen (Node.List, Types.NameAssoc) |
|
120 |
genUniqueNodeList ngen = (do |
|
121 |
nl <- genNodeList ngen |
|
122 |
let na = (fst . Loader.assignIndices) $ |
|
123 |
map (\n -> (Node.name n, n)) (Container.elems nl) |
|
124 |
return (nl, na)) `suchThat` |
|
125 |
(\(nl, na) -> Container.size nl == Map.size na) |
|
126 |
|
|
117 | 127 |
-- | Generate a node list, an instance list, and a node graph. |
118 | 128 |
-- We choose instances with nodes contained in the node list. |
119 | 129 |
genNodeGraph :: Gen (Maybe Graph.Graph, Node.List, Instance.List) |
Also available in: Unified diff