public void fullShiftRightTest() { Oid id; int ct = 0; using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); BTreeSet <int> bTree = new BTreeSet <int>(null, session, 9); session.Persist(bTree); id = bTree.Oid; for (int i = 65; i >= 0; i -= 5) { bTree.Add(i); ct++; } bTree.Remove(65); ct--; bTree.Remove(60); ct--; bTree.Remove(55); ct--; bTree.Remove(50); ct--; bTree.Add(1); ct++; bTree.Add(2); ct++; bTree.Add(3); ct++; bTree.Add(4); ct++; session.Commit(); } using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginRead(); BTreeSet <int> bTree = (BTreeSet <int>)session.Open(id); int count = 0; foreach (int num in bTree) { count++; } Assert.True(ct == bTree.Count); Assert.True(ct == bTree.Count()); session.Commit(); } }
bool RemovePropertyValueT(ElementId oid, out T pv) { if (m_propertyValue.TryGetValue(oid, out pv)) { m_propertyValue.Remove(oid); if (m_valueIndex != null) { if (m_valueIndex.TryGetKey(pv, ref pv)) { BTreeSet <ElementId> oidArray = m_valueIndex[pv]; if (oidArray.Count > 1) { oidArray.Remove(oid); } else { oidArray.Unpersist(Session); m_valueIndex.Remove(pv); } } } else if (m_valueIndexUnique != null) { m_valueIndexUnique.Remove(pv); } return(true); } return(false); }
public void CompareDouble(bool completeKey) { using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); AllSupported obj = new AllSupported(1); CompareByField <AllSupported> compareByField = new CompareByField <AllSupported>("aDouble", session); BTreeSet <AllSupported> sortedSet = new BTreeSet <AllSupported>(compareByField, session, 1000, sizeof(double), completeKey); List <AllSupported> toRemove = new List <AllSupported>(); for (int i = 0; i < 100000; i++) { obj = new AllSupported(1); obj.aDouble = (randGen.NextDouble() - randGen.NextDouble()) * randGen.Next(UInt16.MinValue, UInt16.MaxValue); if (i % 3500 == 0) { toRemove.Add(obj); } sortedSet.Add(obj); } session.Commit(); session.BeginUpdate(); foreach (AllSupported r in toRemove) { sortedSet.Remove(r); } int ct = 0; AllSupported prior = null; foreach (AllSupported currentObj in (IEnumerable <AllSupported>)sortedSet) { if (prior != null) { Assert.Less(prior.aDouble, currentObj.aDouble); } prior = currentObj; ct++; } session.Commit(); } }
public void CompareDouble(bool completeKey) { using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); AllSupported obj = new AllSupported(1); CompareByField<AllSupported> compareByField = new CompareByField<AllSupported>("aDouble", session); BTreeSet<AllSupported> sortedSet = new BTreeSet<AllSupported>(compareByField, session, 1000, sizeof(double), completeKey); List<AllSupported> toRemove = new List<AllSupported>(); for (int i = 0; i < 100000; i++) { obj = new AllSupported(1); obj.aDouble = (randGen.NextDouble() - randGen.NextDouble()) * randGen.Next(UInt16.MinValue, UInt16.MaxValue); if (i % 3500 == 0) toRemove.Add(obj); sortedSet.Add(obj); } session.Commit(); session.BeginUpdate(); foreach (AllSupported r in toRemove) sortedSet.Remove(r); int ct = 0; AllSupported prior = null; foreach (AllSupported currentObj in (IEnumerable<AllSupported>)sortedSet) { if (prior != null) Assert.Less(prior.aDouble, currentObj.aDouble); prior = currentObj; ct++; } session.Commit(); } }
public void RemoveRelation(Relation <Folder, Folder> relation) { m_folders.Remove(relation.RelationFrom); }
public void RemoveRelation(Relation <FileInDb, Folder> relation) { m_files.Remove(relation.RelationFrom); }