Beispiel #1
0
        public IOperationResult Calculate(IMathTask task)
        {
            var operation = MathOperations
                            .FirstOrDefault(o => o.CanCalculate(task));

            if (operation == null)
            {
                return(MathOperationResult.Error($"Operation '{task}' is not supported."));
            }

            return(operation.Calculate(task));
        }
 public bool CanCalculate(IMathTask operation)
 {
     return(operation is SequenceTask);
 }
        public IOperationResult Calculate(IMathTask operation)
        {
            var sequenceOperation = (SequenceTask)operation;

            return(CalculateSequence(sequenceOperation));
        }
Beispiel #4
0
 public bool CanCalculate(IMathTask operation)
 {
     return(operation is FibonacciTask);
 }
Beispiel #5
0
        public IOperationResult Calculate(IMathTask operation)
        {
            var fibonacciOperation = (FibonacciTask)operation;

            return(CalculateFibonacci(fibonacciOperation));
        }