using System; using System.Collections.Generic; using System.Text; using UnitTestSharp; using Sunweaver.DataPrototypes; using Sunweaver.Commands.Abstracts; namespace Sunweaver.UnitTests { class CoduleInsertionMutationTests : 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 CoduleInsertionMutation(); } Codule c, d; CoduleMutation m; public void testMutatesBasicProper() { CheckEqual(c, d); m.mutate(c, 1, 8); CheckFalse(c.Equals(d)); m.mutate(d, 1, 8); CheckFalse(c.Equals(d)); } public void testMutatesBadIndex() { CheckEqual(c, d); m.mutate(c, -1, 8); CheckFalse(c.Equals(d)); m.mutate(d, -1, 8); CheckFalse(c.Equals(d)); } public void testMutatesBadIndex2() { CheckEqual(c, d); m.mutate(c, 1000000, 8); CheckFalse(c.Equals(d)); m.mutate(d, 1000000, 8); CheckFalse(c.Equals(d)); } public void testMutatesBadLength() { CheckEqual(c, d); m.mutate(c, 1, -80); CheckFalse(c.Equals(d)); m.mutate(d, 1, -80); CheckFalse(c.Equals(d)); } public void testMutatesBadLengthAndBadIndex() { CheckEqual(c, d); m.mutate(c, -10, -80); CheckFalse(c.Equals(d)); m.mutate(d, -10, -80); CheckFalse(c.Equals(d)); } public void testMutatesBadLengthAndBadIndex2() { CheckEqual(c, d); m.mutate(c, 100000, -80); CheckFalse(c.Equals(d)); m.mutate(d, 100000, -80); CheckFalse(c.Equals(d)); } } }