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.
54 lines
2.1 KiB
C#
54 lines
2.1 KiB
C#
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using EntityFrameworkCore.Jet.FunctionalTests.TestUtilities;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Xunit.Abstractions;
|
|
|
|
namespace EntityFrameworkCore.Jet.FunctionalTests
|
|
{
|
|
public class PropertyEntryJetTest : PropertyEntryTestBase<F1JetFixture>
|
|
{
|
|
public PropertyEntryJetTest(F1JetFixture fixture, ITestOutputHelper testOutputHelper)
|
|
: base(fixture)
|
|
{
|
|
Fixture.TestSqlLoggerFactory.Clear();
|
|
}
|
|
|
|
public override void Property_entry_original_value_is_set()
|
|
{
|
|
base.Property_entry_original_value_is_set();
|
|
|
|
AssertSql(
|
|
$@"SELECT TOP 1 `e`.`Id`, `e`.`EngineSupplierId`, `e`.`Name`, `t`.`Id`, `t`.`StorageLocation_Latitude`, `t`.`StorageLocation_Longitude`
|
|
FROM `Engines` AS `e`
|
|
LEFT JOIN (
|
|
SELECT `e0`.`Id`, `e0`.`StorageLocation_Latitude`, `e0`.`StorageLocation_Longitude`, `e1`.`Id` AS `Id0`
|
|
FROM `Engines` AS `e0`
|
|
INNER JOIN `Engines` AS `e1` ON `e0`.`Id` = `e1`.`Id`
|
|
WHERE `e0`.`StorageLocation_Longitude` IS NOT NULL AND `e0`.`StorageLocation_Latitude` IS NOT NULL
|
|
) AS `t` ON `e`.`Id` = `t`.`Id`
|
|
ORDER BY `e`.`Id`",
|
|
//
|
|
$@"{AssertSqlHelper.Declaration("@p1='1'")}
|
|
|
|
{AssertSqlHelper.Declaration("@p2='1'")}
|
|
|
|
{AssertSqlHelper.Declaration("@p0='FO 108X' (Size = 4000)")}
|
|
|
|
{AssertSqlHelper.Declaration("@p3='ChangedEngine' (Size = 4000)")}
|
|
|
|
{AssertSqlHelper.Declaration("@p4='47.64491'")}
|
|
|
|
{AssertSqlHelper.Declaration("@p5='-122.128101'")}
|
|
|
|
SET NOCOUNT ON;
|
|
UPDATE `Engines` SET `Name` = {AssertSqlHelper.Parameter("@p0")}
|
|
WHERE `Id` = {AssertSqlHelper.Parameter("@p1")} AND `EngineSupplierId` = {AssertSqlHelper.Parameter("@p2")} AND `Name` = {AssertSqlHelper.Parameter("@p3")} AND `StorageLocation_Latitude` = {AssertSqlHelper.Parameter("@p4")} AND `StorageLocation_Longitude` = {AssertSqlHelper.Parameter("@p5")};
|
|
SELECT @@ROWCOUNT;");
|
|
}
|
|
|
|
private void AssertSql(params string[] expected)
|
|
=> Fixture.TestSqlLoggerFactory.AssertBaseline(expected);
|
|
}
|
|
}
|