public void ValidateCopyTo() { // Get input and expected values from xml string expectedSequence = utilityObj.xmlUtil.GetTextValue( Constants.DnaDerivedSequenceNode, Constants.ExpectedSequence); string alphabetName = utilityObj.xmlUtil.GetTextValue( Constants.DnaDerivedSequenceNode, Constants.AlphabetNameNode); IAlphabet alphabet = Utility.GetAlphabet(alphabetName); // Create derived Sequence DerivedSequence seqObj = CreateDerivedSequence( alphabet, expectedSequence); byte[] array = new byte[expectedSequence.Length]; seqObj.CopyTo(array, 0, expectedSequence.Length); StringBuilder builder = new StringBuilder(); for (int i = 0; i < expectedSequence.Length; i++) { builder.Append((char)array[i]); } string actualValue = builder.ToString(); Assert.AreEqual(expectedSequence, actualValue); //check with a part of the expected seq only seqObj.CopyTo(array, 0, 5); builder = new StringBuilder(); for (int i = 0; i < 5; i++) { builder.Append((char)array[i]); } actualValue = builder.ToString(); Assert.AreEqual(expectedSequence.Substring(0, 5), actualValue); }
public void TestDeriveSequenceCopyTo() { ISequence seq = new Sequence(Alphabets.DNA, "ATCG"); DerivedSequence derSeq = new DerivedSequence(seq, false, true); byte[] array = new byte[2]; derSeq.CopyTo(array, 1, 2); string expectedValue = "AG"; StringBuilder b = new StringBuilder(); b.Append((char)array[0]); b.Append((char)array[1]); string actualValue = b.ToString(); Assert.AreEqual(expectedValue, actualValue); }
public void ValidateDerivedNullCopyTo() { // Pass protein sequences ISequence seqObj = new Sequence(Alphabets.Protein, "EEE"); DerivedSequence deriSeq = new DerivedSequence(seqObj); // Pass null value and get the exception required try { deriSeq.CopyTo(null, 0); Assert.IsTrue(false); } catch (ArgumentNullException) { ApplicationLog.WriteLine( "DerivedSequenceP2TestCases : Successfully validated the null exception for CopyTo() method"); Console.WriteLine( "DerivedSequenceP2TestCases : Successfully validated the null exception for CopyTo() method"); } }
/// <summary> /// Creates a dna derived sequence after adding and removing few items from original sequence. /// Create a empty array and copy all sequence items derived sequence /// and validates it against expected sequence items. /// </summary> /// <param name="nodeName"></param> private void ValidateDerivedSequenceCopyTo(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); ISequenceItem[] sequenceItems = new ISequenceItem[derSequence.Count]; derSequence.CopyTo(sequenceItems, 0); // Validate copy of derived Sequence. int index = 0; foreach (ISequenceItem item in sequenceItems) { Assert.AreEqual(derivedSequence[index], item.Symbol); index++; } Console.WriteLine( "DerivedSequenceBvtTestCases:Validation of Clone() of derived sequence completed successfully"); ApplicationLog.WriteLine( "DerivedSequenceBvtTestCases:Validation of Clone() of derived sequence completed successfully"); }
public void ValidateDerivedInvalidIndexCopyTo() { // Pass protein sequences ISequence seqObj = new Sequence(Alphabets.Protein, "EEE"); DerivedSequence deriSeqObj = new DerivedSequence(seqObj); ISequence tempSeqObj = new Sequence(Alphabets.Protein, "KIE"); ISequenceItem[] seqItemObj = tempSeqObj.ToArray(); // Pass invalid index value and get the exception required try { deriSeqObj.CopyTo(seqItemObj, -1); Assert.IsTrue(false); } catch (IndexOutOfRangeException) { ApplicationLog.WriteLine( "DerivedSequenceP2TestCases : Successfully validated the index out of range exception for CopyTo() method"); Console.WriteLine( "DerivedSequenceP2TestCases : Successfully validated the index out of range exception for CopyTo() method"); } }
public void InvalidateCopyTo() { // Get input and expected values from xml string expectedSequence = utilityObj.xmlUtil.GetTextValue( Constants.DnaDerivedSequenceNode, Constants.ExpectedSequence); string alphabetName = utilityObj.xmlUtil.GetTextValue( Constants.DnaDerivedSequenceNode, Constants.AlphabetNameNode); IAlphabet alphabet = Utility.GetAlphabet(alphabetName); // Create derived Sequence DerivedSequence seqObj = CreateDerivedSequence( alphabet, expectedSequence); //check with null array byte[] array = null; try { seqObj.CopyTo(array, 10, 20); Assert.Fail(); } catch (ArgumentNullException anex) { ApplicationLog.WriteLine("Successfully caught ArgumentNullException : " + anex.Message); } //check with more than available length array = new byte[expectedSequence.Length]; try { seqObj.CopyTo(array, 0, expectedSequence.Length + 100); Assert.Fail(); } catch (ArgumentException aex) { ApplicationLog.WriteLine("Successfully caught ArgumentException : " + aex.Message); } //check with negative start array = new byte[expectedSequence.Length]; try { seqObj.CopyTo(array, -5, expectedSequence.Length); Assert.Fail(); } catch (ArgumentException aex) { ApplicationLog.WriteLine("Successfully caught ArgumentException : " + aex.Message); } //check with negative count array = new byte[expectedSequence.Length]; try { seqObj.CopyTo(array, 0, -5); Assert.Fail(); } catch (ArgumentException aex) { ApplicationLog.WriteLine("Successfully caught ArgumentException : " + aex.Message); } }