public void SuccessfullyCalculateAnExponent() { var function = new ExponentFunction(); var inputs = function.GetInputs(); Assert.NotNull(inputs); Assert.Collection(inputs, i => { Assert.Equal("Base", i.Info.Name); Assert.Null(i.Info.Description); Assert.Null(i.Info.Unit); }, i => { Assert.Equal("Exponent", i.Info.Name); Assert.Null(i.Info.Description); Assert.Null(i.Info.Unit); }); inputs[0].Value = 8; inputs[1].Value = 3; var result = function.Calculate(inputs); Assert.NotNull(result); Assert.Collection(result, i => { Assert.Equal(typeof(double), i.GetValueType()); Assert.Equal(512, TypeConverter.ToObject <int>(i.Value)); }); }
public void SuccessfullySetFunctionInfo() { var function = new ExponentFunction(); Assert.NotNull(function.FunctionInfo); Assert.Equal("Exponent", function.FunctionInfo.Name); Assert.Equal(new Version("1.0.0"), function.FunctionInfo.Version); Assert.Equal("Raise a number to a power.", function.FunctionInfo.Description); Assert.Collection(function.FunctionInfo.Tags, i => Assert.Equal("algebra", i), i => Assert.Equal("exponent", i), i => Assert.Equal("power", i)); }
public void SuccessfullyCalculateAnExponentWithOnlyExponentSpecified() { var function = new ExponentFunction(); var inputs = function.GetInputs(); Assert.NotNull(inputs); inputs[1].Value = 3; var result = function.Calculate(inputs); Assert.Collection(result, i => { Assert.Equal(typeof(double), i.GetValueType()); Assert.Equal(0, TypeConverter.ToObject <int>(i.Value)); }); }