diff --git a/DuckDB.NET.Data/DuckDBConnection.TableFunction.cs b/DuckDB.NET.Data/DuckDBConnection.TableFunction.cs index 971516c..c5398b9 100644 --- a/DuckDB.NET.Data/DuckDBConnection.TableFunction.cs +++ b/DuckDB.NET.Data/DuckDBConnection.TableFunction.cs @@ -102,7 +102,7 @@ private unsafe void RegisterTableFunctionInternal(string name, Func("bind_err", parameters => { + public void RegisterTableFunctionWithErrors() + { + Connection.RegisterTableFunction("bind_err", parameters => + { throw new Exception("bind_err_msg"); - }, (item, writer, rowIndex) => { + }, (item, writer, rowIndex) => + { }); - Assert.Contains("bind_err_msg", - Assert.Throws(() => { - var data = Connection.Query($"SELECT * FROM bind_err('')").ToList(); - }).Message); + Connection.Invoking(con=>con.Query("SELECT * FROM bind_err('')")). Should().Throw().WithMessage("bind_err_msg"); - Connection.RegisterTableFunction("map_err", parameters => { + Connection.RegisterTableFunction("map_err", parameters => + { return new TableFunction( new[] { new ColumnInfo("t1", typeof(string)) }, new[] { "a" } ); - }, (item, writer, rowIndex) => { + }, (item, writer, rowIndex) => + { throw new NotSupportedException("map_err_msg"); }); - Assert.Contains("map_err_msg", - Assert.Throws(() => { - var data = Connection.Query($"SELECT * FROM map_err('')").ToList(); - }).Message); - } + Connection.Invoking(con => con.Query("SELECT * FROM map_err('')")).Should().Throw().WithMessage("map_err_msg"); + } } \ No newline at end of file