|
|
|
|
|
using System.Data.Common;
|
|
|
|
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
|
|
|
|
|
|
|
|
|
|
namespace System.Data.Jet.Test
|
|
|
|
|
|
{
|
|
|
|
|
|
[TestClass]
|
|
|
|
|
|
public class UpdateTest
|
|
|
|
|
|
{
|
|
|
|
|
|
private const string StoreName = nameof(UpdateTest) + ".accdb";
|
|
|
|
|
|
|
|
|
|
|
|
private JetConnection _connection;
|
|
|
|
|
|
|
|
|
|
|
|
[TestInitialize]
|
|
|
|
|
|
public void Setup()
|
|
|
|
|
|
{
|
|
|
|
|
|
_connection = Helpers.CreateAndOpenDatabase(StoreName);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[TestCleanup]
|
|
|
|
|
|
public void TearDown()
|
|
|
|
|
|
{
|
|
|
|
|
|
_connection?.Close();
|
|
|
|
|
|
Helpers.DeleteDatabase(StoreName);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
|
|
|
|
|
public void UpdateTestRun()
|
|
|
|
|
|
{
|
|
|
|
|
|
var queries = Helpers.GetQueries(Properties.Resources.UpdateTestQueries);
|
|
|
|
|
|
Assert.AreEqual(6, queries.Length);
|
|
|
|
|
|
|
|
|
|
|
|
DbDataReader reader;
|
|
|
|
|
|
for (var index = 0; index < queries.Length - 2; index++)
|
|
|
|
|
|
{
|
|
|
|
|
|
var query = queries[index];
|
|
|
|
|
|
reader = Helpers.Execute(_connection, query);
|
|
|
|
|
|
reader?.Dispose();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
reader = Helpers.Execute(_connection, queries[4]);
|
|
|
|
|
|
reader.Read();
|
|
|
|
|
|
Assert.AreEqual(1, reader.GetInt32(0));
|
|
|
|
|
|
reader.Dispose();
|
|
|
|
|
|
|
|
|
|
|
|
Helpers.Execute(_connection, queries[5]);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[TestMethod]
|
|
|
|
|
|
public void UpdateTestWithTransactionsRun()
|
|
|
|
|
|
{
|
|
|
|
|
|
var queries = Helpers.GetQueries(Properties.Resources.UpdateTestQueries);
|
|
|
|
|
|
Assert.AreEqual(6, queries.Length);
|
|
|
|
|
|
|
|
|
|
|
|
DbDataReader reader;
|
|
|
|
|
|
for (var index = 0; index < queries.Length - 2; index++)
|
|
|
|
|
|
{
|
|
|
|
|
|
var transaction = _connection.BeginTransaction();
|
|
|
|
|
|
var query = queries[index];
|
|
|
|
|
|
reader = Helpers.Execute(_connection, transaction, query);
|
|
|
|
|
|
reader?.Dispose();
|
|
|
|
|
|
transaction.Commit();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
reader = Helpers.Execute(_connection, queries[4]);
|
|
|
|
|
|
reader.Read();
|
|
|
|
|
|
Assert.AreEqual(1, reader.GetInt32(0));
|
|
|
|
|
|
reader.Dispose();
|
|
|
|
|
|
|
|
|
|
|
|
Helpers.Execute(_connection, queries[5]);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|