def expectedPremiums = [6.19, 6.47, 6.90]
def xmlString = """<root xmlns:b="test">
<b:quote-data>
<b:premium>6.13</b:premium>
</b:quote-data>
<b:quote-data>
<b:premium>6.45</b:premium>
</b:quote-data>
<b:quote-data>
<b:premium>6.91</b:premium>
</b:quote-data>
</root>"""
def xml = new XmlSlurper().parseText(xmlString)
def premiums = xml.'**'.findAll {it.name() == 'premium'}*.toBigDecimal()
println premiums
def tolerance = 0.05
def failurePremiums = [:]
expectedPremiums.eachWithIndex { expected, index ->
	if ((expected-tolerance) <= premiums[index] && premiums[index] <= (expected+tolerance)) {
     println "${premiums[index]} is in range"
	} else {
	  println "${premiums[index]} is not falling in range, failed"
	  failurePremiums[expected] = premiums[index]
	}
}
assert !failurePremiums, "Not matched data(expected vs actual) : ${failurePremiums}"
