public void When_binding_function_to_a_closed_connection() { using (var conn = new SQLiteInMemoryConnection()) { var func = new SQLiteScalarFunction("Foo", 1, args => null); Should.Throw <InvalidOperationException>(() => conn.BindFunction(func)) .Message.ShouldBe("Cannot bind a function to a closed."); } }
public async Task When_binding_a_scalar_function_to_an_opened_connection() { using (var conn = new SQLiteInMemoryConnection()) { string receivedArg = null; var func = new SQLiteScalarFunction("Funky", 1, args => { receivedArg = args[0].ToString(); return("bar"); }); conn.Open(); conn.BindFunction(func); var foo = (await conn.QueryAsync <string>("SELECT \"foo\"")).First(); foo.ShouldBe("foo"); var bar = (await conn.QueryAsync <string>("SELECT Funky(\"foo\")")).First(); bar.ShouldBe("bar"); receivedArg.ShouldBe("foo"); } }