using System; using System.Collections.Generic; using System.Text; using UnitTestSharp; using DNAModule.Sunweaver.DataPrototypes; using DNAModule.Sunweaver.Commands.Abstracts; namespace DNAModule.Sunweaver.UnitTests { class CoduleAmplificationMutationTests : TestFixture { public override void TestSetup() { int length = 10; c = new Codule(); d = new Codule(); for (int i = 0; i < length; i++) { BasePair bp = DNASystem.CommandListClass.randomBasePair(1, 1, 1, 1); c.BasePairs.Add(bp); d.BasePairs.Add(bp); } m = new CoduleAmplificationMutation(); } Codule c, d; CoduleMutation m; public void testMutatesBasicProper() { CheckEqual(c, d); m.mutate(c, 1, 8); CheckFalse(c.Equals(d)); m.mutate(d, 2, 8); CheckFalse(c.Equals(d)); } public void testMutatesBadIndex() { CheckEqual(c, d); m.mutate(c, -1, 8); CheckFalse(c.Equals(d)); } public void testMutatesBadLength() { CheckEqual(c, d); m.mutate(c, 1, 8000000); CheckFalse(c.Equals(d)); m.mutate(d, 2, 8000000); CheckFalse(c.Equals(d)); } public void testMutatesBadLengthAndBadIndex() { CheckEqual(c, d); m.mutate(c, -1, 8000000); CheckFalse(c.Equals(d)); } public void testMutatesBadIndex2() { CheckEqual(c, d); m.mutate(c, 1000000, 8); CheckFalse(c.Equals(d)); m.mutate(d, 1000001, 9); CheckFalse(c.Equals(d)); } public void testMutatesBadLength2() { CheckEqual(c, d); m.mutate(c, 1, -8000000); CheckFalse(c.Equals(d)); m.mutate(d, 2, -8000000); CheckFalse(c.Equals(d)); } public void testMutatesBadLength2AndBadIndex2() { CheckEqual(c, d); for (int a = 0; a < 100; a++) m.mutate(c, 100000, -8000000); CheckFalse(c.Equals(d)); for (int a = 0; a < 100; a++) m.mutate(d, 100001, -800000); CheckFalse(c.Equals(d)); } } }