using System; using System.Collections.Generic; using System.Text; using UnitTestSharp; using Sunweaver.VM; namespace Sunweaver.UnitTesting.VM { public class StackTest : TestFixture { public void Basic() { var stack = new IntStack(); stack.Push(599); stack.Push(699); CheckEqual(699, stack.Pop()); CheckEqual(599, stack.Pop()); } public void StackReturns0WhenEmpty() { var stack = new IntStack(); CheckEqual(0, stack.Count); CheckEqual(0, stack.Pop()); } public void StackCanHandleMax() { var stack = new IntStack(); stack.Push(IntStack.Max); CheckEqual(IntStack.Max, stack.Pop()); } public void StackCanHandleMin() { var stack = new IntStack(); stack.Push(IntStack.Min); CheckEqual(IntStack.Min, stack.Pop()); } public void MaxDouble_Roundtrip() { var stack = new IntStack(); stack.Push(IntStack.Max); double intermediate = stack.Pop(); long roundtrip = (long)intermediate; CheckEqual(roundtrip, IntStack.Max); } public void MinDouble_Roundtrip() { var stack = new IntStack(); stack.Push(IntStack.Min); double intermediate = stack.Pop(); long roundtrip = (long)intermediate; CheckEqual(roundtrip, IntStack.Min); } } }