public void Initialise()
 {
     delimiterRule      = new DelimiterRule();
     greaterNumberRule  = new GreaterNumberRule(1000);
     negativeNumberRule = new NegativeNumberRule();
     stringCalculator   = new StringCalculator(delimiterRule, greaterNumberRule, negativeNumberRule);
 }
        private void ArrangeActAndAssert(string numbers, int expected)
        {
            IStringCalculator stringCalculator = GetStringCalculator();
            int result = stringCalculator.Add(numbers);

            Assert.AreEqual(expected, result);
        }
Exemplo n.º 3
0
 // Initializes "OutputStringCalculator" object.
 // @stringCalculator specifies instance of "IStringCalculator".
 // @consoleWriter specifies instance of "IConsoleWriter".
 // @logger specifies instance of "ILogger".
 public OutputStringCalculator(IStringCalculator stringCalculator, ILogger logger, IConsoleWriter consoleWriter, IWebService webService)
 {
     m_stringCalculator = stringCalculator;
     m_logger           = logger;
     m_consoleWriter    = consoleWriter;
     m_webService       = webService;
 }
        public void Add_NegativeNumber_ThrowsException(string numbers, string negativeNumbersAreNotAllowed)
        {
            IStringCalculator stringCalculator = GetStringCalculator();
            TestDelegate      testDelegate     = () => stringCalculator.Add(numbers);
            var ex = Assert.Throws <ArgumentException>(testDelegate);

            Assert.AreEqual(negativeNumbersAreNotAllowed, ex.Message);
        }
Exemplo n.º 5
0
            protected override void Context()
            {
                base.Context();

                Display = A.Fake<IDisplay>();
                InputMonitor = A.Fake<IInputMonitor>();
                Calculator = A.Fake<IStringCalculator>();

                Sut = new Program(Display, InputMonitor, Calculator);
                Sut.Initialize();
            }
Exemplo n.º 6
0
        /// <summary>
        /// Method to process string, the following actions are inclusive:
        /// 1. Validation of string length (max 2) & format (comma as delimiter)
        /// 2. Use ASCII characters to determine numbers (-9 to 9) and supress non-numbers with 0
        /// 3. Summation of numbers in string
        /// </summary>
        /// <param name="stringToCheck"></param>
        private static void ProcessString(string stringToProcess)
        {
            _iStringCalculator = new Step1();

            List <string> entries = new List <string>();
            string        number  = string.Empty;

            try
            {
                foreach (var n in _iStringCalculator.ValidateString(stringToProcess))
                {
                    number = _iStringCalculator.FormatNumber(n);
                    entries.Add(number);
                    number = string.Empty;
                }

                _iStringCalculator.AddNumbers(entries);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
 protected StringCalculatorUnitTestBase()
 {
     _calculator = new StrCalculator(new TermExtractor(new CustomDelimiterExtractor()));
 }
Exemplo n.º 8
0
 protected Given_A_String_Calculator()
 {
     Calculator = new StringCalculator(
         new DefaultParser()
         );
 }
Exemplo n.º 9
0
 public App(IInput input, ILogger logger, IStringCalculator stringCalculator)
 {
     this.input            = input;
     this.logger           = logger;
     this.stringCalculator = stringCalculator;
 }
 public StringCalculatorFacts()
 {
     addOperator = new AddOperator();
     converter   = new Converter();
     testee      = new StringCalculator(addOperator, converter);
 }
 public StringCalculatorTests()
 {
     _stringCalculator = new StringCalculator();
 }
Exemplo n.º 12
0
 public StringCalculatorManager(string inputRequest)
 {
     this.calculatorService = GetDelemeterServie(inputRequest);
     this.stringCalculator  = new StringCalculator(this.calculatorService);
 }
Exemplo n.º 13
0
 public Program(IDisplay display, IInputMonitor inputMonitor, IStringCalculator calculator)
 {
     this.display = display;
     this.inputMonitor = inputMonitor;
     this.calculator = calculator;
 }
Exemplo n.º 14
0
 public void RunBeforeAnyTests()
 {
     calc = new StringCalculator();
 }
 public StringCalculatorTests()
 {
     //Arrange
     _stringCalc = new Calculator();
 }
 public StringCalculatorConsole(IStringCalculator calculator, IConsole console)
 {
     _calculator = calculator;
     _console = console;
 }
Exemplo n.º 17
0
 public Application(IStringCalculator stringCalculator)
 {
     _stringCalculator = stringCalculator;
 }
Exemplo n.º 18
0
 public CalculatorController(IStringCalculator calculator)
 {
     _calculator = calculator;
 }
 public StringCalculatorConsole(IStringCalculator calculator, IConsole console)
 {
     _calculator = calculator;
     _console    = console;
 }
 public void Background()
 {
     $"Given a Calculator to calculate the sum of two numbers".x(() =>
                                                                 stringCalculator = new StringCalculator(new AddOperator()));
 }