function getContextsWithChangeEvent(assert, oBinding, iStart, aExpectedInitialIDs, aExpectedFinalIDs) {
			getContexts(assert, oBinding, iStart, aExpectedInitialIDs, true);

			return new Promise(function (resolve) {
				const fnListener = () => {
					getContexts(assert, oBinding, iStart, aExpectedFinalIDs, false);
					oBinding.detachChange(fnListener);
					resolve();
				};
				oBinding.attachChange(fnListener);
			});
		}
Calls getContexts with length 2 and prefetch 4 at the binding, checks the response, waits for a change event,
calls getContexts, and checks the response again.

@param {object} assert The QUnit assert object
@param {sap.ui.model.odata.v2.ODataListBinding} oBinding The binding
@param {number} iStart The start index
@param {number[]} aExpectedInitialIDs The expected IDs in the returned contexts from the initial call
@param {number[]} aExpectedFinalIDs The expected IDs in the returned contexts after the change event
@returns {Promise} A promise that is resolved when the change event was processed