예제 #1
0
        public virtual void TestRemoveAllViaIterator()
        {
            AList <int> list = GetRandomList(100, 123);
            LightWeightGSet <TestLightWeightGSet.TestElement, TestLightWeightGSet.TestElement>
            set = new LightWeightGSet <TestLightWeightGSet.TestElement, TestLightWeightGSet.TestElement
                                       >(16);

            foreach (int i in list)
            {
                set.Put(new TestLightWeightGSet.TestElement(i));
            }
            for (IEnumerator <TestLightWeightGSet.TestElement> iter = set.GetEnumerator(); iter
                 .HasNext();)
            {
                iter.Next();
                iter.Remove();
            }
            Assert.Equal(0, set.Size());
        }
예제 #2
0
        public virtual void TestRemoveSomeViaIterator()
        {
            AList <int> list = GetRandomList(100, 123);
            LightWeightGSet <TestLightWeightGSet.TestElement, TestLightWeightGSet.TestElement>
            set = new LightWeightGSet <TestLightWeightGSet.TestElement, TestLightWeightGSet.TestElement
                                       >(16);

            foreach (int i in list)
            {
                set.Put(new TestLightWeightGSet.TestElement(i));
            }
            long sum = 0;

            for (IEnumerator <TestLightWeightGSet.TestElement> iter = set.GetEnumerator(); iter
                 .HasNext();)
            {
                sum += iter.Next().GetVal();
            }
            long mode = sum / set.Size();

            Log.Info("Removing all elements above " + mode);
            for (IEnumerator <TestLightWeightGSet.TestElement> iter_1 = set.GetEnumerator(); iter_1
                 .HasNext();)
            {
                int item = iter_1.Next().GetVal();
                if (item > mode)
                {
                    iter_1.Remove();
                }
            }
            for (IEnumerator <TestLightWeightGSet.TestElement> iter_2 = set.GetEnumerator(); iter_2
                 .HasNext();)
            {
                Assert.True(iter_2.Next().GetVal() <= mode);
            }
        }