public void hashCodeComparerStringTest() { Oid id; using (SessionNoServer session = new SessionNoServer(systemDir)) { Placement place = new Placement(223, 1, 1, UInt16.MaxValue, UInt16.MaxValue); session.Compact(); session.BeginUpdate(); HashCodeComparer <string> hashCodeComparer = new HashCodeComparer <string>(); BTreeSet <string> bTree = new BTreeSet <string>(hashCodeComparer, session); bTree.Persist(place, session); id = bTree.Oid; for (int i = 0; i < 100000; i++) { bTree.Add(i.ToString()); } session.Commit(); } using (var session = new SessionNoServerShared(systemDir)) { session.BeginRead(); BTreeSet <string> bTree = (BTreeSet <string>)session.Open(id); int count = 0; foreach (string str in bTree) { count++; } Assert.True(100000 == count); session.Commit(); } }
public void zeroSizeByInterface() { UInt64 id = 0; using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); for (int i = 0; i < 100000; i++) { var o = new EFTPOSMachineParent(); session.Persist(o); if (i % 25000 == 0) { id = o.Id; } } var o2 = (EFTPOSMachineParent)session.Open(id); session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginRead(); var o2 = (EFTPOSMachineParent)session.Open(id); Assert.NotNull(o2); Assert.NotNull(o2.TransactionFacilitator); session.Commit(); } using (var session = new SessionNoServerShared(systemDir)) { session.BeginUpdate(); var o2 = (EFTPOSMachineParent)session.Open(id); Assert.NotNull(o2); Assert.NotNull(o2.TransactionFacilitator); o2.Unpersist(session); session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginRead(); var o2 = (EFTPOSMachineParent)session.Open(id); Assert.Null(o2); id++; o2 = (EFTPOSMachineParent)session.Open(id); Assert.NotNull(o2); Assert.NotNull(o2.TransactionFacilitator); session.Commit(); } }
public void LazyLoadDepth() { UInt64 id; using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); LazyLoadByDepth lazy = null; for (uint i = 1; i <= 100; i++) { lazy = new LazyLoadByDepth(i, lazy); } session.Persist(lazy); id = lazy.Id; session.Commit(); } using (var session = new SessionNoServerShared(systemDir)) { UInt32 ct = 100; session.BeginRead(); LazyLoadByDepth lazy = (LazyLoadByDepth)session.Open(id, false, false, 0); // load only the root of the object graph Assert.AreEqual(ct--, lazy.MyCt); Assert.IsNull(lazy.MyRefPeek); Assert.NotNull(lazy.MyRef); Assert.NotNull(lazy.MyRefPeek); lazy = lazy.MyRef; Assert.AreEqual(ct--, lazy.MyCt); Assert.IsNull(lazy.MyRefPeek); Assert.NotNull(lazy.MyRef); Assert.NotNull(lazy.MyRefPeek); lazy = lazy.MyRef; Assert.AreEqual(ct--, lazy.MyCt); Assert.IsNull(lazy.MyRefPeek); Assert.NotNull(lazy.MyRef); Assert.NotNull(lazy.MyRefPeek); lazy = lazy.MyRef; Assert.AreEqual(ct--, lazy.MyCt); Assert.IsNull(lazy.MyRefPeek); Assert.NotNull(lazy.MyRef); Assert.NotNull(lazy.MyRefPeek); session.Commit(); } }
public void SingleReaderSingleUpdater2() { UInt64 id; using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); Man man = new Man(); man.Persist(session, man); id = man.Id; session.Commit(); session.BeginUpdate(); man.Age = ++man.Age; using (var session2 = new SessionNoServerShared(systemDir)) { session2.BeginRead(); Man man2 = (Man)session2.Open(id); Assert.Less(man2.Age, man.Age); session2.Commit(); } session.Commit(); } System.GC.Collect(); }
public void AllSupported() { UInt64 id; AllSupported allSuported, allSupported2; AllSuportedSub1 allSuportedSub1, allSuportedSub2; AllSuportedSub2 allSuportedSub2_1, allSuportedSub2_2; AllSuportedSub3 allSuportedSub3_1, allSuportedSub3_2; AllSuportedSub4 allSuportedSub4; AllSupported[,] a1 = new AllSupported[10, 5]; AllSupported[,,] a2 = new AllSupported[8, 4, 3]; AllSupported[,,,] a3 = new AllSupported[7, 6, 2, 1]; Dictionary <int, string>[,,] a4 = new Dictionary <int, string> [2, 4, 33]; string s1str = DataMember.TypeToString(a1.GetType()); string s2str = DataMember.TypeToString(a2.GetType()); string s3str = DataMember.TypeToString(a3.GetType()); string s4str = DataMember.TypeToString(a4.GetType()); bool typeUpdated; using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); Type t1 = DataMember.StringToType(s1str, session, out typeUpdated); Type t2 = DataMember.StringToType(s2str, session, out typeUpdated); Type t3 = DataMember.StringToType(s3str, session, out typeUpdated); Type t4 = DataMember.StringToType(s4str, session, out typeUpdated); Assert.AreEqual(t1, a1.GetType()); Assert.AreEqual(t2, a2.GetType()); Assert.AreEqual(t3, a3.GetType()); Assert.AreEqual(t4, a4.GetType()); allSuportedSub4 = new AllSuportedSub4(); session.Persist(allSuportedSub4); id = allSuportedSub4.Id; session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginRead(); allSuportedSub4 = (AllSuportedSub4)session.Open(id); Assert.NotNull(allSuportedSub4); session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); allSuportedSub1 = new AllSuportedSub1(3); allSuportedSub1.Persist(session, allSuportedSub1); foreach (var o in allSuportedSub1.PetListOidShort) { session.Persist(o, allSuportedSub1); } id = allSuportedSub1.Id; session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginRead(); allSuportedSub2 = (AllSuportedSub1)session.Open(id); Assert.NotNull(allSuportedSub2); Assert.AreEqual(allSuportedSub2.m_type[0], typeof(Pet)); session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); allSuportedSub2_1 = new AllSuportedSub2(3); allSuportedSub2_1.Persist(session, allSuportedSub2_1); id = allSuportedSub2_1.Id; session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginRead(); allSuportedSub2_2 = (AllSuportedSub2)session.Open(id); Assert.NotNull(allSuportedSub2_2); session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); allSuportedSub3_1 = new AllSuportedSub3(3); allSuportedSub3_1.Persist(session, allSuportedSub3_1); id = allSuportedSub3_1.Id; session.Commit(); } using (var session = new SessionNoServerShared(systemDir)) { session.BeginRead(); allSuportedSub3_2 = (AllSuportedSub3)session.Open(id); Assert.NotNull(allSuportedSub3_2); session.Commit(); } using (var session = new SessionNoServer(systemDir)) { session.BeginUpdate(); var x = new AllSuportedSub5(); session.Persist(x); id = x.Id; session.Commit(); } using (var session = new SessionNoServer(systemDir)) { session.BeginUpdate(); var x = (AllSuportedSub5)session.Open(id); x.Update(); x.nullableaDouble = 0.5; session.Commit(); } using (var session = new SessionNoServer(systemDir)) { session.BeginUpdate(); var x = new AllSuportedSub6(); session.Persist(x); id = x.Id; session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); var x = (AllSuportedSub6)session.Open(id); x.Update(); session.Commit(); } using (var session = new SessionNoServer(systemDir)) { session.BeginUpdate(); allSuported = new AllSupported(3, session); allSuported.Persist(session, allSuported); allSuported.m_weakRefArray[0] = new WeakIOptimizedPersistableReference <IOptimizedPersistable>(allSuported); allSuported.m_objectArray[0] = new WeakIOptimizedPersistableReference <IOptimizedPersistable>(allSuported); id = allSuported.Id; session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); allSupported2 = (AllSupported)session.Open(id); allSupported2.Update(); allSupported2.nullableaDouble = 0.5; allSupported2.NullableDateTime = DateTime.MaxValue; allSupported2 = null; session.Commit(); } using (var session = new SessionNoServer(systemDir)) { session.BeginRead(); allSupported2 = (AllSupported)session.Open(id); Assert.NotNull(allSupported2); Assert.AreEqual(allSupported2.nullableaDouble, 0.5); Assert.AreEqual(allSupported2.NullableDateTime, DateTime.MaxValue); session.Commit(); session.BeginUpdate(); allSupported2.NullableDateTime = DateTime.UtcNow; session.Commit(); session.BeginRead(); allSupported2 = (AllSupported)session.Open(id); Assert.AreEqual(DateTimeKind.Utc, allSupported2.NullableDateTime.Value.Kind); session.Commit(); } }