You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
EntityFrameworkCore.Jet/test/EFCore.Jet.Data.Tests/UpdateTest.cs

73 lines
2.1 KiB
C#

using System.Data.Common;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace EntityFrameworkCore.Jet.Data.Tests
{
[TestClass]
[DoNotParallelize]
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.HasCount(6, queries);
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.HasCount(6, queries);
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]);
}
}
}