Beispiel #1
0
        public void GivenCapacity_1_ShouldCreateStackWithLength_1()
        {
            const int expectedLength = 1;
            var       myStack        = MyStack.Create(expectedLength);

            Assert.That(myStack.Size, Is.EqualTo(expectedLength));
        }
Beispiel #2
0
        public void GivenSize_1_Stack_WhenPushedTwiceShouldThrowMyStackOverflowException()
        {
            var myStack = MyStack.Create(1);

            myStack.Push(1);

            Assert.That(() => myStack.Push(1), Throws.TypeOf <MyStackOverflowException>());
        }
Beispiel #3
0
        public void WhenPushed_1_PopShouldReturn_1()
        {
            var myStack = MyStack.Create(1);

            myStack.Push(1);
            var result = myStack.Pop();

            Assert.That(result, Is.EqualTo(1));
        }
Beispiel #4
0
        public void WhenPushed_1_2_PopShouldReturn_2_1()
        {
            var myStack = MyStack.Create(2);

            myStack.Push(1);
            myStack.Push(2);

            Assert.That(myStack.Pop(), Is.EqualTo(2));
            Assert.That(myStack.Pop(), Is.EqualTo(1));
        }
Beispiel #5
0
 public void GivenNegativeSize_ConstructorShouldThrowMyStackUnderflowException()
 {
     Assert.That(() => MyStack.Create(-1), Throws.TypeOf <MyStackNegativeSizeException>());
 }
Beispiel #6
0
 public void GivenZeroStack_PopShouldThrowMyStackUnderflowException()
 {
     Assert.That(() => MyStack.Create(0).Push(1), Throws.TypeOf <MyStackOverflowException>());
 }
Beispiel #7
0
 public void GivenEmptyStack_PopShouldThrowMyStackUnderflowException()
 {
     Assert.That(() => MyStack.Create(1).Pop(), Throws.TypeOf <MyStackUnderflowException>());
 }