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)); } }
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()); }