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