public void MutantDetector_IsDnaValid_OneInvalidWhiteSpaceInTheMiddle_Fails()
        {
            //Arrange
            MutantDetector detector = new MutantDetector();

            string[] dna = { "AGT", "A C", "CCW" }; //==> " " is invalid

            //Action & Asserts
            DnaInvalidException ex = Assert.ThrowsException <DnaInvalidException>(() => detector.IsDnaValid(dna));

            Assert.AreEqual(ErrorMessages.k_DnaMustContainsValidLetters, ex.Message);
        }
        public void MutantDetector_IsDnaValid_OneInvalidLetterAtTheBeginning_Fails()
        {
            //Arrange
            MutantDetector detector = new MutantDetector();

            string[] dna = { "WAG", "ATC", "CCT" }; //==> W is invalid

            //Action & Asserts
            DnaInvalidException ex = Assert.ThrowsException <DnaInvalidException>(() => detector.IsDnaValid(dna));

            Assert.AreEqual(ErrorMessages.k_DnaMustContainsValidLetters, ex.Message);
        }
        public void MutantDetector_IsDnaValid_DnaEmptyInMiddle_Fails()
        {
            //Arrange
            MutantDetector detector = new MutantDetector();

            string[] dna = { "AGA", "   ", "CCT" };

            //Action & Asserts
            DnaInvalidException ex = Assert.ThrowsException <DnaInvalidException>(() => detector.IsDnaValid(dna));

            Assert.AreEqual(ErrorMessages.k_DnaCannotHasNullsOrEmpty, ex.Message);
        }
        public void MutantDetector_IsDnaValid_DnaNxM_Fails()
        {
            //Arrange
            MutantDetector detector = new MutantDetector();

            string[] dna = { "AGA", "AT", "CCT" };

            //Action & Asserts
            DnaInvalidException ex = Assert.ThrowsException <DnaInvalidException>(() => detector.IsDnaValid(dna));

            Assert.AreEqual(ErrorMessages.k_DnaMustBeNxN, ex.Message);
        }
        public void MutantDetector_IsDnaValid_DnaInNull_Fails()
        {
            //Arrange
            MutantDetector detector = new MutantDetector();

            string[] dna = null;

            //Action & Asserts
            DnaInvalidException ex = Assert.ThrowsException <DnaInvalidException>(() => detector.IsDnaValid(dna));

            Assert.AreEqual(ErrorMessages.k_DnaCannotBeNull, ex.Message);
        }