public void Should_replace_function()
{
Database.CreateTestDatabase(Database.TestDatabaseGeneral);
var db = new ADatabase(Database.Alias);
var registerResult = db.Function.Register(
"myfunctions::temperature::celsiustofahrenheit",
"function (celsius) { return celsius * 1.8 + 40; }"
);
Assert.AreEqual(201, registerResult.StatusCode);
Assert.IsTrue(registerResult.Success);
Assert.IsTrue(registerResult.HasValue);
Assert.IsTrue(registerResult.Value);
var replaceResult = db.Function.Register(
"myfunctions::temperature::celsiustofahrenheit",
"function (celsius) { return celsius * 1.8 + 32; }"
);
Assert.AreEqual(200, replaceResult.StatusCode);
Assert.IsTrue(replaceResult.Success);
Assert.IsTrue(replaceResult.HasValue);
Assert.IsTrue(replaceResult.Value);
const int celsius = 30;
const float fahrenheit = celsius * 1.8f + 32;
var queryResult = db.Query
.BindVar("celsius", celsius)
.Aql("return myfunctions::temperature::celsiustofahrenheit(@celsius)")
.ToList<float>();
Assert.AreEqual(fahrenheit, queryResult.Value.First());
}