I have the following code
#!/usr/local/homebrew/bin/groovy
def jobs = ['Groovy', 'Rocks', 'Big', 'Time']
def generateStage(String service, Integer sleepTime=0) {
return {
sleep sleepTime
println "Hello $service"
}
}
Map generateStageMap(List list) {
Integer sleepTime = 0
Map stageMap = [:]
list.each {
stageMap[it] = generateStage(it, sleepTime)
// slightly staggered starts so we don't have too many
// request per sec to the CLI
sleepTime += 5
}
return stageMap
}
Map map = generateStageMap(jobs)
map.each {
it.value
}
How do I make it execute the println statement so output looks like this?
Hello Groovy
Hello Rocks
Hello Big
Hello Time
Or better yet, how can I check that the generated closure contains the key. For example, in pseudo-code
map.each {
// just sample code that conveys the idea
assert it.value.contains(it.key)
}