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 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}"); }
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); }
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("ぽっぷしすぎなのおおお")); }