using System; using System.Collections.Generic; using System.Text; using UnitTestSharp; using DNAModule.Sunweaver.Commands.Abstracts; namespace DNAModule.Sunweaver.UnitTests.Commands.Abstracts { public class UnaryOperationTests : TestFixture { class UnaryOperationTester : UnaryOperation { public long A = 0; public override void Operation(long a) { A = a; } } public override void TestSetup() { VM = new DNAModule.Sunweaver.DataPrototypes.VirtualMachine(); } UnaryOperationTester bp = new UnaryOperationTester(); DNAModule.Sunweaver.DataPrototypes.VirtualMachine VM; public void DecreasesStackDepthBy1() { VM.Stack.Push(20); bp.Implementation(VM); CheckEqual(0, VM.Stack.Count()); } public void FizzlesWhenEmpty() { bp.A = 100; bp.Implementation(VM); CheckEqual(0, VM.Stack.Count()); CheckEqual((long)100, bp.A); } public void PullsStackValuesCorrectly() { VM.Stack.Push(1); bp.Implementation(VM); CheckEqual((long)1, bp.A); } } }