public void CalculateTest(double firstValue, double expected) { var calculator = new ArcSinus(); var actualResult = calculator.Calculate(firstValue); Assert.AreEqual(expected, actualResult, 0.0001); }
/// <summary> /// Function expression /// </summary> /// <param name="context"></param> /// <returns></returns> public override Function VisitFunction(CalculatorParser.FunctionContext context) { Function res = null; //Trigonometric functions if (FunctionMap[context.fun.Type] is Sinus) { res = new Sinus(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is Cosinus) { res = new Cosinus(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is Tangens) { res = new Tangens(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is Cotangens) { res = new Cotangens(Visit(context.expr())); } //Elementary functions if (FunctionMap[context.fun.Type] is Sqrt) { res = new Sqrt(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is Logarithm) { res = new Logarithm(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is Exponenta) { res = new Exponenta(Visit(context.expr())); } //Inverse Trigonometric functions if (FunctionMap[context.fun.Type] is ArcSinus) { res = new ArcSinus(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is ArcCosinus) { res = new ArcCosinus(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is ArcTangens) { res = new ArcTangens(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is ArcCotangens) { res = new ArcCotangens(Visit(context.expr())); } //Hyperbolic functions if (FunctionMap[context.fun.Type] is HypSinus) { res = new HypSinus(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is HypCosinus) { res = new HypCosinus(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is HypTangens) { res = new HypTangens(Visit(context.expr())); } if (FunctionMap[context.fun.Type] is HypCotangens) { res = new HypCotangens(Visit(context.expr())); } return(res); }
public void ExceptionTest(double firstArgument) { var calculator = new ArcSinus(); Assert.Throws <Exception>(() => calculator.Calculate(firstArgument)); }