public static void Main(string[] args) { var retained = Create <Retained>(7); var owner1 = new Owner1(retained[0], retained[1], retained[2], retained[5], retained[6]); var owner2 = new Owner2(retained[3], retained[4], retained[5], retained[6]); retained = null; ProfilingApi.GetSnapshot(); GC.KeepAlive(owner1); GC.KeepAlive(owner2); }
public void UpdateVersionWithManyRootsTest() { Key owner1Key; VersionInfo owner1Version; Key owner2Key; VersionInfo owner2Version; Key itemKey; VersionInfo itemVersion; using (var session = Domain.OpenSession()) { using (var transactionScope = session.OpenTransaction()) { var owner1 = new Owner1(); var owner2 = new Owner2(); var item = new Item { Value = "Value" }; owner1Key = owner1.Key; owner2Key = owner2.Key; owner1Version = owner1.VersionInfo; owner2Version = owner2.VersionInfo; itemKey = item.Key; itemVersion = item.VersionInfo; transactionScope.Complete(); } } using (var session = Domain.OpenSession()) { using (var transactionScope = session.OpenTransaction()) { var owner1 = session.Query.Single <Owner1>(owner1Key); var owner2 = session.Query.Single <Owner2>(owner2Key); var item = session.Query.Single <Item>(itemKey); Assert.IsTrue(owner1Version == owner1.VersionInfo); Assert.IsTrue(owner2Version == owner2.VersionInfo); Assert.IsTrue(itemVersion == item.VersionInfo); item.Value = "New Value"; Assert.IsFalse(owner1Version == owner1.VersionInfo); Assert.IsFalse(owner2Version == owner2.VersionInfo); Assert.IsFalse(itemVersion == item.VersionInfo); transactionScope.Complete(); } } }
public void SerializeVersionInfoTest() { VersionInfo itemVersion; using (var session = Domain.OpenSession()) { using (var transactionScope = session.OpenTransaction()) { var owner1 = new Owner1(); var owner2 = new Owner2(); var item = new Item { Value = "Value" }; itemVersion = item.VersionInfo; transactionScope.Complete(); } } Assert.IsFalse(itemVersion.IsVoid); var clone = Cloner.Clone(itemVersion); Assert.IsFalse(clone.IsVoid); Assert.IsTrue(itemVersion == clone); }