public void Add_EmptyString_ReturnsZero()
        {
            var sut = new StringCalculator20191202();

            var result = sut.Add("");

            Assert.AreEqual(0, result);
        }
        public void Add_NumbersGreaterThan1000_AreIgnored(string numbers, int expectedSum)
        {
            var sut = new StringCalculator20191202();

            var result = sut.Add(numbers);

            Assert.AreEqual(expectedSum, result);
        }
        public void Add_MultiCharacterDelimiters_AreValid()
        {
            var sut = new StringCalculator20191202();

            var result = sut.Add("//;;;\n1;;;3;;;5");

            Assert.AreEqual(9, result);
        }
        public void Add_NegativeNumbers_ThrowsExceptionWithMessageContainingTheInvalidNumbers(string numbers, string expectedErrorMessage)
        {
            var sut = new StringCalculator20191202();

            var exception = Assert.ThrowsException <Exception>(() => sut.Add(numbers));

            Assert.IsTrue(exception.Message.Contains(expectedErrorMessage));
        }
        public void Add_DelimiterSpecifiedOnFirstLine_UsesSpecifiedDelimiterOnTopOfDefaults()
        {
            var sut = new StringCalculator20191202();

            var result = sut.Add("//;\n13,5");

            Assert.AreEqual(18, result);
        }
        public void Add_NewLineDelimiterAndCommasAtTheSameTime_ReturnsSumOfNumbers()
        {
            var sut = new StringCalculator20191202();

            var result = sut.Add("1\n3,5");

            Assert.AreEqual(9, result);
        }
        public void Add_NewLineDelimiter_IsAlsoValid()
        {
            var sut = new StringCalculator20191202();

            var result = sut.Add("1\n3");

            Assert.AreEqual(4, result);
        }
        public void Add_TwoNumbersSeparatedByComma_ReturnsSumOfNumbers(string numbers, int expectedSum)
        {
            var sut = new StringCalculator20191202();

            var result = sut.Add(numbers);

            Assert.AreEqual(expectedSum, result);
        }
        public void Add_SingleNumber_ReturnsSingleNumber()
        {
            var sut = new StringCalculator20191202();

            var result = sut.Add("5");

            Assert.AreEqual(5, result);
        }