Skip to content

Commit c9fe6f9

Browse files
committed
Fixed tests
1 parent 448cb46 commit c9fe6f9

File tree

14 files changed

+3469
-1786
lines changed

14 files changed

+3469
-1786
lines changed

QueryBaseline.cs

Lines changed: 2849 additions & 0 deletions
Large diffs are not rendered by default.

build/GlobalAssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@
1919

2020
[assembly: AssemblyVersion("2.2.0")]
2121
[assembly: AssemblyFileVersion("2.2.0.0")]
22-
[assembly: AssemblyInformationalVersion("2.2.0-preview1")]
22+
[assembly: AssemblyInformationalVersion("2.2.0-preview2")]

src/EFCore.Jet/Storage/Internal/JetTimeSpanTypeMapping.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ protected override void ConfigureParameter(DbParameter parameter)
2828
}
2929
}
3030

31+
public override RelationalTypeMapping Clone(string storeType, int? size)
32+
{
33+
return new JetTimeSpanTypeMapping(storeType);
34+
}
35+
3136
protected override string GenerateNonNullSqlLiteral(object value)
3237
{
3338
return string.Format("{0:#MM/dd/yyyy hh:mm:ss#}", JetConfiguration.TimeSpanOffset + (TimeSpan)value);

src/EFCore.Jet/Storage/Internal/JetTypeMappingSource.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ protected override void ValidateMapping(CoreTypeMapping mapping, IProperty prope
195195
/// directly from your code. This API may change or be removed in future releases.
196196
/// </summary>
197197
protected override RelationalTypeMapping FindMapping(in RelationalTypeMappingInfo mappingInfo)
198-
=> FindRawMapping(mappingInfo)?.Clone(mappingInfo);
198+
=> FindRawMapping(mappingInfo)?.Clone(mappingInfo) ?? base.FindMapping(mappingInfo);
199199

200200
/// <summary>
201201
/// This API supports the Entity Framework Core infrastructure and is not intended to be used

test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs

Lines changed: 441 additions & 1783 deletions
Large diffs are not rendered by default.

test/EFCore.Jet.FunctionalTests/Query/GroupByQueryJetTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1572,7 +1572,7 @@ FROM [Orders] AS [c]
15721572
FROM [Customers] AS [i#Customer0]",
15731573
//
15741574
@"SELECT [i#Customer0].[CustomerID], [i#Customer0].[Region]
1575-
FROM [Customers] AS [i.Customer0]");
1575+
FROM [Customers] AS [i#Customer0]");
15761576
}
15771577

15781578
public override void GroupBy_anonymous_key_without_aggregate()

test/EFCore.Jet.Integration.Test/EFCore.Jet.Integration.Test.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@
247247
<Compile Include="Model16_OwnCollection\SqlServerTest.cs" />
248248
<Compile Include="Model76_FullCreate\SqlServerTest.cs" />
249249
<Compile Include="Model76_FullCreate\SqlCeTest.cs" />
250+
<Compile Include="Model77_DateTimeOffset\SqlCeTest.cs" />
250251
<Compile Include="Model_MainTests\Context.cs" />
251252
<Compile Include="Model_MainTests\SqlServerTest.cs" />
252253
<Compile Include="Model_MainTests\SqlCeTest.cs" />
@@ -269,6 +270,10 @@
269270
<Compile Include="Model37_2Contexts\SqlServerTest.cs" />
270271
<Compile Include="Model37_2Contexts\SqlCeTest.cs" />
271272
<Compile Include="Model44_CaseSensitivity\SqlCeTest.cs" />
273+
<Compile Include="Model77_DateTimeOffset\Context.cs" />
274+
<Compile Include="Model77_DateTimeOffset\JetTest.cs" />
275+
<Compile Include="Model77_DateTimeOffset\Model.cs" />
276+
<Compile Include="Model77_DateTimeOffset\Test.cs" />
272277
<Compile Include="TestBase`.cs" />
273278
<Compile Include="Model68_sbyte\SqlCeTest.cs" />
274279
<Compile Include="Model72_TableSplitting\Context.cs" />
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using System;
2+
using System.Data.Common;
3+
using Microsoft.EntityFrameworkCore;
4+
5+
namespace EFCore.Jet.Integration.Test.Model77_DateTimeOffset
6+
{
7+
class Context : DbContext
8+
{
9+
public Context(DbConnection connection) :
10+
base(TestBase<Context>.GetContextOptions(connection))
11+
{
12+
TestBase<Context>.TryCreateTables(this);
13+
}
14+
15+
public DbSet<MyEntity> MyEntities { get; set; }
16+
17+
}
18+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using System;
2+
using System.Data.Common;
3+
using System.Data.Jet;
4+
using System.Data.OleDb;
5+
using Microsoft.VisualStudio.TestTools.UnitTesting;
6+
7+
namespace EFCore.Jet.Integration.Test.Model77_DateTimeOffset
8+
{
9+
[TestClass]
10+
public class Model77_DateTimeOffsetJet : Test
11+
{
12+
protected override DbConnection GetConnection()
13+
{
14+
// ReSharper disable once CollectionNeverUpdated.Local
15+
16+
OleDbConnectionStringBuilder oleDbConnectionStringBuilder = new OleDbConnectionStringBuilder();
17+
//oleDbConnectionStringBuilder.Provider = "Microsoft.Jet.OLEDB.4.0";
18+
//oleDbConnectionStringBuilder.DataSource = @".\Empty.mdb";
19+
oleDbConnectionStringBuilder.Provider = "Microsoft.ACE.OLEDB.15.0";
20+
oleDbConnectionStringBuilder.DataSource = Helpers.GetTestDirectory() + "\\BrandNewDatabase.accdb";
21+
return new JetConnection(oleDbConnectionStringBuilder.ToString());
22+
}
23+
}
24+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using System;
2+
using System.ComponentModel.DataAnnotations;
3+
using System.ComponentModel.DataAnnotations.Schema;
4+
5+
namespace EFCore.Jet.Integration.Test.Model77_DateTimeOffset
6+
{
7+
[Table("NTT7")]
8+
public class MyEntity
9+
{
10+
public int Id { get; set; }
11+
[MaxLength(50)]
12+
public string Description { get; set; }
13+
14+
public DateTimeOffset DateTimeOffset { get; set; }
15+
}
16+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using System;
2+
using System.Data.Common;
3+
using System.Data.Jet;
4+
using System.Data.OleDb;
5+
using System.Data.SqlServerCe;
6+
using Microsoft.VisualStudio.TestTools.UnitTesting;
7+
8+
namespace EFCore.Jet.Integration.Test.Model77_DateTimeOffset
9+
{
10+
[TestClass]
11+
public class Model77_DateTimeOffsetSqlCe : Test
12+
{
13+
protected override DbConnection GetConnection()
14+
{
15+
SqlCeConnectionStringBuilder sqlCeConnectionStringBuilder = new SqlCeConnectionStringBuilder();
16+
sqlCeConnectionStringBuilder.DataSource = "BrandNewDatabase.sdf";
17+
return new SqlCeConnection(sqlCeConnectionStringBuilder.ToString());
18+
}
19+
}
20+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System;
2+
using System.Data.Common;
3+
using System.Linq;
4+
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
6+
namespace EFCore.Jet.Integration.Test.Model77_DateTimeOffset
7+
{
8+
public abstract class Test
9+
{
10+
11+
protected abstract DbConnection GetConnection();
12+
13+
[TestMethod]
14+
public void Model77_DateTimeOffset()
15+
{
16+
using (DbConnection connection = GetConnection())
17+
{
18+
using (var context = new Context(connection))
19+
{
20+
context.MyEntities.Add(new MyEntity() {DateTimeOffset = DateTime.Now});
21+
context.SaveChanges();
22+
}
23+
using (var context = new Context(connection))
24+
{
25+
Console.WriteLine(context.MyEntities.FirstOrDefault().DateTimeOffset);
26+
}
27+
}
28+
}
29+
30+
}
31+
}

test/EFCore.Jet.Tests/EFCore.Jet.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@
199199
<Compile Include="Extensions\Metadata\JetMetadataExtensionsTest.cs" />
200200
<Compile Include="Extensions\JetDbContextOptionsExtensionsTest.cs" />
201201
<Compile Include="JetDatabaseFacadeTest.cs" />
202+
<Compile Include="Scaffolding\JetCodeGeneratorTest.cs" />
202203
<Compile Include="TestRelationalTypeMappingSource.cs" />
203204
<Compile Include="Utilities\FakeInterceptingLogger.cs" />
204205
<Compile Include="Migrations\MigrationsModelDifferTestBase.cs" />
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3+
4+
using System;
5+
using System.Linq;
6+
using EntityFrameworkCore.Jet.Scaffolding.Internal;
7+
using Microsoft.EntityFrameworkCore.Design;
8+
using Microsoft.EntityFrameworkCore.Scaffolding;
9+
using Xunit;
10+
11+
namespace EntityFrameworkCore.Jet.Tests.Scaffolding
12+
{
13+
public class SqlServerCodeGeneratorTest
14+
{
15+
[Fact]
16+
public virtual void Use_provider_method_is_generated_correctly()
17+
{
18+
var codeGenerator = new JetCodeGenerator(
19+
new ProviderCodeGeneratorDependencies(
20+
Enumerable.Empty<IProviderCodeGeneratorPlugin>()));
21+
22+
var result = codeGenerator.GenerateUseProvider("Data Source=Test", providerOptions: null);
23+
24+
Assert.Equal("UseJet", result.Method);
25+
Assert.Collection(
26+
result.Arguments,
27+
a => Assert.Equal("Data Source=Test", a));
28+
Assert.Null(result.ChainedCall);
29+
}
30+
31+
[Fact]
32+
public virtual void Use_provider_method_is_generated_correctly_with_options()
33+
{
34+
var codeGenerator = new JetCodeGenerator(
35+
new ProviderCodeGeneratorDependencies(
36+
Enumerable.Empty<IProviderCodeGeneratorPlugin>()));
37+
38+
var providerOptions = new MethodCallCodeFragment("SetProviderOption");
39+
40+
var result = codeGenerator.GenerateUseProvider("Data Source=Test", providerOptions);
41+
42+
Assert.Equal("UseJet", result.Method);
43+
Assert.Collection(
44+
result.Arguments,
45+
a => Assert.Equal("Data Source=Test", a),
46+
a =>
47+
{
48+
var nestedClosure = Assert.IsType<NestedClosureCodeFragment>(a);
49+
50+
Assert.Equal("x", nestedClosure.Parameter);
51+
Assert.Same(providerOptions, nestedClosure.MethodCall);
52+
});
53+
Assert.Null(result.ChainedCall);
54+
}
55+
}
56+
}

0 commit comments

Comments
 (0)