I am trying to compare the Sales Tax Rate of 6.75 against my expected value of 6.75 which is in string format. I wrote the below lines of Groovy code to achieve this, but I am getting Number Format Exception and I could not figure out where the problem is
Groovy Code
def jsonSlurper = new JsonSlurper()
def parsedResponseJson=jsonSlurper.parseText(context.expand('${StandardFinance#Response}'))
def actualSalesTaxRate = parsedResponseJson.CustomerQuoteFinanceResponse.StandardFinanceResponse.Responses[0].StandardPaymentEngineFinanceResponse.paymentWithTaxes.financeItemizedTaxes.salesTax.taxParameters.rate
def actualSalesTaxRate = parsedResponseJson.CustomerQuoteFinanceResponse.StandardFinanceResponse.Responses[0].StandardPaymentEngineFinanceResponse.paymentWithTaxes.financeItemizedTaxes.salesTax.taxParameters.rate
log.info actualSalesTaxRate.size()
actualSalesTaxRate = Float.parseFloat(actualSalesTaxRate)
def expectedSalesTaxRate = "6.75"
log.info expectedSalesTaxRate.size()
expectedSalesTaxRate = Float.parseFloat(expectedSalesTaxRate)
assert expectedSalesTaxRate.toString() == actualSalesTaxRate.toString(),"FAIL --- Sales Tax Rate is different"
JSON Response
{
"CustomerQuoteFinanceResponse": {
"StandardFinanceResponse": {
"Responses": [{
"StandardPaymentEngineFinanceResponse": {
"class": ".APRNonCashCustomerQuote",
"RequestID": "1",
"term": "48",
"financeSourceId": "F000CE",
"paymentWithTaxes": {
"class": ".FinancePaymentWithTaxes",
"amountFinanced": "34523.48",
"monthlyPayment": "782.60",
"monthlyPaymentWithoutDealerAddOns": 782.6,
"financeItemizedTaxes": {
"salesTax": {
"taxParameters": {
"rate": "6.75"
},
"salesTaxAmount": "2322.61"
}
}
}
}
}]
}
}
}