Skip to content

Commit 598b74d

Browse files
committed
Improve test
1 parent b7912cf commit 598b74d

File tree

2 files changed

+48
-14
lines changed

2 files changed

+48
-14
lines changed

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

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -399,22 +399,39 @@ public async Task QueryOverOrderByAndWhereWithIdProjectionDoesntThrowAsync()
399399
public async Task QueryOverInClauseAsync()
400400
{
401401
// insert the new objects
402+
var id1 = id;
403+
var id2 = secondId;
404+
var id3 = new Id(id1.KeyString, id1.GetKeyShort(), id2.KeyDateTime);
405+
402406
using (ISession s = OpenSession())
403407
using (ITransaction t = s.BeginTransaction())
404408
{
405-
await (s.SaveAsync(new ClassWithCompositeId(id) {OneProperty = 5}));
406-
await (s.SaveAsync(new ClassWithCompositeId(secondId) {OneProperty = 10}));
407-
await (s.SaveAsync(new ClassWithCompositeId(new Id(id.KeyString, id.GetKeyShort(), secondId.KeyDateTime))));
409+
await (s.SaveAsync(new ClassWithCompositeId(id1) {OneProperty = 5}));
410+
await (s.SaveAsync(new ClassWithCompositeId(id2) {OneProperty = 10}));
411+
await (s.SaveAsync(new ClassWithCompositeId(id3)));
408412

409413
await (t.CommitAsync());
410414
}
411415

412416
using (var s = OpenSession())
413417
{
414-
var results1 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id, secondId}).ListAsync());
415-
var results2 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id}).ListAsync());
416-
Assert.That(results1.Count, Is.EqualTo(2));
417-
Assert.That(results2.Count, Is.EqualTo(1));
418+
var results1 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id1, id2}).ListAsync());
419+
var results2 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id1}).ListAsync());
420+
var results3 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).Not.IsIn(new[] {id1, id2}).ListAsync());
421+
var results4 = await (s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).Not.IsIn(new[] {id1}).ListAsync());
422+
423+
Assert.Multiple(
424+
() =>
425+
{
426+
Assert.That(results1.Count, Is.EqualTo(2), "in multiple ids");
427+
Assert.That(results1.Select(r => r.Id), Is.EquivalentTo(new[] {id1, id2}), "in multiple ids");
428+
Assert.That(results2.Count, Is.EqualTo(1), "in single id");
429+
Assert.That(results2.Select(r => r.Id), Is.EquivalentTo(new[] {id1}), "in single id");
430+
Assert.That(results3.Count, Is.EqualTo(1), "not in multiple ids");
431+
Assert.That(results3.Select(r => r.Id), Is.EquivalentTo(new[] {id3}), "not in multiple ids");
432+
Assert.That(results4.Count, Is.EqualTo(2), "not in single id");
433+
Assert.That(results4.Select(r => r.Id), Is.EquivalentTo(new[] {id2, id3}), "not in single id");
434+
});
418435
}
419436
}
420437
}

src/NHibernate.Test/CompositeId/ClassWithCompositeIdFixture.cs

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -388,22 +388,39 @@ public void QueryOverOrderByAndWhereWithIdProjectionDoesntThrow()
388388
public void QueryOverInClause()
389389
{
390390
// insert the new objects
391+
var id1 = id;
392+
var id2 = secondId;
393+
var id3 = new Id(id1.KeyString, id1.GetKeyShort(), id2.KeyDateTime);
394+
391395
using (ISession s = OpenSession())
392396
using (ITransaction t = s.BeginTransaction())
393397
{
394-
s.Save(new ClassWithCompositeId(id) {OneProperty = 5});
395-
s.Save(new ClassWithCompositeId(secondId) {OneProperty = 10});
396-
s.Save(new ClassWithCompositeId(new Id(id.KeyString, id.GetKeyShort(), secondId.KeyDateTime)));
398+
s.Save(new ClassWithCompositeId(id1) {OneProperty = 5});
399+
s.Save(new ClassWithCompositeId(id2) {OneProperty = 10});
400+
s.Save(new ClassWithCompositeId(id3));
397401

398402
t.Commit();
399403
}
400404

401405
using (var s = OpenSession())
402406
{
403-
var results1 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id, secondId}).List();
404-
var results2 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id}).List();
405-
Assert.That(results1.Count, Is.EqualTo(2));
406-
Assert.That(results2.Count, Is.EqualTo(1));
407+
var results1 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id1, id2}).List();
408+
var results2 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).IsIn(new[] {id1}).List();
409+
var results3 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).Not.IsIn(new[] {id1, id2}).List();
410+
var results4 = s.QueryOver<ClassWithCompositeId>().WhereRestrictionOn(p => p.Id).Not.IsIn(new[] {id1}).List();
411+
412+
Assert.Multiple(
413+
() =>
414+
{
415+
Assert.That(results1.Count, Is.EqualTo(2), "in multiple ids");
416+
Assert.That(results1.Select(r => r.Id), Is.EquivalentTo(new[] {id1, id2}), "in multiple ids");
417+
Assert.That(results2.Count, Is.EqualTo(1), "in single id");
418+
Assert.That(results2.Select(r => r.Id), Is.EquivalentTo(new[] {id1}), "in single id");
419+
Assert.That(results3.Count, Is.EqualTo(1), "not in multiple ids");
420+
Assert.That(results3.Select(r => r.Id), Is.EquivalentTo(new[] {id3}), "not in multiple ids");
421+
Assert.That(results4.Count, Is.EqualTo(2), "not in single id");
422+
Assert.That(results4.Select(r => r.Id), Is.EquivalentTo(new[] {id2, id3}), "not in single id");
423+
});
407424
}
408425
}
409426
}

0 commit comments

Comments
 (0)