SnakeCase,LowerCase, UpperCase Culture fix (#25)

Fixes #19
This commit is contained in:
Arda Terekeci
2020-05-04 13:32:09 +03:00
committed by Shay Rojansky
parent 2bacf92f66
commit 290cc33029
11 changed files with 108 additions and 33 deletions

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Xunit;
@@ -23,6 +24,24 @@ namespace EFCore.NamingConventions.Test
Assert.Equal("fullname", entityType.FindProperty("FullName").GetColumnName());
}
[Fact]
public void Column_name_is_rewritten_in_turkish()
{
using var context = CreateContext(CultureInfo.CreateSpecificCulture("tr_TR"));
var entityType = context.Model.FindEntityType(typeof(SimpleBlog));
Assert.Equal("ıd", entityType.FindProperty("Id").GetColumnName());
Assert.Equal("fullname", entityType.FindProperty("FullName").GetColumnName());
}
[Fact]
public void Column_name_is_rewritten_in_invariant()
{
using var context = CreateContext(CultureInfo.InvariantCulture);
var entityType = context.Model.FindEntityType(typeof(SimpleBlog));
Assert.Equal("id", entityType.FindProperty("Id").GetColumnName());
Assert.Equal("fullname", entityType.FindProperty("FullName").GetColumnName());
}
[Fact]
public void Primary_key_name_is_rewritten()
{
@@ -55,6 +74,6 @@ namespace EFCore.NamingConventions.Test
Assert.Equal("ix_simpleblog_fullname", entityType.GetIndexes().Single().GetName());
}
TestContext CreateContext() => new TestContext(NamingConventionsExtensions.UseLowerCaseNamingConvention);
TestContext CreateContext(CultureInfo culture = null) => new TestContext(builder => builder.UseLowerCaseNamingConvention(culture));
}
}

View File

@@ -9,8 +9,7 @@ namespace EFCore.NamingConventions.Test
public class TestContext : DbContext
{
readonly Func<DbContextOptionsBuilder, DbContextOptionsBuilder> _useNamingConvention;
public TestContext(Func<DbContextOptionsBuilder, DbContextOptionsBuilder> useNamingConvention)
public TestContext(Func<DbContextOptionsBuilder, DbContextOptionsBuilder> useNamingConvention)
=> _useNamingConvention = useNamingConvention;
public DbSet<SimpleBlog> Blog { get; set; }

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Xunit;
@@ -23,6 +24,24 @@ namespace EFCore.NamingConventions.Test
Assert.Equal("full_name", entityType.FindProperty("FullName").GetColumnName());
}
[Fact]
public void Column_name_is_rewritten_in_turkish()
{
using var context = CreateContext(CultureInfo.CreateSpecificCulture("tr_TR"));
var entityType = context.Model.FindEntityType(typeof(SimpleBlog));
Assert.Equal("ıd", entityType.FindProperty("Id").GetColumnName());
Assert.Equal("full_name", entityType.FindProperty("FullName").GetColumnName());
}
[Fact]
public void Column_name_is_rewritten_in_invariant()
{
using var context = CreateContext(CultureInfo.InvariantCulture);
var entityType = context.Model.FindEntityType(typeof(SimpleBlog));
Assert.Equal("id", entityType.FindProperty("Id").GetColumnName());
Assert.Equal("full_name", entityType.FindProperty("FullName").GetColumnName());
}
[Fact]
public void Owned_entity_name_is_correct_when_configured()
{
@@ -63,6 +82,6 @@ namespace EFCore.NamingConventions.Test
Assert.Equal("ix_simple_blog_full_name", entityType.GetIndexes().Single().GetName());
}
TestContext CreateContext() => new TestContext(NamingConventionsExtensions.UseSnakeCaseNamingConvention);
TestContext CreateContext(CultureInfo culture = null) => new TestContext(builder => builder.UseSnakeCaseNamingConvention(culture));
}
}

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Xunit;
@@ -14,6 +15,22 @@ namespace EFCore.NamingConventions.Test
Assert.Equal("SIMPLEBLOG", entityType.GetTableName());
}
[Fact]
public void Table_name_is_rewritten_in_turkish()
{
using var context = CreateContext(CultureInfo.CreateSpecificCulture("tr_TR"));
var entityType = context.Model.FindEntityType(typeof(SimpleBlog));
Assert.Equal("SİMPLEBLOG", entityType.GetTableName());
}
[Fact]
public void Table_name_is_rewritten_in_invariant()
{
using var context = CreateContext(CultureInfo.InvariantCulture);
var entityType = context.Model.FindEntityType(typeof(SimpleBlog));
Assert.Equal("SIMPLEBLOG", entityType.GetTableName());
}
[Fact]
public void Column_name_is_rewritten()
{
@@ -55,6 +72,6 @@ namespace EFCore.NamingConventions.Test
Assert.Equal("IX_SIMPLEBLOG_FULLNAME", entityType.GetIndexes().Single().GetName());
}
TestContext CreateContext() => new TestContext(NamingConventionsExtensions.UseUpperCaseNamingConvention);
TestContext CreateContext(CultureInfo culture = null) => new TestContext(builder => builder.UseUpperCaseNamingConvention(culture));
}
}