예제 #1
0
        public void IsEmpty_StackIsEmpty_ReturnsTrue()
        {
            var stack  = new DynamicStack <int>();
            var result = stack.IsEmpty();

            Assert.IsTrue(result == true);
        }
예제 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Numbers for Static Stack:");
            Console.WriteLine("(Until u enter empty line or invalid format for a number)");

            StaticStack<int> sampleStack = new StaticStack<int>();

            Program.ConsoleReader(sampleStack);
            Console.WriteLine("Result:");
            while (sampleStack.Count > 0)
            {
                Console.WriteLine(sampleStack.Pop());
            }

            Console.WriteLine();
            Console.WriteLine("Numbers for Dynamic Stack:");
            Console.WriteLine("(Until u enter empty line or invalid format for a number)");

            DynamicStack<int> sampleDynamicStack = new DynamicStack<int>();

            Program.ConsoleReader(sampleDynamicStack);
            Console.WriteLine("Result:");

            while (sampleDynamicStack.Count > 0)
            {
                Console.WriteLine(sampleDynamicStack.Pop());
            }
          
        }
예제 #3
0
        public void Pop_NonEmptyStack_ItemRemovedFromStack()
        {
            var stack = new DynamicStack <int>();

            stack.Push(10);
            stack.Push(100);

            var popedItem = stack.Pop();

            //first pop should return 100 one item should remain
            Assert.IsTrue(popedItem == 100);
            Assert.IsTrue(stack.CurrentSize == 1);

            popedItem = stack.Pop();

            //second pop should be 10 no item should remain
            Assert.IsTrue(popedItem == 10);
            Assert.IsTrue(stack.CurrentSize == 0);

            popedItem = stack.Pop();

            // pop on empty list
            Assert.IsTrue(popedItem == 0);
            Assert.IsTrue(stack.CurrentSize == 0);
        }
예제 #4
0
        public void Clear_EmptyStack_CurrentSizeIsZero()
        {
            var stack = new DynamicStack <int>();

            stack.Clear();

            Assert.IsTrue(stack.CurrentSize == 0);
        }
예제 #5
0
        public void IsEmpty_StackIsNotEmpty_ReturnsFalse()
        {
            var stack = new DynamicStack <int>();

            stack.Push(29);
            var result = stack.IsEmpty();

            Assert.IsTrue(result == false);
        }
예제 #6
0
파일: Startup.cs 프로젝트: cwetanow/Telerik
        public static void Main(string[] args)
        {
            var stack = new DynamicStack<int>();

            for (var i = 0; i < 10; i++)
            {
                stack.Push(i);

                Console.WriteLine(stack.Pop());
            }
        }
예제 #7
0
        public void Push_ReturnsTrue()
        {
            var stack  = new DynamicStack <int>();
            var result = stack.Push(10);

            result = stack.Push(100);
            result = stack.Push(1000);
            result = stack.Push(-100);

            Assert.IsTrue(result == true);
            Assert.IsTrue(stack.CurrentSize == 4);
        }
예제 #8
0
        public void TestContainsNonExistingValue()
        {
            var dynamicStack = new DynamicStack<int>();

            for (int i = 0; i < 1000; i++)
            {
                dynamicStack.Push(i);

            }

            var actual = dynamicStack.Contains(1002);
            Assert.IsFalse(actual);
        }
예제 #9
0
        public void TestClear()
        {
            var dynamicStack = new DynamicStack<int>();

            for (int i = 0; i < 1000; i++)
            {
                dynamicStack.Push(i);

            }

            dynamicStack.Clear();
            Assert.AreEqual(0, dynamicStack.Count);
        }
예제 #10
0
        public void Pop_EmptyStack_DefaultValueOfTheType()
        {
            //Test for default of string should be null
            var stringStack  = new DynamicStack <string>();
            var stringResult = stringStack.Pop();

            //Test for default of string should be null
            var intStack  = new DynamicStack <int>();
            var intResult = intStack.Pop();

            Assert.IsTrue(stringResult == null);
            Assert.IsTrue(stringStack.CurrentSize == 0);

            Assert.IsTrue(intResult == 0);
            Assert.IsTrue(intStack.CurrentSize == 0);
        }
예제 #11
0
        public void TestPop()
        {
            var dynamicStack = new DynamicStack<int>();
            var list = new List<object>();
            for (int i = 0; i < 1000; i++)
            {
                dynamicStack.Push(i);
                list.Add(i);
            }

            for (int i = 0; i < 50; i++)
            {
                dynamicStack.Pop();

            }
            list.RemoveRange(950, 50);
            list.Reverse();
            var expected = list.ToArray();
            var actual = dynamicStack.ToArray();

            CollectionAssert.AreEqual(expected, actual);
        }
예제 #12
0
        public DynamicStack CreateSack()
        {
            //limiting total stacks to 3;
            var stack = new DynamicStack();

            //push some elements to each stacks
            stack.Push(1, 1);
            stack.Push(2, 2);
            stack.Push(3, 3);

            stack.Push(1, 10);
            stack.Push(2, 2);
            stack.Push(3, 3);

            stack.Push(1, 1);
            stack.Push(2, 2);
            stack.Push(3, 3);

            //4,5,6 are at the top
            stack.Push(1, 4);
            stack.Push(2, 5);
            stack.Push(3, 6);
            return(stack);
        }
예제 #13
0
        public void DynamicBasedStack_DefaultConstructor()
        {
            var stack = new DynamicStack <int>();

            Assert.IsTrue(stack.CurrentSize == 0);
        }