public void StackPush(T[] inputs)
        {
            var stack = new SelfStack <T>();

            foreach (var input in inputs)
            {
                stack.Push(input);
            }
            Assert.AreEqual(inputs.Length, stack.Count);
            Console.WriteLine($"入力:{inputs.Length}, 出力:{stack.Count}");
        }
Exemplo n.º 2
0
        public void Test()
        {
            var stack = new SelfStack(1);

            stack.Push(3);
            var x = stack.Pop();

            Assert.Equal(3, x);
            stack.Push(2);
            stack.Push(5);
            x = stack.Pop();
            Assert.Equal(5, x);
            x = stack.Pop();
            Assert.Equal(2, x);
        }
        public void PopPush(T[] inputs)
        {
            var stack = new SelfStack <T>();

            foreach (var input in inputs)
            {
                stack.Push(input);
            }

            foreach (var input in inputs.Reverse())
            {
                var item = stack.Pop();
                Assert.AreEqual(input, item);
                Console.WriteLine($"{input},{item}");
            }
        }
        public void PopExceptionPush(T[] inputs)
        {
            var stack = new SelfStack <T>();

            foreach (var input in inputs)
            {
                stack.Push(input);
            }

            foreach (var input in inputs)
            {
                stack.Pop();
            }
            Assert.That(() =>
            {
                stack.Pop();
            }, Throws.Exception.With.Message.EqualTo("ぽっぷしすぎなのおおお"));
        }
Exemplo n.º 5
0
        private static SelfStack <T> CreateRoot <T>(SelfGraph <T, int> graph, Dictionary <T, EvalVertex> evalDic, T start, T end)
        {
            var data  = graph.Data;
            var stack = new SelfStack <T>();

            stack.Push(end);
            var cur = end;

            while (!cur.Equals(start))
            {
                foreach (var(vertex, edge) in data[cur])
                {
                    if ((evalDic[cur].EvalValue - edge) == evalDic[vertex].EvalValue)
                    {
                        cur = vertex;
                        stack.Push(vertex);
                        break;
                    }
                }
            }
            return(stack);
        }