/// <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"); }
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()); }