public void GetValue_Variable_CorrectValue() { var variable = new GlobalVariable(new CSharpScalarResolver <object>("Math.Min(30, 50)")); var resolver = new GlobalVariableScalarResolver <object>("alpha", new Dictionary <string, ITestVariable>() { { "alpha", variable } }); var param = new QueryParameter("param", resolver); Assert.That(param.GetValue(), Is.EqualTo(30)); }
public void Execute_ExistingVariableWrongType_CorrectEvaluation() { var globalVariables = new Dictionary <string, ITestVariable>() { { "myVar", new TestVariable(new CSharpScalarResolver <object>(new CSharpScalarResolverArgs("(10*10).ToString()"))) }, { "otherVar", new TestVariable(new CSharpScalarResolver <object>(new CSharpScalarResolverArgs("10+10"))) } }; var args = new GlobalVariableScalarResolverArgs("myVar", globalVariables); var resolver = new GlobalVariableScalarResolver <int>(args); Assert.That(resolver.Execute(), Is.EqualTo(100)); }
public void Execute_ExistingVariableWrongTypeDateTime_CorrectEvaluation() { var globalVariables = new Dictionary <string, ITestVariable>() { { "myVar", new TestVariable(new CSharpScalarResolver <object>(new CSharpScalarResolverArgs("\"2017-05-12\""))) }, { "otherVar", new TestVariable(new CSharpScalarResolver <object>(new CSharpScalarResolverArgs("10+10"))) } }; var args = new GlobalVariableScalarResolverArgs("myVar", globalVariables); var resolver = new GlobalVariableScalarResolver <DateTime>(args); Assert.That(resolver.Execute(), Is.EqualTo(new DateTime(2017, 5, 12))); }
public void GetValue_Variable_GetValueCalledOnce() { var internalResolverMock = new Mock <IScalarResolver>(); internalResolverMock.Setup(x => x.Execute()).Returns(It.IsAny <object>()); var resolver = new GlobalVariableScalarResolver <object>("alpha", new Dictionary <string, ITestVariable>() { { "alpha", new GlobalVariable(internalResolverMock.Object) } }); var param = new QueryParameter("param", resolver); param.GetValue(); internalResolverMock.Verify(x => x.Execute(), Times.Once); }
public void Execute_ManyParallelExecutionOnlyOneEvaluation_CorrectEvaluation() { var resolverMock = Mock.Of <IScalarResolver>(); Mock.Get(resolverMock).Setup(r => r.Execute()).Returns(true); var globalVariables = new Dictionary <string, ITestVariable>() { { "myVar", new GlobalVariable(resolverMock) } }; var args = new GlobalVariableScalarResolverArgs("myVar", globalVariables); var resolver = new GlobalVariableScalarResolver <bool>(args); Parallel.Invoke( () => resolver.Execute(), () => resolver.Execute() ); Mock.Get(resolverMock).Verify(x => x.Execute(), Times.Once); }