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

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

@param {object} assert - The QUnit assert object
@param {sap.ui.model.odata.v4.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