public void PushShouldAddTheItemToFirstPlace() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For <IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For <IWorkItemWaiterEntry>(); stack.Push(firstEntry); Assert.AreEqual(1, stack.Count); Assert.AreEqual(firstEntry, stack.Peek()); stack.Push(lastEntry); Assert.AreEqual(lastEntry, stack.Peek()); Assert.AreEqual(2, stack.Count); }
public void PeekShouldReturnLastAddedItemAndShouldNotRemoveItemWhenStackHasMoreThanOneItems() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For <IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For <IWorkItemWaiterEntry>(); stack.Push(firstEntry); stack.Push(lastEntry); Assert.AreEqual(2, stack.Count); Assert.AreEqual(lastEntry, stack.Peek()); Assert.AreEqual(2, stack.Count); Assert.AreEqual(lastEntry, stack.Peek()); Assert.AreEqual(2, stack.Count); }
public void PopShouldReturnLastAddedItemAndDecrementCountWhenStackHasMoreThanOneItems() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For<IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For<IWorkItemWaiterEntry>(); stack.Push(firstEntry); stack.Push(lastEntry); Assert.AreEqual(2, stack.Count); Assert.AreEqual(lastEntry, stack.Pop()); Assert.AreEqual(1, stack.Count); Assert.AreEqual(firstEntry, stack.Pop()); Assert.AreEqual(0, stack.Count); Assert.AreEqual(null, stack.Pop()); Assert.AreEqual(0, stack.Count); }
public void PopShouldReturnLastAddedItemAndDecrementCountWhenStackHasMoreThanOneItems() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For <IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For <IWorkItemWaiterEntry>(); stack.Push(firstEntry); stack.Push(lastEntry); Assert.AreEqual(2, stack.Count); Assert.AreEqual(lastEntry, stack.Pop()); Assert.AreEqual(1, stack.Count); Assert.AreEqual(firstEntry, stack.Pop()); Assert.AreEqual(0, stack.Count); Assert.AreEqual(null, stack.Pop()); Assert.AreEqual(0, stack.Count); }
public void RemoveShouldRemoveItemFromStack() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For <IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For <IWorkItemWaiterEntry>(); stack.Push(firstEntry); stack.Push(lastEntry); Assert.AreEqual(2, stack.Count); Assert.AreEqual(lastEntry, stack.Peek()); Assert.AreEqual(true, stack.Remove(lastEntry)); Assert.AreEqual(firstEntry, stack.Peek()); Assert.AreEqual(1, stack.Count); Assert.AreEqual(true, stack.Remove(firstEntry)); Assert.AreEqual(0, stack.Count); }
public void PeekShouldReturnTheOnlyItemAndShouldNotRemovwItemWhenStackHasOneItems() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry entry = Substitute.For<IWorkItemWaiterEntry>(); stack.Push(entry); Assert.AreEqual(entry, stack.Peek()); Assert.AreEqual(1, stack.Count); Assert.AreEqual(entry, stack.Peek()); Assert.AreEqual(1, stack.Count); }
public void PopShouldReturnTheOnlyItemAndSetCountToZeroWhenStackHasOneItems() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry entry = Substitute.For<IWorkItemWaiterEntry>(); stack.Push(entry); Assert.AreEqual(entry, stack.Pop()); Assert.AreEqual(0, stack.Count); Assert.AreEqual(null, stack.Pop()); Assert.AreEqual(0, stack.Count); }
public void PeekShouldReturnTheOnlyItemAndShouldNotRemovwItemWhenStackHasOneItems() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry entry = Substitute.For <IWorkItemWaiterEntry>(); stack.Push(entry); Assert.AreEqual(entry, stack.Peek()); Assert.AreEqual(1, stack.Count); Assert.AreEqual(entry, stack.Peek()); Assert.AreEqual(1, stack.Count); }
public void PopShouldReturnTheOnlyItemAndSetCountToZeroWhenStackHasOneItems() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry entry = Substitute.For <IWorkItemWaiterEntry>(); stack.Push(entry); Assert.AreEqual(entry, stack.Pop()); Assert.AreEqual(0, stack.Count); Assert.AreEqual(null, stack.Pop()); Assert.AreEqual(0, stack.Count); }
public void RemoveShouldReturnFalseIfTheSpecifiedItemIsNotFoundInTheStack() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For <IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For <IWorkItemWaiterEntry>(); Assert.AreEqual(false, stack.Remove(firstEntry)); stack.Push(firstEntry); Assert.AreEqual(1, stack.Count); Assert.AreEqual(false, stack.Remove(lastEntry)); }
public void PeekShouldReturnLastAddedItemAndShouldNotRemoveItemWhenStackHasMoreThanOneItems() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For<IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For<IWorkItemWaiterEntry>(); stack.Push(firstEntry); stack.Push(lastEntry); Assert.AreEqual(2, stack.Count); Assert.AreEqual(lastEntry, stack.Peek()); Assert.AreEqual(2, stack.Count); Assert.AreEqual(lastEntry, stack.Peek()); Assert.AreEqual(2, stack.Count); }
public void RemoveShouldReturnFalseIfTheSpecifiedItemIsNotFoundInTheStack() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For<IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For<IWorkItemWaiterEntry>(); Assert.AreEqual(false, stack.Remove(firstEntry)); stack.Push(firstEntry); Assert.AreEqual(1, stack.Count); Assert.AreEqual(false, stack.Remove(lastEntry)); }
public void RemoveShouldRemoveItemFromStack() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For<IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For<IWorkItemWaiterEntry>(); stack.Push(firstEntry); stack.Push(lastEntry); Assert.AreEqual(2, stack.Count); Assert.AreEqual(lastEntry, stack.Peek()); Assert.AreEqual(true, stack.Remove(lastEntry)); Assert.AreEqual(firstEntry, stack.Peek()); Assert.AreEqual(1, stack.Count); Assert.AreEqual(true, stack.Remove(firstEntry)); Assert.AreEqual(0, stack.Count); }
public void PushShouldThrowExceptionWhenItemIsEmpty() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); Assert.Throws<ArgumentNullException>(() => stack.Push(null)); }
public void PushShouldAddTheItemToFirstPlace() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); IWorkItemWaiterEntry firstEntry = Substitute.For<IWorkItemWaiterEntry>(); IWorkItemWaiterEntry lastEntry = Substitute.For<IWorkItemWaiterEntry>(); stack.Push(firstEntry); Assert.AreEqual(1, stack.Count); Assert.AreEqual(firstEntry, stack.Peek()); stack.Push(lastEntry); Assert.AreEqual(lastEntry, stack.Peek()); Assert.AreEqual(2, stack.Count); }
public void PushShouldThrowExceptionWhenItemIsEmpty() { WorkItemWaiterEntryStack stack = new WorkItemWaiterEntryStack(); Assert.Throws <ArgumentNullException>(() => stack.Push(null)); }