Exemple #1
0
        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();
            }
        }
Exemple #2
0
 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();
   }
 }
Exemple #5
0
 public void RemoveRelation(Relation <Folder, Folder> relation)
 {
     m_folders.Remove(relation.RelationFrom);
 }
Exemple #6
0
 public void RemoveRelation(Relation <FileInDb, Folder> relation)
 {
     m_files.Remove(relation.RelationFrom);
 }