Skip to content

Commit 68daf7d

Browse files
committed
Improve test
1 parent ff70a94 commit 68daf7d

File tree

2 files changed

+50
-14
lines changed

2 files changed

+50
-14
lines changed

src/NHibernate.Test/Async/CompositeId/ClassWithCompositeIdFixture.cs

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
using System;
1212
using System.Collections;
13+
using System.Linq;
1314
using NHibernate.Criterion;
1415
using NUnit.Framework;
1516

@@ -346,22 +347,39 @@ public async Task HqlInClauseSubquery_ForEntityAsync()
346347
public async Task QueryOverInClauseAsync()
347348
{
348349
// insert the new objects
350+
var id1 = id;
351+
var id2 = secondId;
352+
var id3 = new Id(id1.KeyString, id1.GetKeyShort(), id2.KeyDateTime);
353+
349354
using (ISession s = OpenSession())
350355
using (ITransaction t = s.BeginTransaction())
351356
{
352-
await (s.SaveAsync(new ClassWithCompositeId(id) {OneProperty = 5}));
353-
await (s.SaveAsync(new ClassWithCompositeId(secondId) {OneProperty = 10}));
354-
await (s.SaveAsync(new ClassWithCompositeId(new Id(id.KeyString, id.GetKeyShort(), secondId.KeyDateTime))));
357+
await (s.SaveAsync(new ClassWithCompositeId(id1) {OneProperty = 5}));
358+
await (s.SaveAsync(new ClassWithCompositeId(id2) {OneProperty = 10}));
359+
await (s.SaveAsync(new ClassWithCompositeId(id3)));
355360

356361
await (t.CommitAsync());
357362
}
358363

359364
using (var s = OpenSession())
360365
{
361-
var results1 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id, secondId}).ListAsync());
362-
var results2 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id}).ListAsync());
363-
Assert.That(results1.Count, Is.EqualTo(2));
364-
Assert.That(results2.Count, Is.EqualTo(1));
366+
var results1 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id1, id2}).ListAsync());
367+
var results2 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id1}).ListAsync());
368+
var results3 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).Not.IsIn(new[] {id1, id2}).ListAsync());
369+
var results4 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).Not.IsIn(new[] {id1}).ListAsync());
370+
371+
Assert.Multiple(
372+
() =>
373+
{
374+
Assert.That(results1.Count, Is.EqualTo(2), "in multiple ids");
375+
Assert.That(results1.Select(r => r.Id), Is.EquivalentTo(new[] {id1, id2}), "in multiple ids");
376+
Assert.That(results2.Count, Is.EqualTo(1), "in single id");
377+
Assert.That(results2.Select(r => r.Id), Is.EquivalentTo(new[] {id1}), "in single id");
378+
Assert.That(results3.Count, Is.EqualTo(1), "not in multiple ids");
379+
Assert.That(results3.Select(r => r.Id), Is.EquivalentTo(new[] {id3}), "not in multiple ids");
380+
Assert.That(results4.Count, Is.EqualTo(2), "not in single id");
381+
Assert.That(results4.Select(r => r.Id), Is.EquivalentTo(new[] {id2, id3}), "not in single id");
382+
});
365383
}
366384
}
367385
}

src/NHibernate.Test/CompositeId/ClassWithCompositeIdFixture.cs

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections;
3+
using System.Linq;
34
using NHibernate.Criterion;
45
using NUnit.Framework;
56

@@ -335,22 +336,39 @@ public void HqlInClauseSubquery_ForEntity()
335336
public void QueryOverInClause()
336337
{
337338
// insert the new objects
339+
var id1 = id;
340+
var id2 = secondId;
341+
var id3 = new Id(id1.KeyString, id1.GetKeyShort(), id2.KeyDateTime);
342+
338343
using (ISession s = OpenSession())
339344
using (ITransaction t = s.BeginTransaction())
340345
{
341-
s.Save(new ClassWithCompositeId(id) {OneProperty = 5});
342-
s.Save(new ClassWithCompositeId(secondId) {OneProperty = 10});
343-
s.Save(new ClassWithCompositeId(new Id(id.KeyString, id.GetKeyShort(), secondId.KeyDateTime)));
346+
s.Save(new ClassWithCompositeId(id1) {OneProperty = 5});
347+
s.Save(new ClassWithCompositeId(id2) {OneProperty = 10});
348+
s.Save(new ClassWithCompositeId(id3));
344349

345350
t.Commit();
346351
}
347352

348353
using (var s = OpenSession())
349354
{
350-
var results1 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id, secondId}).List();
351-
var results2 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id}).List();
352-
Assert.That(results1.Count, Is.EqualTo(2));
353-
Assert.That(results2.Count, Is.EqualTo(1));
355+
var results1 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id1, id2}).List();
356+
var results2 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id1}).List();
357+
var results3 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).Not.IsIn(new[] {id1, id2}).List();
358+
var results4 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).Not.IsIn(new[] {id1}).List();
359+
360+
Assert.Multiple(
361+
() =>
362+
{
363+
Assert.That(results1.Count, Is.EqualTo(2), "in multiple ids");
364+
Assert.That(results1.Select(r => r.Id), Is.EquivalentTo(new[] {id1, id2}), "in multiple ids");
365+
Assert.That(results2.Count, Is.EqualTo(1), "in single id");
366+
Assert.That(results2.Select(r => r.Id), Is.EquivalentTo(new[] {id1}), "in single id");
367+
Assert.That(results3.Count, Is.EqualTo(1), "not in multiple ids");
368+
Assert.That(results3.Select(r => r.Id), Is.EquivalentTo(new[] {id3}), "not in multiple ids");
369+
Assert.That(results4.Count, Is.EqualTo(2), "not in single id");
370+
Assert.That(results4.Select(r => r.Id), Is.EquivalentTo(new[] {id2, id3}), "not in single id");
371+
});
354372
}
355373
}
356374
}

0 commit comments

Comments
 (0)