protected override void Arrange() { _suppliedSourceEntityExtension1 = Stub <ISynchronizable>(); _suppliedSourceEntityExtension1 .Expect(x => x.Synchronize(Arg <object> .Is.Anything)) .Return(true); // Source extension entry, mapped from the resource object, will be a "transient" entity var sourceExtensions = new Dictionary <string, object>(); _suppliedSourceEntity = new FakeEntityWithExtensions(sourceExtensions); // Target extension entries during synchronization are "persistent" entities loaded through NHibernate, and due to the NHibernate mapping approach for extensions, will be a list with a single "persistent" entity _suppliedTargetEntityExtension1 = Stub <ISynchronizable>(); var targetExtensions = new Dictionary <string, object> { { "Extension1", new List <ISynchronizable> { _suppliedTargetEntityExtension1 } } }; _suppliedTargetEntity = new FakeEntityWithExtensions(targetExtensions); }
protected override void Arrange() { _suppliedSourceEntityExtension1 = Stub <ISynchronizable>(); _suppliedSourceEntityExtension2 = Stub <ISynchronizable>(); // First extension has modifications _suppliedSourceEntityExtension1 .Expect(x => x.Synchronize(Arg <object> .Is.Anything)) .Return(true); // Second extension has no modifications, but should not overwrite state _suppliedSourceEntityExtension2 .Expect(x => x.Synchronize(Arg <object> .Is.Anything)) .Return(false); // Source extension entry, mapped from the resource object, will be a ArrayList of "transient" entities var sourceExtensions = new Dictionary <string, object> { { "Extension1", new ArrayList { _suppliedSourceEntityExtension1 } }, { "Extension2", new ArrayList { _suppliedSourceEntityExtension2 } } }; _suppliedSourceEntity = new FakeEntityWithExtensions(sourceExtensions); // Target extension entries during synchronization are "persistent" entities loaded through NHibernate, and due to the NHibernate mapping approach for extensions, will be a list with a single "persistent" entity _suppliedTargetEntityExtension1 = Stub <ISynchronizable>(); _suppliedTargetEntityExtension2 = Stub <ISynchronizable>(); var targetExtensions = new Dictionary <string, object> { { "Extension1", new List <ISynchronizable> { _suppliedTargetEntityExtension1 } }, { "Extension2", new List <ISynchronizable> { _suppliedTargetEntityExtension2 } } }; _suppliedTargetEntity = new FakeEntityWithExtensions(targetExtensions); }