Ejemplo n.º 1
0
 public void Test()
 {
     Stack.Stack<int> stack=new Stack.Stack<int>();
     stack.Push(1);
     stack.Push(2);
     stack.Push(2);
     stack.Push(2);
     Console.WriteLine(stack.Size);
     Console.WriteLine(stack.Top());
     Console.WriteLine(stack.Pop());
     Console.WriteLine(stack.Pop());
     Console.WriteLine(stack.Size);
 }
Ejemplo n.º 2
0
        public void PUT_PopContract([PexAssumeUnderTest] Stack.Stack <int> s1)
        {
            AssumePrecondition.IsTrue(s1.Count > 0);
            int Old_s1Count = s1.Count;
            //int Old_Ret = PexChoose.Value<int>("old_ret");
            int Old_Top = s1.Peek();

            /*code*/
            int New_Ret = s1.Pop();

            //Old_ret = New_ret;
            int New_Top = s1.Count > 0 ? s1.Peek() : PexChoose.Value <int>("old_top");
            //int New_Top = s1.Count > 0 ? s1.Peek() : Old_Top - 1;
            int  New_s1Count        = s1.Count;
            bool New_ContainsNewRet = s1.Contains(New_Ret);

            PexObserve.ValueForViewing("$Old_s1_Count", Old_s1Count);
            PexObserve.ValueForViewing("$New_s1_Count", New_s1Count);
            PexObserve.ValueForViewing("$Old_s1_Peek", Old_Top);
            PexObserve.ValueForViewing("$new_s1_Peek", New_Top);
            //PexObserve.ValueForViewing("$Old_ret", Old_Ret);
            PexObserve.ValueForViewing("$New_ret", New_Ret);
            PexObserve.ValueForViewing("$New_ContainsNewRet", New_ContainsNewRet);

            Assert.True(((New_s1Count == -1 + Old_s1Count && New_Ret == Old_Top)));
        }
Ejemplo n.º 3
0
        public void PopTest()
        {
            var stack = new Stack.Stack <int>();

            stack.Push(7);
            stack.Push(8);
            stack.Pop();
            Assert.Equal(7, stack.data[stack.count - 1]);
        }
Ejemplo n.º 4
0
        public void MainTest()
        {
            var sut = new Stack.Stack <int>();

            sut.Push(5);

            PopAndAssert(sut, 5);

            Assert.ThrowsException <InvalidOperationException>(() => sut.Pop());

            sut.Push(7);
            sut.Push(9);
            sut.Push(1);

            PopAndAssert(sut, 1);
            PopAndAssert(sut, 9);
            PopAndAssert(sut, 7);
        }
Ejemplo n.º 5
0
        public static Stack.Stack <int> SortStack(Stack.Stack <int> stack)
        {
            Stack.Stack <int> rstk = new Stack.Stack <int>();

            while (!stack.IsEmpty())
            {
                int temp = stack.Pop();

                while (!rstk.IsEmpty() && rstk.Peek() > temp)
                {
                    stack.Push(rstk.Pop());
                }

                rstk.Push(temp);
            }

            return(rstk);
        }