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)); }
public bool CanCalculate(IMathTask operation) { return(operation is FibonacciTask); }
public IOperationResult Calculate(IMathTask operation) { var fibonacciOperation = (FibonacciTask)operation; return(CalculateFibonacci(fibonacciOperation)); }