예제 #1
0
        public void PushPopRangeTest()
        {
            //arrange
            Stack1 stack = new Stack1();
            int    result;

            stack.Push(10);
            Assert.AreEqual(stack.Max(), 10, "Value should be 10");

            stack.Push(15);
            Assert.AreEqual(stack.Max(), 15, "Value should be 15");

            stack.Push(3);
            Assert.AreEqual(stack.Max(), 15, "Value should be 15");

            stack.Push(100);
            Assert.AreEqual(stack.Max(), 100, "Value should be 100");

            stack.Pop();
            Assert.AreEqual(stack.Max(), 15, "Value should be 15");

            stack.Pop();
            Assert.AreEqual(stack.Max(), 15, "Value should be 15");

            stack.Pop();
            Assert.AreEqual(stack.Max(), 10, "Value should be 10");
        }
예제 #2
0
        public void TestMaxWithMaxToSmallest()
        {
            //arrange
            Stack1 stack    = new Stack1();
            int    expected = 10;
            int    result;

            //act
            stack.Push(10);
            stack.Push(5);
            stack.Push(1);
            result = stack.Max();

            //assert
            Assert.AreEqual(result, expected);
        }
예제 #3
0
        public void TestMaxWhenWasAndPoped()
        {
            //arrange
            Stack1 stack = new Stack1();

            int[] values   = new int[] { 1, 2, 10, 5, 20 };
            int   expected = 10;
            int   result;

            //act
            foreach (int val in values)
            {
                stack.Push(val);
            }
            stack.Pop();
            stack.Pop();

            result = stack.Max();

            //assert
            Assert.AreEqual(result, expected);
        }