コード例 #1
0
        public void ReturnZero_WhenAdding_GivenEmptyString()
        {
            var stringCalculatorService = new StringCalculatorService();

            var result = stringCalculatorService.Add("");

            result.Should().Be(0);
        }
コード例 #2
0
        public void Add_ExpectedException_IfTherAreSomeNegativeNumber()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            stringCalculator.Add("-2,4");
        }
コード例 #3
0
        public void ReturnNumber_WhenAdding_GivenOneDigit(string toAdd, int expectedResult)
        {
            var stringCalculatorService = new StringCalculatorService();

            var result = stringCalculatorService.Add(toAdd);

            result.Should().Be(expectedResult);
        }
コード例 #4
0
        public void ShouldReturnValuesWhenSeparatedByEitherNewLineOrComma()
        {
            var inputString    = "1\n2,3";
            var expectedOutput = 6;

            StringCalculatorService stringCalculatorService = new StringCalculatorService();
            var output = stringCalculatorService.StringCalculator(inputString);

            Assert.AreEqual(expectedOutput, output);
        }
コード例 #5
0
        public void ShouldReturnAddedValuesWhenThreeValues()
        {
            var inputString    = "1,2,3";
            var expectedOutput = 6;

            StringCalculatorService stringCalculatorService = new StringCalculatorService();
            var output = stringCalculatorService.StringCalculator(inputString);

            Assert.AreEqual(expectedOutput, output);
        }
コード例 #6
0
        public void ShouldReturnZeroOnEmptyString()
        {
            var inputString    = "";
            var expectedOutput = 0;

            StringCalculatorService stringCalculatorService = new StringCalculatorService();
            var output = stringCalculatorService.StringCalculator(inputString);

            Assert.AreEqual(expectedOutput, output);
        }
コード例 #7
0
        public void ShouldReturnStringValueIfOnlyOneValue()
        {
            var inputString    = "1";
            var expectedOutput = 1;

            StringCalculatorService stringCalculatorService = new StringCalculatorService();
            var output = stringCalculatorService.StringCalculator(inputString);

            Assert.AreEqual(expectedOutput, output);
        }
コード例 #8
0
        public void Add_GivenMultipleNumbersWithDifferentDelimeters_ShouldReturnTheirSum(string numbers, int expected)
        {
            //arrange
            var sut = new StringCalculatorService();

            //act
            var actual = sut.Add(numbers);

            //assert
            Assert.AreEqual(expected, actual);
        }
コード例 #9
0
        public void Add_GivenNumbersGreaterThan1000_ShouldIgnoreThem(string numbers, int expected)
        {
            //arrange
            var sut = new StringCalculatorService();

            //act
            var actual = sut.Add(numbers);

            //assert
            Assert.AreEqual(expected, actual);
        }
コード例 #10
0
        public void Add_GivenNegativeNumbers_ShouldReturnNegativesNotAllowedWithNegativeNumbers(string numbers)
        {
            //arrange
            var sut = new StringCalculatorService();

            //act
            var expected = Assert.Throws <Exception> (() => sut.Add(numbers));

            //assert
            Assert.AreEqual("Negatives Not Allowed -9 -10 -1", expected.Message);
        }
コード例 #11
0
        public void Add_GivenASingleNumber_ShouldReturnThatNumber(string numbers, int expected)
        {
            //arrange
            var sut = new StringCalculatorService();

            //act
            var actual = sut.Add(numbers);

            //assert
            Assert.AreEqual(expected, actual);
        }
コード例 #12
0
        public void ShouldReturnInt()
        {
            var  inputString = "";
            bool shouldBeInt = true;

            StringCalculatorService stringCalculatorService = new StringCalculatorService();
            var output = stringCalculatorService.StringCalculator(inputString);

            bool outputIsInt = (output.GetType() == typeof(int));

            Assert.AreEqual(shouldBeInt, outputIsInt);
        }
コード例 #13
0
        public void Add_CorrectOperation_WhenMultipleDelimeters()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.Add("1 2;6,4\n2*0");
            var result = 15;

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #14
0
        public void GetFilteredNumbers_ReturnsAnStringFiltered()
        {
            //Arrage
            IFilterString stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.GetFilteredNumbers("//;1;2\n4\n4");
            var result = "1;2\n4\n4";

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #15
0
        public void Add_GivenAnEmptyNumber_ShouldReturn0(string numbers)
        {
            //arrange
            var sut = new StringCalculatorService();

            //act
            var actual = sut.Add(numbers);

            //assert
            var expected = 0;

            Assert.AreEqual(expected, actual);
        }
コード例 #16
0
        public void Add_ReturnsSumm_ByChangingTheDelimeter()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.Add("//;1;2\n4\n4");
            var result = 11;

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #17
0
        public void Add_ReturnsSum_AcceptTreeDelimeters()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.Add("1,2\n4;4");
            var result = 11;

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #18
0
        public void Add_ReturnsTheSum_TreeInputsSeparatedByComa()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.Add("1,2,4");
            var result = 7;

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #19
0
        public void Add_ReturnsTheNumber_IfTheInputIsANumber()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.Add("1");
            var result = 1;

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #20
0
        public void Add_CorrectOperation_WhenLongDelimeters()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.Add("1**3");
            var result = 4;

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #21
0
        public void Add_Returns0_IfInputIsEmpty()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.Add("");
            var result = 0;

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #22
0
        public void Add_NumbersAbove1000AreNotBeingConseidereds()
        {
            //Arrage
            IStringCalculatorService stringCalculator = new StringCalculatorService();

            //Act
            var actual = stringCalculator.Add("1,1001;6");
            var result = 7;

            //Assert

            Assert.AreEqual(result, actual);
        }
コード例 #23
0
        public void ReturnTheSum_WhenInputIsAListOfNumbers()
        {
            int number = StringCalculatorService.Add("1,2,5,10");

            Assert.That(number, Is.EqualTo(18));
        }
        public void ReturnTheConvertedNumber_IgnoringPrefixBeforeNewLine()
        {
            int number = StringCalculatorService.Add("//c\n0");

            Assert.That(number, Is.EqualTo(0));
        }
 public void CheckNegatives()
 {
     Assert.That(() => StringCalculatorService.Add("-1"), Throws.ArgumentException);
 }
        public void ReturnTheInputNumberAsInteger(string inputString, int expectedNumber)
        {
            int number = StringCalculatorService.Add(inputString);

            Assert.That(number, Is.EqualTo(expectedNumber));
        }
        public void ReturnZero_WhenInputIsEmptyString()
        {
            int number = StringCalculatorService.Add("");

            Assert.That(number, Is.EqualTo(0));
        }
 public void ThrowNullReferenceException_WhenInputIsNull()
 {
     Assert.That(() => StringCalculatorService.Add(null), Throws.TypeOf(typeof(NullReferenceException)));
 }
コード例 #29
0
        public void AcceptACustomDelimiter()
        {
            int number = StringCalculatorService.Add("//;\n1;2");

            Assert.That(number, Is.EqualTo(3));
        }
コード例 #30
0
        public void AcceptCommaAndNewlineAsSeparator()
        {
            int number = StringCalculatorService.Add("1\n2,3");

            Assert.That(number, Is.EqualTo(6));
        }