public void CanUnlock_Unlock_Test() { // Arrange var stack = new UncheckedLayeredStack <string>(); stack.Push("p"); stack.Push("q"); stack.Lock(); // Act stack.Unlock(); // Assert Assert.Equal(0, stack.LockCount()); Assert.Equal(2, stack.Size()); }
public void SimplePop_Pop_Test() { // Arrange var stack = new UncheckedLayeredStack <string>(); stack.Push("a"); stack.Push("b"); // Act var b = stack.Pop(); var a = stack.Pop(); // Assert Assert.True(stack.IsEmpty()); Assert.Equal(0, stack.Size()); Assert.Equal("b", b); Assert.Equal("a", a); }
public void Simple_RawLock_Test() { // Arrange var vstack = new CheckedLayeredStack <string>(); vstack.Lock(); vstack.Push("a"); vstack.Push("b"); var cstack = new UncheckedLayeredStack <string>(); // Act cstack.RawLock(4, vstack); // Assert Assert.Equal(1, vstack.LockCount()); Assert.Equal(0, vstack.Size()); Assert.Equal(1, cstack.LockCount()); Assert.Equal(4, cstack.Size()); Assert.Equal("a", cstack[0]); Assert.Equal("b", cstack[1]); Assert.Null(cstack[2]); Assert.Null(cstack[3]); }