示例#1
0
        /// <summary>
        /// Creates a dna derived sequence after adding and removing few items from original sequence.
        /// Create a copy of derived sequence and validates it against expected sequence.
        /// </summary>
        /// <param name="nodeName">alphabet xml node.</param>
        private void ValidateDerivedSequenceClone(string nodeName)
        {
            // Get input and expected values from xml
            string expectedSequence = _utilityObj._xmlUtil.GetTextValue(
                nodeName, Constants.ExpectedSequence);
            string alphabetName = _utilityObj._xmlUtil.GetTextValue(
                nodeName, Constants.AlphabetNameNode);
            string removeRange = _utilityObj._xmlUtil.GetTextValue(
                nodeName, Constants.RemoveRange);
            string addSequence = _utilityObj._xmlUtil.GetTextValue(
                nodeName, Constants.AddSequence);
            string derivedSequence = _utilityObj._xmlUtil.GetTextValue(
                nodeName, Constants.DerivedSequence);
            IAlphabet alphabet = Utility.GetAlphabet(alphabetName);

            // Create derived Sequence
            DerivedSequence derSequence = CreateDerivedSequence(
                alphabet, expectedSequence, addSequence, removeRange);
            DerivedSequence derSequenceCopy = derSequence.Clone();


            // Validate copy of derived Sequence.
            Assert.AreEqual(derSequence.ToString(), derSequenceCopy.ToString());
            Assert.AreEqual(derivedSequence, derSequenceCopy.ToString());

            Console.WriteLine(
                "DerivedSequenceBvtTestCases:Validation of Clone() of derived sequence completed successfully");
            ApplicationLog.WriteLine(
                "DerivedSequenceBvtTestCases:Validation of Clone() of derived sequence completed successfully");
        }
示例#2
0
        public void DerivedSequenceClone()
        {
            Sequence        seq    = new Sequence(Alphabets.RNA, "ACUGA");
            DerivedSequence derSeq = new DerivedSequence(seq);

            derSeq.RemoveAt(0);
            Assert.AreEqual(derSeq.ToString(), "CUGA");
            derSeq.RemoveAt(2);
            Assert.AreEqual(derSeq.ToString(), "CUA");
            derSeq.Insert(2, Alphabets.RNA.C);
            Assert.AreEqual(derSeq.ToString(), "CUCA");
            DerivedSequence cloneCopy = derSeq.Clone();

            Assert.AreNotSame(derSeq, cloneCopy);
            Assert.AreNotSame(derSeq.Source, cloneCopy.Source);
            Assert.AreEqual(derSeq.ToString(), cloneCopy.ToString());
        }