using System; using System.Collections.Generic; using System.Text; using UnitTestSharp; using Sunweaver.DataPrototypes; using Sunweaver.Commands.Abstracts; namespace Sunweaver.UnitTests { class CoduleTranslocationMutationTests : 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 CoduleTranslocationMutation(); } Codule c, d; CoduleMutation m; public void testMutatesBasicProper() { CheckEqual(c, d); for(int a=0; a<100; a++) m.mutate(c, 1, 8); CheckFalse(c.Equals(d)); } public void testMutatesBadIndex() { CheckEqual(c, d); for(int a=0; a<100; a++) m.mutate(c, 5, 8); CheckFalse(c.Equals(d)); } public void testMutatesBadLength() { CheckEqual(c, d); m.mutate(c, 1, 8000000); CheckTrue(c.Equals(d)); } public void testMutatesBadLengthAndBadIndex() { CheckEqual(c, d); m.mutate(c, -1, 8000000); CheckTrue(c.Equals(d)); } public void testMutatesBadIndex2() { CheckEqual(c, d); for(int a=0; a<100; a++) m.mutate(c, 1000000, 8); CheckFalse(c.Equals(d)); } public void testMutatesBadLength2() { CheckEqual(c, d); for (int a = 0; a < 100; a++) m.mutate(c, 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)); } } }