public void Hamming_Empty_Strings_Throw_Exceptions()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            try
            {
                processor.HammingDistance("", "");
                Assert.Fail();
            }
            catch (AssertFailedException e)
            {
                throw e;
            }
            catch (ArgumentException)
            {
            }
        }
        public void Hamming_Different_Multiple_Letters()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual(7, processor.HammingDistance("GAGCCTACTAACGGGAT", "CATCGTAATGACGGCCT"));
        }
        public void Hamming_Different_Double_Letters()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual(2, processor.HammingDistance("GG", "AA"));
        }
        public void Hamming_Same_Double_Letters()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual(0, processor.HammingDistance("AA", "AA"));
        }
        public void C_Returns_0_1_0_0()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("0 1 0 0", processor.CountNucleotides("C"));
        }
        public void TranscribeMultipleNucleotidesWithT()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("GGAACCUUAACC", processor.TranscribeDnaToRna("GGAACCTTAACC"));
        }
        public void Gc_Content_Empty_String_Returns_0()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual(0.0, processor.GcPercentage(""), 0.000001);
        }
        public void EmtpyStringReturnsEmptyString()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("", processor.TranscribeDnaToRna(""));
        }
        public void AAAReturnsTTT()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("TTT", processor.ReverseComplement("AAA"));
        }
        public void GTCAReturnsTGAC()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("TGAC", processor.ReverseComplement("GTCA"));
        }
        public void CReturnsG()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("G", processor.ReverseComplement("C"));
        }
        public void EmptyStringReturnsEmptyString()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("", processor.ReverseComplement(""));
        }
        public void TranscribeMultipleNucleotidesWithTSecond()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("GAUGGAACUUGACUACGUAAAUU", processor.TranscribeDnaToRna("GATGGAACTTGACTACGTAAATT"));
        }
        public void T_Returns_0_0_0_1()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("0 0 0 1", processor.CountNucleotides("T"));
        }
        public void Gc_Content_One_Char_C_Returns_100()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual(100.0, processor.GcPercentage("C"), 0.000001);
        }
        public void Returns_20_12_17_21()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("20 12 17 21", processor.CountNucleotides("AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC"));
        }
        public void Gc_Content_Two_Char_Returns_50()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual(50.0, processor.GcPercentage("GT"), 0.000001);
        }
        public void TTranscribesU()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("U", processor.TranscribeDnaToRna("T"));
        }
        public void EmptyStringReturns_0_0_0_0()
        {
            DnaNucleotideStringProcessor processor = new DnaNucleotideStringProcessor();

            Assert.AreEqual("0 0 0 0", processor.CountNucleotides(""));
        }