@Test
public void test_accountCost4Unfreeze() {

    PointRecPo rec = new PointRecPo();
    BigDecimal delta = BigDecimal.valueOf(45).setScale(DecimalUtils.SCALE_2);
    rec.setTotalCost(DecimalUtils.ZERO);
    BigDecimal result = this.calculator.accountCost4Unfreeze(rec, delta);
    Assertions.assertEquals(DecimalUtils.ZERO, result);
    rec.setFrozen(BigDecimal.valueOf(45L).setScale(DecimalUtils.SCALE_2))
            .setTotalCost(BigDecimal.valueOf(100L).setScale(DecimalUtils.SCALE_2))
            .setUsedCost(BigDecimal.valueOf(30L).setScale(DecimalUtils.SCALE_2))
            .setFrozenCost(BigDecimal.valueOf(70L).setScale(DecimalUtils.SCALE_2))
            .setRefundCost(DecimalUtils.ZERO);
    BigDecimal expect = BigDecimal.valueOf(70L).setScale(DecimalUtils.SCALE_2);  //
    result = this.calculator.accountCost4Unfreeze(rec, delta);
    Assertions.assertEquals(expect, result);
    rec.setTotal(BigDecimal.valueOf(200L).setScale(DecimalUtils.SCALE_2))
            .setFrozen(BigDecimal.valueOf(55L).setScale(DecimalUtils.SCALE_2))
            .setTotalCost(BigDecimal.valueOf(100L).setScale(DecimalUtils.SCALE_2))
            .setUsedCost(BigDecimal.valueOf(40L).setScale(DecimalUtils.SCALE_2))
            .setFrozenCost(DecimalUtils.ZERO).setRefundCost(DecimalUtils.ZERO);
    expect = BigDecimal.valueOf(22.5).setScale(DecimalUtils.SCALE_2);  // 45 / 200 * 100
    result = this.calculator.accountCost4Unfreeze(rec, delta);
    Assertions.assertEquals(expect, result);
}