Skip to content

Commit 06d14de

Browse files
Generate async files
1 parent b39dd61 commit 06d14de

File tree

1 file changed

+30
-33
lines changed

1 file changed

+30
-33
lines changed

src/NHibernate.Test/Async/Linq/DateTimeTests.cs

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
using System;
1212
using System.Data;
1313
using System.Linq;
14+
using System.Linq.Expressions;
1415
using NHibernate.Cfg;
15-
using NHibernate.SqlTypes;
16+
using NHibernate.Linq;
1617
using NHibernate.Mapping.ByCode;
17-
using NUnit.Framework;
18+
using NHibernate.SqlTypes;
1819
using NHibernate.Type;
19-
using NHibernate.Linq;
20-
using System.Linq.Expressions;
20+
using NUnit.Framework;
2121

2222
namespace NHibernate.Test.Linq
2323
{
@@ -27,7 +27,6 @@ namespace NHibernate.Test.Linq
2727
public class DateTimeTestsAsync : TestCase
2828
{
2929
private bool DialectSupportsDateTimeOffset => TestDialect.SupportsSqlType(new SqlType(DbType.DateTimeOffset));
30-
private bool DialectSupportsDateTimeWithScale => TestDialect.SupportsSqlType(new SqlType(DbType.DateTime,(byte) 2));
3130
private readonly DateTimeTestsClass[] _referenceEntities =
3231
[
3332
new() {Id =1, DateTimeValue = new DateTime(1998, 02, 26)},
@@ -40,6 +39,8 @@ public class DateTimeTestsAsync : TestCase
4039
new() {Id =8, DateTimeValue = new DateTime(2000, 01, 01)}
4140
];
4241

42+
private TimeSpan FractionalSecondsAdded => TimeSpan.FromMilliseconds(900);
43+
4344
protected override string[] Mappings => default;
4445
protected override void AddMappings(Configuration configuration)
4546
{
@@ -68,30 +69,26 @@ protected override void OnSetUp()
6869
foreach (var entity in _referenceEntities)
6970
{
7071
entity.DateValue = entity.DateTimeValue.Date;
71-
entity.DateTimeValueWithScale = entity.DateTimeValue.AddSeconds(0.9);
72+
entity.DateTimeValueWithScale = entity.DateTimeValue + FractionalSecondsAdded;
7273
entity.DateTimeOffsetValue = new DateTimeOffset(entity.DateTimeValue, TimeSpan.FromHours(3));
73-
entity.DateTimeOffsetValueWithScale = new DateTimeOffset(entity.DateTimeValue, TimeSpan.FromHours(3));
74+
entity.DateTimeOffsetValueWithScale = new DateTimeOffset(entity.DateTimeValueWithScale, TimeSpan.FromHours(3));
7475
}
7576

76-
using (var session = OpenSession())
77-
using (var trans = session.BeginTransaction())
77+
using var session = OpenSession();
78+
using var trans = session.BeginTransaction();
79+
foreach (var entity in _referenceEntities)
7880
{
79-
foreach (var entity in _referenceEntities)
80-
{
81-
session.Save(entity);
82-
}
83-
trans.Commit();
81+
session.Save(entity);
8482
}
83+
trans.Commit();
8584
}
8685

8786
protected override void OnTearDown()
8887
{
89-
using (var session = OpenSession())
90-
using (var trans = session.BeginTransaction())
91-
{
92-
session.Query<DateTimeTestsClass>().Delete();
93-
trans.Commit();
94-
}
88+
using var session = OpenSession();
89+
using var trans = session.BeginTransaction();
90+
session.Query<DateTimeTestsClass>().Delete();
91+
trans.Commit();
9592
}
9693

9794
private void AssertDateTimeOffsetSupported()
@@ -102,22 +99,22 @@ private void AssertDateTimeOffsetSupported()
10299
}
103100
}
104101

105-
private async Task AssertDateTimeWithScaleSupportedAsync(CancellationToken cancellationToken = default(CancellationToken))
102+
private async Task AssertDateTimeWithFractionalSecondsSupportedAsync(CancellationToken cancellationToken = default(CancellationToken))
106103
{
107-
if (!DialectSupportsDateTimeWithScale)
104+
//Ideally, the dialect should know whether this is supported or not
105+
if (!TestDialect.SupportsDateTimeWithFractionalSeconds)
108106
{
109-
Assert.Ignore("Dialect doesn't support DateTime with scale (2)");
107+
Assert.Ignore("Dialect doesn't support DateTime with factional seconds");
110108
}
111-
using (var session = OpenSession())
112-
using (var trans = session.BeginTransaction())
109+
110+
//But it sometimes doesn't
111+
using var session = OpenSession();
112+
using var trans = session.BeginTransaction();
113+
var entity1 = await (session.GetAsync<DateTimeTestsClass>(_referenceEntities[0].Id, cancellationToken));
114+
if (entity1.DateTimeValueWithScale != entity1.DateTimeValue + FractionalSecondsAdded)
113115
{
114-
var entity1 = await (session.GetAsync<DateTimeTestsClass>(_referenceEntities[0].Id, cancellationToken));
115-
if (entity1.DateTimeValueWithScale != entity1.DateTimeValue.AddSeconds(0.9))
116-
{
117-
Assert.Ignore("Current setup doesn't support DateTime with scale (2)");
118-
}
116+
Assert.Ignore("Current setup doesn't support DateTime with scale (2)");
119117
}
120-
121118
}
122119

123120
private Task AssertQueryAsync(Expression<Func<DateTimeTestsClass, bool>> where, CancellationToken cancellationToken = default(CancellationToken)) => AssertQueryAsync(where, x => x.Id, cancellationToken);
@@ -159,7 +156,7 @@ public async Task CanQueryDateTimeByHourAsync()
159156
[Test]
160157
public async Task CanQueryDateTimeBySecondWhenValueContainsFractionalSecondsAsync()
161158
{
162-
await (AssertDateTimeWithScaleSupportedAsync());
159+
await (AssertDateTimeWithFractionalSecondsSupportedAsync());
163160
await (AssertQueryAsync(o => o.DateTimeValueWithScale.Second == 4));
164161
}
165162

@@ -236,7 +233,7 @@ public async Task CanSelectDateTime2Async()
236233
[Test]
237234
public async Task CanSelectDateTimeWithScaleAsync()
238235
{
239-
await (AssertDateTimeWithScaleSupportedAsync());
236+
await (AssertDateTimeWithFractionalSecondsSupportedAsync());
240237
await (AssertQueryAsync(o => o.DateTimeValueWithScale == _referenceEntities[0].DateTimeValueWithScale, o => o.DateTimeValueWithScale));
241238
}
242239

0 commit comments

Comments
 (0)