Skip to content

Commit 5fb17e0

Browse files
Generate async files
1 parent 5d2e8a1 commit 5fb17e0

File tree

1 file changed

+74
-0
lines changed
  • src/NHibernate.Test/Async/NHSpecificTest/GH3530

1 file changed

+74
-0
lines changed

src/NHibernate.Test/Async/NHSpecificTest/GH3530/Fixture.cs

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@
99

1010

1111
using System;
12+
using System.Data;
1213
using System.Globalization;
14+
using System.Reflection;
15+
using System.Text;
16+
using NHibernate.SqlTypes;
1317
using NUnit.Framework;
1418

1519
namespace NHibernate.Test.NHSpecificTest.GH3530
@@ -43,6 +47,76 @@ protected override void OnTearDown()
4347
}
4448
}
4549

50+
protected override void CreateSchema()
51+
{
52+
var sb = new StringBuilder();
53+
var intType = Dialect.GetTypeName(SqlTypeFactory.Int32);
54+
var stringType = Dialect.GetTypeName(SqlTypeFactory.GetAnsiString(255));
55+
56+
var catalog = GetQuotedDefaultCatalog();
57+
var schema = GetQuotedDefaultSchema();
58+
var table = GetQualifiedName(catalog, schema, "LocaleEntity");
59+
60+
sb.Append($"{Dialect.CreateTableString} {table} (");
61+
sb.Append($"Id ");
62+
63+
if (Dialect.HasDataTypeInIdentityColumn)
64+
{
65+
sb.Append($"{intType}");
66+
}
67+
sb.Append($" {Dialect.GetIdentityColumnString(DbType.Int32)}");
68+
69+
// Generate columns
70+
sb.Append($"IntegerValue {stringType}, ");
71+
sb.Append($"DateTimeValue {stringType}, ");
72+
sb.Append($"DoubleValue {stringType}, ");
73+
sb.Append($"DecimalValue {stringType}");
74+
75+
// Add the primary key contraint for the identity column
76+
if (Dialect.GenerateTablePrimaryKeyConstraintForIdentityColumn)
77+
{
78+
sb.Append($", {Dialect.PrimaryKeyString} ( Id )");
79+
}
80+
sb.Append(")");
81+
82+
using (var cn = Sfi.ConnectionProvider.GetConnection())
83+
{
84+
try
85+
{
86+
using (var cmd = cn.CreateCommand())
87+
{
88+
cmd.CommandText = sb.ToString();
89+
cmd.ExecuteNonQuery();
90+
}
91+
}
92+
finally
93+
{
94+
Sfi.ConnectionProvider.CloseConnection(cn);
95+
}
96+
}
97+
}
98+
99+
private string GetQuotedDefaultCatalog()
100+
{
101+
var t = cfg.GetType();
102+
var getQuotedDefaultCatalog = t.GetMethod("GetQuotedDefaultCatalog", BindingFlags.Instance | BindingFlags.NonPublic);
103+
104+
return (string)getQuotedDefaultCatalog.Invoke(cfg, [Dialect]);
105+
}
106+
107+
private string GetQuotedDefaultSchema()
108+
{
109+
var t = cfg.GetType();
110+
var getQuotedDefaultSchema = t.GetMethod("GetQuotedDefaultSchema", BindingFlags.Instance | BindingFlags.NonPublic);
111+
112+
return (string) getQuotedDefaultSchema.Invoke(cfg, [Dialect]);
113+
}
114+
115+
private string GetQualifiedName(string catalog, string schema, string name)
116+
{
117+
return Dialect.Qualify(catalog, schema, name);
118+
}
119+
46120
[TestCaseSource(nameof(GetTestCases))]
47121
public async Task TestLocalesAsync(CultureInfo from, CultureInfo to)
48122
{

0 commit comments

Comments
 (0)