-
-
Notifications
You must be signed in to change notification settings - Fork 121
Expand file tree
/
Copy pathInitializerDefaultCollationTest.cs
More file actions
64 lines (56 loc) · 2.64 KB
/
Copy pathInitializerDefaultCollationTest.cs
File metadata and controls
64 lines (56 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System.Data.Entity;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SQLite.CodeFirst.NetCore.Console;
namespace SQLite.CodeFirst.Test.UnitTests.DbInitializers
{
/// <summary>
/// Verifies that the public initializers forward an explicitly supplied default
/// <see cref="Collation"/> to the base class, which is what feeds it into the SQL generation.
/// Without this the documented "default collation" feature is unreachable through the shipped initializers.
/// </summary>
[TestClass]
public class InitializerDefaultCollationTest
{
private static readonly Collation Collation = new Collation(CollationFunction.RTrim);
private static DbModelBuilder NewModelBuilder()
{
return new DbModelBuilder();
}
[TestMethod]
public void SqliteCreateDatabaseIfNotExists_ForwardsDefaultCollation()
{
var initializer = new SqliteCreateDatabaseIfNotExists<FootballDbContext>(NewModelBuilder(), Collation);
Assert.AreSame(Collation, initializer.DefaultCollation);
}
[TestMethod]
public void SqliteCreateDatabaseIfNotExists_WithNullByteFlag_ForwardsDefaultCollation()
{
var initializer = new SqliteCreateDatabaseIfNotExists<FootballDbContext>(NewModelBuilder(), true, Collation);
Assert.AreSame(Collation, initializer.DefaultCollation);
}
[TestMethod]
public void SqliteDropCreateDatabaseAlways_ForwardsDefaultCollation()
{
var initializer = new SqliteDropCreateDatabaseAlways<FootballDbContext>(NewModelBuilder(), Collation);
Assert.AreSame(Collation, initializer.DefaultCollation);
}
[TestMethod]
public void SqliteDropCreateDatabaseWhenModelChanges_ForwardsDefaultCollation()
{
var initializer = new SqliteDropCreateDatabaseWhenModelChanges<FootballDbContext>(NewModelBuilder(), Collation);
Assert.AreSame(Collation, initializer.DefaultCollation);
}
[TestMethod]
public void SqliteDropCreateDatabaseWhenModelChanges_WithHistoryType_ForwardsDefaultCollation()
{
var initializer = new SqliteDropCreateDatabaseWhenModelChanges<FootballDbContext>(NewModelBuilder(), typeof(History), Collation);
Assert.AreSame(Collation, initializer.DefaultCollation);
}
[TestMethod]
public void Initializer_WithoutCollation_HasNullDefaultCollation()
{
var initializer = new SqliteDropCreateDatabaseAlways<FootballDbContext>(NewModelBuilder());
Assert.IsNull(initializer.DefaultCollation);
}
}
}