Esempio n. 1
0
        public void ShouldReturnMaxItemFromStackWhenPush()
        {
            var cut = new MaxStackImplementation <int>(5);


            cut.Push(4);
            Assert.AreEqual(4, cut.Max());

            cut.Push(2);
            Assert.AreEqual(4, cut.Max());

            cut.Push(14);
            Assert.AreEqual(14, cut.Max());

            cut.Push(1);
            Assert.AreEqual(14, cut.Max());

            cut.Push(18);
            Assert.AreEqual(18, cut.Max());
        }
Esempio n. 2
0
        public void ShouldReturnMaxItemFromStackWhenPopWithDuplicatedItems()
        {
            var items = new List <int> {
                4, 2, 14, 1, 14
            };
            var cut = new MaxStackImplementation <int>(items.Capacity);

            items.ForEach(item => cut.Push(item));


            cut.Pop(); //14
            Assert.AreEqual(14, cut.Max());

            cut.Pop(); //1
            Assert.AreEqual(14, cut.Max());

            cut.Pop(); //14
            Assert.AreEqual(4, cut.Max());

            cut.Pop(); //2
            Assert.AreEqual(4, cut.Max());
        }