def METHOD_NAME(accounts, chain, loanToken, set_demand_curve, sovryn, priceFeeds, SUSD, RBTC):
    borrower, initial_loan, loan_id = setup_rollover_test(RBTC, SUSD, accounts, chain, loanToken, 100e18, 2e18, set_demand_curve, sovryn)
    time_until_loan_end = initial_loan['endTimestamp'] - chain.time()
    chain.sleep(time_until_loan_end)
    chain.mine(1)
    lender_interest_data = sovryn.getLenderInterestData(loanToken.address, SUSD.address).dict()
    receiver = accounts[3]
    assert(RBTC.balanceOf(receiver) == 0)
    tx_rollover = sovryn.rollover(loan_id, b'', {'from': receiver})
    end_loan = sovryn.getLoan(loan_id).dict()
    interest_unpaid = lender_interest_data['interestUnPaid']
    (trade_rate, precision) = priceFeeds.queryRate(RBTC.address, SUSD.address)
    trading_fee_percent = sovryn.tradingFeePercent()
    trading_fee = fixedint(interest_unpaid).mul(trading_fee_percent).div(1e20)
    source_token_amount_used = tx_rollover.events['LoanSwap']['sourceAmount']
    # end_collateral = initial_loan['collateral'] - source_token_amount_used - rollover_reward
    rollover_reward = initial_loan['collateral'] - source_token_amount_used - end_loan['collateral']
    assert(RBTC.balanceOf(receiver) >= rollover_reward)