public Engine(IPrimitiveCalculator calculator, IReader reader, IWriter writer, IDictionary <char, IStrategy> symbolicStrategyMapper) { this.calculator = calculator; this.reader = reader; this.writer = writer; this.symbolicStrategyMapper = symbolicStrategyMapper; }
public Engine() { this.reader = new ConsoleReadLine(); this.writer = new ConsoleWriteLine(); this.symbols = new Dictionary <char, IStrategy>(); this.GetSymbols(); this.calculator = new PrimitiveCalculator(); }
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()); } }
private static void PrintResult(IPrimitiveCalculator primitiveCalculator, string[] commandArgs) { int result = primitiveCalculator.PerformCalculation(int.Parse(commandArgs[0]), int.Parse(commandArgs[1])); Console.WriteLine(result); }
public Engine(IPrimitiveCalculator calculator, IReader reader, IWriter writer) { this.calculator = calculator; this.reader = reader; this.writer = writer; }
public Engine(IPrimitiveCalculator calculator, IReader reader, IWriter writer) : this(calculator, reader, writer, new Dictionary <char, IStrategy>()) { this.SetDefaultSymbolicStrategyMapper(); }
public Engine() { this.primitiveCalculator = new PrimitiveCalculator(); this.isRunning = true; }