public virtual void TestNextMatchingFailure() { object[] elements = new object[] { "foo", "bar" }; IQueue4 queue = NewQueue(elements); Assert.IsNull(queue.NextMatching(new _IPredicate4_42())); AssertNext(elements, queue); }
private void AssertNextMatching(object[] expectedAfterRemoval, object removedElement , object[] originalElements) { IQueue4 queue = NewQueue(originalElements); Assert.AreEqual(removedElement, queue.NextMatching(new _IPredicate4_73(removedElement ))); AssertNext(expectedAfterRemoval, queue); }
private void AssertNext(object[] expected, IQueue4 queue) { for (var i = 0; i < expected.Length; i++) { var @object = expected[i]; Assert.IsTrue(queue.HasNext(), "Expecting '" + @object + "'"); Assert.AreSame(@object, queue.Next()); } Assert.IsFalse(queue.HasNext()); }
protected virtual void AssertIterator(IQueue4 queue, string[] data, int size) { IEnumerator iter = queue.Iterator(); for (int idx = 0; idx < size; idx++) { Assert.IsTrue(iter.MoveNext(), "should be able to move in iteration #" + idx + " of " + size); Assert.AreEqual(data[idx], iter.Current); } Assert.IsFalse(iter.MoveNext()); }
public virtual void TestIteratorThrowsOnConcurrentModification() { object[] elements = new object[] { "foo", "bar" }; IQueue4 queue = NewQueue(elements); IEnumerator iterator = queue.Iterator(); Iterator4Assert.AssertNext("foo", iterator); queue.Add("baz"); Assert.AreEqual("foo", iterator.Current, "accessing current element should be harmless" ); Assert.Expect(typeof(InvalidOperationException), new _ICodeBlock_31(iterator)); }
private void ProcessEachNode(IProcedure4 action) { if (_nodes == null) { return; } ProcessAllNodes(); while (_processing.HasNext()) { action.Apply((BTreeNode)_processing.Next()); } _processing = null; }
public NoDuplicatesQueue(IQueue4 queue) { _queue = queue; _seen = new Hashtable4(); }
/// <exception cref="System.Exception"></exception> public virtual void TearDown() { _queue = null; }
/// <exception cref="System.Exception"></exception> public virtual void SetUp() { _queue = new NoDuplicatesQueue(new NonblockingQueue()); }
public ClassMetadataRepository(Transaction systemTransaction) { _systemTransaction = systemTransaction; _initClassMetadataOnUp = new NonblockingQueue(); _classInits = new PendingClassInits(_systemTransaction); }
public IdSource(IQueue4 queue) { _queue = queue; }
private void ProcessAllNodes() { _processing = new NonblockingQueue(); _nodes.Traverse(new _IVisitor4_311(this)); }
internal NotifyThread(IQueue4 queue, object data) { _queue = queue; _data = data; }