public void ControllerReturnsErrorWhenSyntaxErrorInAnalyticFunction() { var controller = new CorrelationController(); var request = new CorrelationRequestAnalytic() { Type = CorrelationType.Kendall, Function1 = "x+1", Function2 = "*Pow(x) + 1", //Error here LeftBorder = -Math.PI, RightBorder = Math.PI, PointsCount = 100 }; CorrelationResponse response = controller.Post(request); Assert.NotEqual(response.Error, null); }
public void ControllerWorksIdenticallyForAnalyticAndNumericFunctions() { var controller = new CorrelationController(); var scriptCompiler = new ScriptCompiler(); string funcDesc1 = "Cos(x)"; string funcDesc2 = "Sin(x)"; double leftBorder = -1, rightBorder = 1; int pointsCount = 20; var function1 = Function.Create(scriptCompiler.GetFunc(funcDesc1), leftBorder, rightBorder, pointsCount); var function2 = Function.Create(scriptCompiler.GetFunc(funcDesc2), leftBorder, rightBorder, pointsCount); var requestAnalytic = new CorrelationRequestAnalytic() { Type = CorrelationType.Pearson, Function1 = funcDesc1, Function2 = funcDesc2, //Error here LeftBorder = leftBorder, RightBorder = rightBorder, PointsCount = pointsCount }; var requestNumeric = new CorrelationRequestNumeric() { Type = CorrelationType.Pearson, Function1 = function1, Function2 = function2 }; CorrelationResponse response1 = controller.Post(requestAnalytic); CorrelationResponse response2 = controller.Post(requestNumeric); Assert.Equal(response1.Value, response2.Value); }