Example #1
0
 private void TestAddElementsToList(DatanodeDescriptor.CachedBlocksList list, CachedBlock
                                    [] blocks)
 {
     NUnit.Framework.Assert.IsTrue("expected list to start off empty.", !list.GetEnumerator
                                       ().HasNext());
     foreach (CachedBlock block in blocks)
     {
         NUnit.Framework.Assert.IsTrue(list.AddItem(block));
     }
 }
Example #2
0
        private void TestRemoveElementsFromList(Random r, DatanodeDescriptor.CachedBlocksList
                                                list, CachedBlock[] blocks)
        {
            int i = 0;

            for (IEnumerator <CachedBlock> iter = list.GetEnumerator(); iter.HasNext();)
            {
                NUnit.Framework.Assert.AreEqual(blocks[i], iter.Next());
                i++;
            }
            if (r.NextBoolean())
            {
                Log.Info("Removing via iterator");
                for (IEnumerator <CachedBlock> iter_1 = list.GetEnumerator(); iter_1.HasNext();)
                {
                    iter_1.Next();
                    iter_1.Remove();
                }
            }
            else
            {
                Log.Info("Removing in pseudo-random order");
                CachedBlock[] remainingBlocks = Arrays.CopyOf(blocks, blocks.Length);
                for (int removed = 0; removed < remainingBlocks.Length;)
                {
                    int toRemove = r.Next(remainingBlocks.Length);
                    if (remainingBlocks[toRemove] != null)
                    {
                        NUnit.Framework.Assert.IsTrue(list.Remove(remainingBlocks[toRemove]));
                        remainingBlocks[toRemove] = null;
                        removed++;
                    }
                }
            }
            NUnit.Framework.Assert.IsTrue("expected list to be empty after everything " + "was removed."
                                          , !list.GetEnumerator().HasNext());
        }