Skip to content

Commit c8cae25

Browse files
committed
Workaround for Firebird
1 parent 910f12c commit c8cae25

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

Orm/Xtensive.Orm.Tests/Linq/QueryMethodTests.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// Created by: Alexey Gamzov
55
// Created: 2010.01.15
66

7+
using System.Collections.Generic;
78
using System.Linq;
89
using NUnit.Framework;
910
using Xtensive.Collections;
@@ -41,7 +42,7 @@ public void SingleSubqueryKeyTest()
4142
Require.AllFeaturesSupported(ProviderFeatures.ScalarSubqueries);
4243
var query = Session.Query.All<Customer>()
4344
.Where(c => c==Session.Query.Single<Customer>(Session.Query.All<Customer>().FirstOrDefault().Key));
44-
var expected = EnumerableUtils.One(Customers.First());
45+
var expected = GetExpectedCustomerAsSequence();
4546

4647
Assert.That(query, Is.Not.Empty);
4748
Assert.AreEqual(0, expected.Except(query).Count());
@@ -81,7 +82,7 @@ public void SingleOrDefaultSubqueryKeyTest()
8182
Require.AllFeaturesSupported(ProviderFeatures.ScalarSubqueries);
8283
var query = Session.Query.All<Customer>()
8384
.Where(c => c==Session.Query.SingleOrDefault<Customer>(Session.Query.All<Customer>().FirstOrDefault().Key));
84-
var expected = EnumerableUtils.One(Customers.First());
85+
var expected = GetExpectedCustomerAsSequence();
8586

8687
Assert.That(query, Is.Not.Empty);
8788
Assert.AreEqual(0, expected.Except(query).Count());
@@ -139,5 +140,13 @@ public void Store2Test()
139140
Assert.That(query, Is.Not.Empty);
140141
Assert.AreEqual(0, expected.Except(query).Count());
141142
}
143+
144+
private IEnumerable<Customer> GetExpectedCustomerAsSequence()
145+
{
146+
if (StorageProviderInfo.Instance.CheckProviderIs(StorageProvider.Firebird)) {
147+
return EnumerableUtils.One(Session.Query.All<Customer>().OrderBy(c => c.CustomerId).AsEnumerable().First());
148+
}
149+
return EnumerableUtils.One(Customers.First());
150+
}
142151
}
143152
}

0 commit comments

Comments
 (0)