Знатокам quickcheck haskell вопрос по генерации данных
От: nlv  
Дата: 27.10.09 07:43
Оценка:
Пусть имеем:

data Contract = Contract {number::String, positions::[Pos]}
data Pos = Pos {unit::Unit, cost::Int}
data Unit = Unit {unit::String, minCost::Int, maxCost::Int}

gen :: Gen String -> Gen Unit -> Gen Unit -> Gen Contract
gen numberG mainUnitG otherUnitG = liftM2 numberG (sequence [posG mainUnitG, posG otherUnitG])
    where posG :: Gen Unit -> Gen Pos
          posG u = liftM2 Pos u (choose (0, 100))


А как мне определить posG, так, чтобы позиция генерировалась с
с ценой, согласно диапазону, взятому из единицы учета (unit-а)?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.