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