Пример #1
0
 public Engine(IPrimitiveCalculator calculator, IReader reader, IWriter writer, IDictionary <char, IStrategy> symbolicStrategyMapper)
 {
     this.calculator             = calculator;
     this.reader                 = reader;
     this.writer                 = writer;
     this.symbolicStrategyMapper = symbolicStrategyMapper;
 }
Пример #2
0
 public Engine()
 {
     this.reader  = new ConsoleReadLine();
     this.writer  = new ConsoleWriteLine();
     this.symbols = new Dictionary <char, IStrategy>();
     this.GetSymbols();
     this.calculator = new PrimitiveCalculator();
 }
Пример #3
0
        private static void ChangeStrategy(IPrimitiveCalculator primitiveCalculator, string[] commandArgs)
        {
            char @operator = char.Parse(commandArgs[1]);

            if (@operator == '+')
            {
                primitiveCalculator.ChangeStrategy(new AdditionStrategy());
            }
            else if (@operator == '-')
            {
                primitiveCalculator.ChangeStrategy(new SubtractionStrategy());
            }
            else if (@operator == '*')
            {
                primitiveCalculator.ChangeStrategy(new MultiplicationStrategy());
            }
            else if (@operator == '/')
            {
                primitiveCalculator.ChangeStrategy(new DivisionStrategy());
            }
        }
Пример #4
0
        private static void PrintResult(IPrimitiveCalculator primitiveCalculator, string[] commandArgs)
        {
            int result = primitiveCalculator.PerformCalculation(int.Parse(commandArgs[0]), int.Parse(commandArgs[1]));

            Console.WriteLine(result);
        }
Пример #5
0
 public Engine(IPrimitiveCalculator calculator, IReader reader, IWriter writer)
 {
     this.calculator = calculator;
     this.reader     = reader;
     this.writer     = writer;
 }
Пример #6
0
 public Engine(IPrimitiveCalculator calculator, IReader reader, IWriter writer)
     : this(calculator, reader, writer, new Dictionary <char, IStrategy>())
 {
     this.SetDefaultSymbolicStrategyMapper();
 }
Пример #7
0
 public Engine()
 {
     this.primitiveCalculator = new PrimitiveCalculator();
     this.isRunning           = true;
 }