public void SqlServerDataSourceTests_ArithAbort()
{
const string sql = @"DECLARE @Option bit = 0;
IF ( (64 & @@OPTIONS) = 64 ) SET @Option = 1;
SELECT @Option AS [Option];";
var dataSource = SqlServerDataSource.CreateFromConfig("SqlServerTestDatabase").WithSettings(new SqlServerDataSourceSettings() { ArithAbort = true }); ;
var settingOnA = dataSource.Sql(sql).ToBoolean().Execute();
var settingOnB = dataSource.GetEffectiveSettings();
Assert.IsTrue(settingOnA, "ARITHABORT should have been turned on.");
Assert.IsTrue(settingOnB.ArithAbort, "ARITHABORT should have been turned on in effective settings.");
dataSource = dataSource.WithSettings(new SqlServerDataSourceSettings() { ArithAbort = false }); ;
var settingOffA = dataSource.Sql(sql).ToBoolean().Execute();
var settingOffB = dataSource.GetEffectiveSettings();
Assert.IsFalse(settingOffA, "ARITHABORT should have been turned off.");
Assert.IsFalse(settingOffB.ArithAbort, "ARITHABORT should have been turned off in effective settings.");
}