function createContext() {
			return {getPath : function () {}, getSubContexts : function () {}};
		}
******************************************************************************************
	QUnit.test("hasPendingChanges: oBinding._hasPendingChanges returns false", function (assert) {
		var oBinding = {_hasPendingChanges : function () {}},
			oModel = {
				mChangedEntities : {foo : {}},
				getBindings : function () {}
			};

		this.mock(oModel).expects("getBindings").withExactArgs().returns([oBinding]);
		this.mock(oBinding).expects("_hasPendingChanges")
			.withExactArgs(["foo"])
			.callsFake(function (aChangedEntityKeys) {
				aChangedEntityKeys.pop();

				return false;
			});

		// code under test
		assert.deepEqual(ODataModel.prototype.hasPendingChanges.call(oModel), false);
	});

	//*********************************************************************************************
	QUnit.test("getPendingChanges", function (assert) {
		var oBinding1 = {_getPendingChanges : function () {}},
			mChangedEntitiesCopy = {},
			oHelperMock = this.mock(_Helper),
			oModel = {
				mChangedEntities : "~changedEntities",
				getBindings : function () {}
			};

		oHelperMock.expects("merge")
			.withExactArgs({}, "~changedEntities")
			.returns(mChangedEntitiesCopy);
		this.mock(oModel).expects("getBindings")
			.withExactArgs()
			.returns([{/*oBinding0