示例#1
0
        public void ValidateSparseSequenceGetSubSequence()
        {
            var byteList = new List <byte>
            {
                Alphabets.DNA.Gap,
                Alphabets.DNA.G,
                Alphabets.DNA.A,
                Alphabets.DNA.Gap,
                Alphabets.DNA.T,
                Alphabets.DNA.C,
                Alphabets.DNA.Gap,
                Alphabets.DNA.Gap
            };

            var sparseSeq = new SparseSequence(Alphabets.DNA, 0, byteList);

            ISequence result = sparseSeq.GetSubSequence(0, 3);

            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(Alphabets.DNA.Gap, result[0]);
            Assert.AreEqual(Alphabets.DNA.G, result[1]);
            Assert.AreEqual(Alphabets.DNA.A, result[2]);

            result = sparseSeq.GetSubSequence(0, 0);
            Assert.AreEqual(0, result.Count);

            result = sparseSeq.GetSubSequence(3, 2);
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(Alphabets.DNA.Gap, result[0]);
            Assert.AreEqual(Alphabets.DNA.T, result[1]);

            ApplicationLog.WriteLine("SparseSequenceBVT: Validation of GetSubSequence() method successfully completed");
        }
示例#2
0
        public void TestSparseSequenceGetSubsequence()
        {
            List <byte> byteList = new List <byte>();

            byteList.Add(Alphabets.DNA.Gap);
            byteList.Add(Alphabets.DNA.G);
            byteList.Add(Alphabets.DNA.A);
            byteList.Add(Alphabets.DNA.Gap);
            byteList.Add(Alphabets.DNA.T);
            byteList.Add(Alphabets.DNA.C);
            byteList.Add(Alphabets.DNA.Gap);
            byteList.Add(Alphabets.DNA.Gap);

            SparseSequence sparseSeq = new SparseSequence(Alphabets.DNA, 0, byteList);

            ISequence result = sparseSeq.GetSubSequence(0, 3);

            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(Alphabets.DNA.Gap, result[0]);
            Assert.AreEqual(Alphabets.DNA.G, result[1]);
            Assert.AreEqual(Alphabets.DNA.A, result[2]);

            result = sparseSeq.GetSubSequence(0, 0);
            Assert.AreEqual(0, result.Count);

            result = sparseSeq.GetSubSequence(3, 2);
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(Alphabets.DNA.Gap, result[0]);
            Assert.AreEqual(Alphabets.DNA.T, result[1]);

            // Invalid Argument tests.
            try
            {
                sparseSeq.GetSubSequence(10, 10);
                Assert.Fail();
            }
            catch (ArgumentOutOfRangeException)
            {
            }

            try
            {
                sparseSeq.GetSubSequence(0, 9);
                Assert.Fail();
            }
            catch (ArgumentOutOfRangeException)
            {
            }

            try
            {
                sparseSeq.GetSubSequence(1, 8);
                Assert.Fail();
            }
            catch (ArgumentOutOfRangeException)
            {
            }
        }
示例#3
0
        public void ValidateExceptionByPassingInvalidStartIndex()
        {
            //Create a sparse sequence.
            var sparseSeq = new SparseSequence(Alphabets.DNA);

            // Try to add RNA Sequence Item to DNA sparse sequence.
            try
            {
                sparseSeq.GetSubSequence(10, 0);
                Assert.Fail();
            }
            catch (ArgumentException)
            {
                ApplicationLog.WriteLine("SparseSequence P2: SparseSequence Exception was validated successfully");
            }
        }
示例#4
0
        public void ValidateExceptionByPassingInvalidLength()
        {
            //Create a sparse sequence.
            var sparseSeq = new SparseSequence(Alphabets.DNA, 5);

            try
            {
                sparseSeq.GetSubSequence(0, 10);
                Assert.Fail();
            }
            catch (ArgumentException)
            {
                // Log to GUI.
                ApplicationLog.WriteLine("SparseSequence P2: SparseSequence Exception was validated successfully");
            }
        }
示例#5
0
        public void TestSparseSequenceConstructorWithSequenceArgument()
        {
            IEnumerable <byte> seqItems = new List <Byte>()
            {
                65, 65, 67, 67
            };
            SparseSequence sparseSeq         = new SparseSequence(Alphabets.DNA, 0, seqItems);
            ISequence      seq               = sparseSeq.GetSubSequence(0, sparseSeq.Count);
            SparseSequence newSparseSequence = new SparseSequence(seq);
            ISequence      newSeq            = newSparseSequence.GetSubSequence(0, newSparseSequence.Count);

            string expectedValue = "AACC";
            string actualValue   = new string(newSeq.Select(x => (char)x).ToArray());

            Assert.AreEqual(expectedValue, actualValue);
        }
        public void ValidateExceptionByPassingInvalidLength()
        {
            //Create a sparse sequence.
            var sparseSeq = new SparseSequence(Alphabets.DNA, 5);

            try
            {
                sparseSeq.GetSubSequence(0, 10);
                Assert.Fail();
            }
            catch (ArgumentException)
            {
                // Log to GUI.
                ApplicationLog.WriteLine("SparseSequence P2: SparseSequence Exception was validated successfully");
            }
        }
        public void ValidateExceptionByPassingInvalidStartIndex()
        {
            //Create a sparse sequence.
            var sparseSeq = new SparseSequence(Alphabets.DNA);

            // Try to add RNA Sequence Item to DNA sparse sequence.
            try
            {
                sparseSeq.GetSubSequence(10, 0);
                Assert.Fail();
            }
            catch (ArgumentException)
            {
                ApplicationLog.WriteLine("SparseSequence P2: SparseSequence Exception was validated successfully");
            }
        }
        public void ValidateSparseSequenceGetSubSequence()
        {
            var byteList = new List<byte>
            {
                Alphabets.DNA.Gap,
                Alphabets.DNA.G,
                Alphabets.DNA.A,
                Alphabets.DNA.Gap,
                Alphabets.DNA.T,
                Alphabets.DNA.C,
                Alphabets.DNA.Gap,
                Alphabets.DNA.Gap
            };

            var sparseSeq = new SparseSequence(Alphabets.DNA, 0, byteList);

            ISequence result = sparseSeq.GetSubSequence(0, 3);
            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(Alphabets.DNA.Gap, result[0]);
            Assert.AreEqual(Alphabets.DNA.G, result[1]);
            Assert.AreEqual(Alphabets.DNA.A, result[2]);

            result = sparseSeq.GetSubSequence(0, 0);
            Assert.AreEqual(0, result.Count);

            result = sparseSeq.GetSubSequence(3, 2);
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(Alphabets.DNA.Gap, result[0]);
            Assert.AreEqual(Alphabets.DNA.T, result[1]);

            ApplicationLog.WriteLine("SparseSequenceBVT: Validation of GetSubSequence() method successfully completed");
        }
        public void TestSparseSequenceConstructorWithSequenceArgument()
        {
            IEnumerable<byte> seqItems = new List<Byte>() { 65, 65, 67, 67 };
            SparseSequence sparseSeq = new SparseSequence(Alphabets.DNA, 0, seqItems);
            ISequence seq = sparseSeq.GetSubSequence(0, sparseSeq.Count);
            SparseSequence newSparseSequence = new SparseSequence(seq);
            ISequence newSeq = newSparseSequence.GetSubSequence(0, newSparseSequence.Count);

            string expectedValue = "AACC";
            string actualValue = new string(newSeq.Select(x => (char)x).ToArray());
            Assert.AreEqual(expectedValue, actualValue);
        }