using System; using System.Collections.Generic; using System.Text; using UnitTestSharp; using DNAModule.Sunweaver.Commands.Abstracts; using DNAModule.Sunweaver.Commands.BinaryMath; using DNAModule.Sunweaver.DataPrototypes; namespace DNAModule.Sunweaver.UnitTests.Commands.BinaryMath { public class modTests : TestFixture { BasePair bp = new mod(); VirtualMachine VM; public override void TestSetup() { VM = new VirtualMachine(); } public void ModsCorrectly() { VM.Stack.Push(25); VM.Stack.Push(13); bp.Implementation(VM); CheckEqual(12, VM.Stack.Pop()); } public void NegativeDenominator() { VM.Stack.Push(25); VM.Stack.Push(-13); bp.Implementation(VM); CheckEqual(12, VM.Stack.Pop()); } public void NegativeNumerator() { VM.Stack.Push(-25); VM.Stack.Push(13); bp.Implementation(VM); CheckEqual(-12, VM.Stack.Pop()); } public void BothNegative() { VM.Stack.Push(-25); VM.Stack.Push(-13); bp.Implementation(VM); CheckEqual(-12, VM.Stack.Pop()); } public void DivideByZero() { VM.Stack.Push(25); VM.Stack.Push(0); bp.Implementation(VM); CheckEqual(25, VM.Stack.Pop()); } public void NameTest() { CheckEqual("mod", bp.ToString()); } } }