Skip to content

Commit dde53e9

Browse files
committed
Completed testing
1 parent c134d74 commit dde53e9

File tree

36 files changed

+20064
-19697
lines changed

36 files changed

+20064
-19697
lines changed

Generator.Tests.Integration/App.config

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,28 @@
2929
</dependentAssembly>
3030
<dependentAssembly>
3131
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
32-
<bindingRedirect oldVersion="0.0.0.0-6.0.0.5" newVersion="6.0.0.5" />
32+
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
3333
</dependentAssembly>
3434
<dependentAssembly>
3535
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
3636
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
3737
</dependentAssembly>
38+
<dependentAssembly>
39+
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
40+
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
41+
</dependentAssembly>
42+
<dependentAssembly>
43+
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
44+
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
45+
</dependentAssembly>
46+
<dependentAssembly>
47+
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
48+
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
49+
</dependentAssembly>
50+
<dependentAssembly>
51+
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
52+
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
53+
</dependentAssembly>
3854
</assemblyBinding>
3955
</runtime>
4056
</configuration>

Generator.Tests.Integration/Generator.Tests.Integration.csproj

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -111,29 +111,29 @@
111111
<None Include="TestComparison\NonPascalCased_SqlServer_EfCore6_FkLegacy.cs">
112112
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
113113
</None>
114-
<None Include="TestComparison\PostgisTest_PostgreSQL_EfCore3_FkLegacy.cs">
114+
<None Include="TestComparison\Northwind_SqlCe_EfCore7_FkLegacy.cs">
115115
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
116116
</None>
117-
<None Include="App.config" />
118-
<None Include="packages.config" />
119-
<None Include="TestComparison\Northwind_SqlServer_EfCore6_FkLegacy.cs">
117+
<None Include="TestComparison\Northwind_SqlCe_EfCore6_FkLegacy.cs">
120118
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
121119
</None>
122-
<None Include="TestComparison\Northwind_SqlServer_EfCore5_FkLegacy.cs">
120+
<None Include="TestComparison\Northwind_SqlCe_EfCore5_FkLegacy.cs">
123121
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
124122
</None>
125-
<None Include="TestComparison\Northwind_SqlServer_EfCore3_FkLegacy.cs">
123+
<None Include="TestComparison\EfrpgTestIncludeFilter_SqlServer_EfCore7_FkLegacy.cs">
126124
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
127125
</None>
128-
<None Include="TestComparison\Northwind_SqlServer_EfCore3_FkLatest.cs">
126+
<None Include="TestComparison\EfrpgTest_SqlServer_EfCore7_FkLegacy.cs">
129127
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
130128
</None>
131-
<None Include="TestComparison\Northwind_SqlServer_EfCore2_FkLegacy.cs">
129+
<None Include="TestComparison\NonPascalCased_SqlServer_EfCore7_FkLegacy.cs">
132130
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
133131
</None>
134-
<None Include="TestComparison\Northwind_SqlServer_EfCore2_FkLatest.cs">
132+
<None Include="TestComparison\PostgisTest_PostgreSQL_EfCore3_FkLegacy.cs">
135133
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
136134
</None>
135+
<None Include="App.config" />
136+
<None Include="packages.config" />
137137
<None Include="TestComparison\Northwind_SqlServer_Ef6_NorthwindTest2.cs">
138138
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
139139
</None>
@@ -143,12 +143,6 @@
143143
<None Include="TestComparison\Northwind_SqlServer_Ef6_NorthwindTest1.cs">
144144
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
145145
</None>
146-
<None Include="TestComparison\Northwind_SqlServer_Ef6_FkLegacy.cs">
147-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
148-
</None>
149-
<None Include="TestComparison\Northwind_SqlServer_Ef6_FkLatest.cs">
150-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
151-
</None>
152146
<None Include="TestComparison\Northwind_SqlCe_EfCore3_FkLegacy.cs">
153147
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
154148
</None>

Generator.Tests.Integration/SingleDatabaseTestBase.cs

Lines changed: 44 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
using System.Collections.Generic;
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Diagnostics;
4+
using System.IO;
5+
using Efrpg;
6+
using Efrpg.FileManagement;
7+
using Efrpg.Filtering;
8+
using Efrpg.Generators;
9+
using Efrpg.Pluralization;
10+
using Efrpg.Templates;
11+
using NUnit.Framework;
212

313
namespace Generator.Tests.Integration
414
{
5-
using System;
6-
using System.Diagnostics;
7-
using System.IO;
8-
using Efrpg;
9-
using Efrpg.FileManagement;
10-
using Efrpg.Filtering;
11-
using Efrpg.Generators;
12-
using Efrpg.Pluralization;
13-
using Efrpg.Templates;
14-
using NUnit.Framework;
15-
1615
public abstract class SingleDatabaseTestBase
1716
{
1817
protected static void SetupDatabase(
@@ -22,46 +21,45 @@ protected static void SetupDatabase(
2221
GeneratorType generatorType,
2322
ForeignKeyNamingStrategy foreignKeyNamingStrategy)
2423
{
25-
Settings.ForeignKeyNamingStrategy = foreignKeyNamingStrategy;
26-
Settings.TemplateType = templateType;
27-
Settings.GeneratorType = generatorType;
28-
Settings.ConnectionStringName = connectionStringName;
29-
Settings.DbContextName = dbContextName;
30-
Settings.GenerateSingleDbContext = true;
24+
Settings.ForeignKeyNamingStrategy = foreignKeyNamingStrategy;
25+
Settings.TemplateType = templateType;
26+
Settings.GeneratorType = generatorType;
27+
Settings.ConnectionStringName = connectionStringName;
28+
Settings.DbContextName = dbContextName;
29+
Settings.GenerateSingleDbContext = true;
3130
Settings.MultiContextSettingsPlugin = null;
32-
Settings.Enumerations = null;
33-
Settings.PrependSchemaName = true;
34-
Settings.DisableGeographyTypes = false;
35-
Settings.AddUnitTestingDbContext = true;
36-
Settings.UsePascalCase = true;
31+
Settings.Enumerations = null;
32+
Settings.PrependSchemaName = true;
33+
Settings.DisableGeographyTypes = false;
34+
Settings.AddUnitTestingDbContext = true;
35+
Settings.UsePascalCase = true;
3736

3837
ResetFilters();
3938
}
4039

41-
protected static void Run(string filename, string singleDbContextSubNamespace, Type fileManagerType, string subFolder, List<EnumDefinition> enumDefinitions = null)
40+
protected static void Run(string filename, string singleDbContextSubNamespace, Type fileManagerType, string subFolder,
41+
List<EnumDefinition> enumDefinitions = null)
4242
{
43-
Inflector.PluralisationService = new EnglishPluralizationService();
43+
Inflector.PluralisationService = new EnglishPluralizationService();
4444
Settings.GenerateSingleDbContext = true;
4545

4646
var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
4747
if (!string.IsNullOrEmpty(subFolder))
4848
path = Path.Combine(path, subFolder);
49-
49+
5050
Settings.Root = path;
5151
var fullPath = Path.Combine(path, $"{filename}_{Settings.DatabaseType}_{Settings.TemplateType}_Fk{Settings.ForeignKeyNamingStrategy}.cs");
52-
52+
5353
// Delete old generated files
5454
if (File.Exists(fullPath))
5555
File.Delete(fullPath);
5656
if (!string.IsNullOrEmpty(subFolder))
57-
{
5857
foreach (var old in Directory.GetFiles(Settings.Root))
5958
File.Delete(old);
60-
}
6159

62-
var outer = new GeneratedTextTransformation();
60+
var outer = new GeneratedTextTransformation();
6361
var fileManagement = new FileManagementService(outer);
64-
var generator = GeneratorFactory.Create(fileManagement, fileManagerType, singleDbContextSubNamespace);
62+
var generator = GeneratorFactory.Create(fileManagement, fileManagerType, singleDbContextSubNamespace);
6563

6664
// Turn on everything for testing
6765
Assert.IsNotNull(generator);
@@ -70,19 +68,17 @@ protected static void Run(string filename, string singleDbContextSubNamespace, T
7068
Assert.IsNotNull(filters);
7169
foreach (var filter in filters)
7270
{
73-
filter.Value.IncludeViews = true;
74-
filter.Value.IncludeSynonyms = true;
75-
filter.Value.IncludeStoredProcedures = true;
76-
filter.Value.IncludeTableValuedFunctions = true;
71+
filter.Value.IncludeViews = true;
72+
filter.Value.IncludeSynonyms = true;
73+
filter.Value.IncludeStoredProcedures = true;
74+
filter.Value.IncludeTableValuedFunctions = true;
7775
filter.Value.IncludeScalarValuedFunctions = true;
7876

7977
if (filter.Value is SingleContextFilter singleContextFilter)
80-
{
8178
singleContextFilter.EnumDefinitions = enumDefinitions;
82-
}
8379
}
8480

85-
var stopwatch = new Stopwatch();
81+
var stopwatch = new Stopwatch();
8682
var stopwatchGenerator = new Stopwatch();
8783

8884
stopwatch.Start();
@@ -94,17 +90,16 @@ protected static void Run(string filename, string singleDbContextSubNamespace, T
9490

9591
stopwatch.Stop();
9692

97-
Console.WriteLine("Duration: {0:F1} seconds, Generator {1:F1} seconds", stopwatch.ElapsedMilliseconds / 1000.0, stopwatchGenerator.ElapsedMilliseconds / 1000.0);
93+
Console.WriteLine("Duration: {0:F1} seconds, Generator {1:F1} seconds", stopwatch.ElapsedMilliseconds / 1000.0,
94+
stopwatchGenerator.ElapsedMilliseconds / 1000.0);
9895
Console.WriteLine($"Writing to {fullPath}");
9996
Console.WriteLine();
10097

10198
if (outer.FileData.Length > 0)
102-
{
10399
using (var sw = new StreamWriter(fullPath))
104100
{
105101
sw.Write(outer.FileData.ToString());
106102
}
107-
}
108103

109104
fileManagement.Process(true);
110105
}
@@ -125,10 +120,10 @@ protected static void CompareAgainstFolderTestComparison(string subFolder)
125120

126121
foreach (var comparisonFile in testComparisonFiles)
127122
{
128-
var filename = Path.GetFileName(comparisonFile);
129-
var generatedPath = Path.Combine(Settings.Root, filename);
123+
var filename = Path.GetFileName(comparisonFile);
124+
var generatedPath = Path.Combine(Settings.Root, filename);
130125
var testComparison = File.ReadAllText(comparisonFile);
131-
var generated = File.ReadAllText(generatedPath);
126+
var generated = File.ReadAllText(generatedPath);
132127

133128
Console.WriteLine(comparisonFile);
134129
Console.WriteLine(generatedPath);
@@ -140,12 +135,12 @@ protected static void CompareAgainstFolderTestComparison(string subFolder)
140135

141136
protected static void CompareAgainstTestComparison(string database)
142137
{
143-
var comparisonFile = $"{database}_{Settings.DatabaseType}_{Settings.TemplateType}_Fk{Settings.ForeignKeyNamingStrategy}.cs";
144-
var testRootPath = AppDomain.CurrentDomain.BaseDirectory;
138+
var comparisonFile = $"{database}_{Settings.DatabaseType}_{Settings.TemplateType}_Fk{Settings.ForeignKeyNamingStrategy}.cs";
139+
var testRootPath = AppDomain.CurrentDomain.BaseDirectory;
145140
var testComparisonPath = Path.Combine(testRootPath, $"TestComparison\\{comparisonFile}");
146-
var testComparison = File.ReadAllText(testComparisonPath);
147-
var generatedPath = Path.Combine(Settings.Root, comparisonFile);
148-
var generated = File.ReadAllText(generatedPath);
141+
var testComparison = File.ReadAllText(testComparisonPath);
142+
var generatedPath = Path.Combine(Settings.Root, comparisonFile);
143+
var generated = File.ReadAllText(generatedPath);
149144

150145
Console.WriteLine(testComparisonPath);
151146
Console.WriteLine(generatedPath);

Generator.Tests.Integration/SingleDatabaseTestPostgreSql.cs

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
1-
namespace Generator.Tests.Integration
1+
using System.Data.Common;
2+
using Efrpg;
3+
using Efrpg.FileManagement;
4+
using Efrpg.Templates;
5+
using Generator.Tests.Common;
6+
using NUnit.Framework;
7+
8+
namespace Generator.Tests.Integration
29
{
3-
using System.Data.Common;
4-
using Efrpg;
5-
using Efrpg.FileManagement;
6-
using Efrpg.Templates;
7-
using Generator.Tests.Common;
8-
using NUnit.Framework;
9-
10-
[TestFixture, NonParallelizable]
10+
[TestFixture]
11+
[NonParallelizable]
1112
[Category(Constants.Integration)]
1213
[Category(Constants.DbType.PostgreSql)]
1314
public class SingleDatabaseTestPostgreSql : SingleDatabaseTestBase
1415
{
15-
public void SetupPostgreSQL(string database, string connectionStringName, string dbContextName, TemplateType templateType, GeneratorType generatorType, ForeignKeyNamingStrategy foreignKeyNamingStrategy)
16+
public void SetupPostgreSQL(string database, string connectionStringName, string dbContextName, TemplateType templateType, GeneratorType generatorType,
17+
ForeignKeyNamingStrategy foreignKeyNamingStrategy)
1618
{
1719
SetupDatabase(connectionStringName, dbContextName, templateType, generatorType, foreignKeyNamingStrategy);
1820

1921
Settings.ConnectionString = $"Server=127.0.0.1;Port=5432;Database={database};User Id=testuser;Password=testtesttest;";
20-
Settings.DatabaseType = DatabaseType.PostgreSQL;
22+
Settings.DatabaseType = DatabaseType.PostgreSQL;
2123
}
22-
24+
2325
[Test]
2426
public void CheckPostgreSQLConnection()
2527
{
@@ -38,11 +40,12 @@ public void CheckPostgreSQLConnection()
3840
cmd.CommandText = "select count(*) from products";
3941
var result = cmd.ExecuteScalar();
4042
Assert.IsNotNull(result);
41-
Assert.IsTrue((long)result > 1);
43+
Assert.IsTrue((long) result > 1);
4244
}
4345
}
4446

45-
[Test, NonParallelizable]
47+
[Test]
48+
[NonParallelizable]
4649
[TestCase(ForeignKeyNamingStrategy.Legacy, "Northwind", "Northwind")]
4750
[TestCase(ForeignKeyNamingStrategy.Legacy, "PostgisTest", "postgis_test")]
4851
//[TestCase(ForeignKeyNamingStrategy.LatestMyDbContext

Generator.Tests.Integration/SingleDatabaseTestSqlCeServer.cs

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
1-
namespace Generator.Tests.Integration
2-
{
3-
using Efrpg;
4-
using Efrpg.FileManagement;
5-
using Efrpg.Templates;
6-
using Generator.Tests.Common;
7-
using NUnit.Framework;
1+
using Efrpg;
2+
using Efrpg.FileManagement;
3+
using Efrpg.Templates;
4+
using Generator.Tests.Common;
5+
using NUnit.Framework;
86

9-
[TestFixture, NonParallelizable]
7+
namespace Generator.Tests.Integration
8+
{
9+
[TestFixture]
10+
[NonParallelizable]
1011
[Category(Constants.Integration)]
1112
[Category(Constants.DbType.SqlCe)]
1213
public class SingleDatabaseTestSqlCeServer : SingleDatabaseTestBase
1314
{
14-
public void SetupSqlCe(string database, string connectionStringName, string dbContextName, TemplateType templateType, GeneratorType generatorType, ForeignKeyNamingStrategy foreignKeyNamingStrategy)
15+
public void SetupSqlCe(string database, string connectionStringName, string dbContextName, TemplateType templateType, GeneratorType generatorType,
16+
ForeignKeyNamingStrategy foreignKeyNamingStrategy)
1517
{
1618
SetupDatabase(connectionStringName, dbContextName, templateType, generatorType, foreignKeyNamingStrategy);
17-
18-
Settings.ConnectionString = @"Data Source=C:\S\Source (open source)\EntityFramework Reverse POCO Code Generator\EntityFramework.Reverse.POCO.Generator\App_Data\" + database;
19-
Settings.DatabaseType = DatabaseType.SqlCe;
19+
20+
Settings.ConnectionString =
21+
@"Data Source=C:\S\Source (open source)\EntityFramework Reverse POCO Code Generator\EntityFramework.Reverse.POCO.Generator\App_Data\" +
22+
database;
23+
Settings.DatabaseType = DatabaseType.SqlCe;
2024
}
2125

22-
[Test, NonParallelizable]
26+
[Test]
27+
[NonParallelizable]
2328
[TestCase(ForeignKeyNamingStrategy.Legacy)]
2429
//[TestCase(ForeignKeyNamingStrategy.Latest)]
2530
public void ReverseEngineerSqlCe(ForeignKeyNamingStrategy foreignKeyNamingStrategy)
@@ -36,13 +41,17 @@ public void ReverseEngineerSqlCe(ForeignKeyNamingStrategy foreignKeyNamingStrate
3641
// Assert
3742
CompareAgainstTestComparison(filename);
3843
}
39-
40-
[Test, NonParallelizable]
44+
45+
[Test]
46+
[NonParallelizable]
4147
// Legacy
4248
[TestCase(false, TemplateType.EfCore2, ForeignKeyNamingStrategy.Legacy)]
4349
[TestCase(false, TemplateType.EfCore3, ForeignKeyNamingStrategy.Legacy)]
4450
[TestCase(true, TemplateType.EfCore2, ForeignKeyNamingStrategy.Legacy)]
4551
[TestCase(true, TemplateType.EfCore3, ForeignKeyNamingStrategy.Legacy)]
52+
[TestCase(false, TemplateType.EfCore5, ForeignKeyNamingStrategy.Legacy)]
53+
[TestCase(false, TemplateType.EfCore6, ForeignKeyNamingStrategy.Legacy)]
54+
[TestCase(false, TemplateType.EfCore7, ForeignKeyNamingStrategy.Legacy)]
4655
// Latest
4756
//[TestCase(false, TemplateType.EfCore2, ForeignKeyNamingStrategy.Latest)]
4857
//[TestCase(false, TemplateType.EfCore3, ForeignKeyNamingStrategy.Latest)]

0 commit comments

Comments
 (0)