public void CalculationListTest() { double _a = 4; double _b = 2; Func <double, double, double> _action = Operations.Sum; var _calculatorBuilder = new CalculatorBuilder(); Calculator _calculator = new Calculator(_calculatorBuilder); _calculator.CreateCalculation(_a, _b, _action); _action = Operations.Difference; _calculator.CreateCalculation(_a, _b, _action); _action = Operations.Division; _calculator.CreateCalculation(_a, _b, _action); _action = Operations.Multiplication; _calculator.CreateCalculation(_a, _b, _action); _calculatorBuilder.GetList().ForEach(action : delegate(ICalculation calculations) { Console.WriteLine(calculations.GetResult()); }); }
public void DivisionTest() { double _a = 15; double _b = 5; Func <double, double, double> _action = Operations.Division; Calculator _calculator = new Calculator(new CalculatorBuilder()); var _result = _calculator.CreateCalculation(_a, _b, _action); Assert.AreEqual(_result.GetResult(), 3); }
public void SumListTest() { //initialize a new list of numbers List <double> _values = new List <double> { 1, 2, 3, 4, 5, 6 }; Func <List <double>, double> _operations = OperationList.SumList; Calculator _calculator = new Calculator(new CalculatorBuilder()); //Not setting new CalculatorBuilder() will throw a System.NullReferenceException where the object has not been set to an instance of an object var _result = _calculator.CreateCalculation(_values, _operations); Assert.AreEqual(21, _result.GetResult()); }
public void SumTest() { double _a = 1; double _b = 2; Func <double, double, double> _action = Operations.Sum; Calculator _calculator = new Calculator(new CalculatorBuilder()); //var _calculatorBuilder = new CalculatorBuilder(); //var _result = _calculatorBuilder.CreateCalculation(_a, _b, _action); var _result = _calculator.CreateCalculation(_a, _b, _action); Console.WriteLine(_result.GetResult()); Assert.AreEqual(_result.GetResult(), 3); //Console.WriteLine(_calculatorBuilder.GetList()[0].GetResult()); //var _result = _calculator.CreateCalculation(_a, _b, _action); }
public void AddValueDecoratorTest() { double _a = 15; double _b = 5; Func <double, double, double> _action = Operations.Division; Calculator _calculator = new Calculator(new CalculatorBuilder()); var _result = _calculator.CreateCalculation(_a, _b, _action); Func <List <double>, double> _operations = OperationList.SumList; AddValues _addValues = new AddValues(_result.GetResult()); List <double> _newValues = new List <double> { 1, 2, 3, 4, 5, 6 }; var _newResults = _addValues.CreateNewCalculation(_newValues, _operations); Assert.AreEqual(_result.GetResult(), 3); Assert.AreEqual(_newResults.GetResult(), 24); Console.WriteLine(_newResults.GetResult()); }