Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit ac9616c

Browse files
committed
Fix SQL Server tests
1 parent 2268c8b commit ac9616c

File tree

5 files changed

+36
-27
lines changed

5 files changed

+36
-27
lines changed

src/ServiceStack.OrmLite/Expressions/SqlExpression.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,6 +1207,9 @@ protected virtual object VisitLambda(LambdaExpression lambda)
12071207
if (m.Expression != null)
12081208
{
12091209
string r = VisitMemberAccess(m).ToString();
1210+
if (m.Expression.Type.IsNullableType())
1211+
return r;
1212+
12101213
return string.Format("{0}={1}", r, GetQuotedTrueValue());
12111214
}
12121215

tests/ServiceStack.OrmLite.Tests/Expression/ExpressionsTestBase.cs

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,40 +53,46 @@ protected void EstablishContext(int numberOfRandomObjects)
5353
}
5454

5555
protected void EstablishContext(int numberOfRandomObjects, params TestType[] obj)
56+
{
57+
EstablishContext(null, numberOfRandomObjects, obj);
58+
}
59+
60+
protected void EstablishContext(IDbConnection db, int numberOfRandomObjects, params TestType[] obj)
5661
{
5762
if (obj == null)
5863
obj = new TestType[0];
5964

60-
using (var con = OpenDbConnection())
65+
var con = db ?? OpenDbConnection();
66+
foreach (var t in obj)
6167
{
62-
foreach (var t in obj)
63-
{
64-
con.Insert(t);
65-
}
68+
con.Insert(t);
69+
}
6670

67-
var random = new Random((int)(DateTime.UtcNow.Ticks ^ (DateTime.UtcNow.Ticks >> 4)));
68-
for (var i = 0; i < numberOfRandomObjects; i++)
71+
var random = new Random((int)(DateTime.UtcNow.Ticks ^ (DateTime.UtcNow.Ticks >> 4)));
72+
for (var i = 0; i < numberOfRandomObjects; i++)
73+
{
74+
TestType o = null;
75+
76+
while (o == null)
6977
{
70-
TestType o = null;
78+
int intVal = random.Next();
7179

72-
while (o == null)
80+
o = new TestType
7381
{
74-
int intVal = random.Next();
75-
76-
o = new TestType
77-
{
78-
BoolColumn = random.Next() % 2 == 0,
79-
IntColumn = intVal,
80-
StringColumn = Guid.NewGuid().ToString()
81-
};
82-
83-
if (obj.Any(x => x.IntColumn == intVal))
84-
o = null;
85-
}
82+
BoolColumn = random.Next() % 2 == 0,
83+
IntColumn = intVal,
84+
StringColumn = Guid.NewGuid().ToString()
85+
};
8686

87-
con.Insert(o);
87+
if (obj.Any(x => x.IntColumn == intVal))
88+
o = null;
8889
}
90+
91+
con.Insert(o);
8992
}
93+
94+
if (db == null)
95+
con.Dispose();
9096
}
9197
}
9298
}

tests/ServiceStack.OrmLite.Tests/Expression/MethodExpressionTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public void Can_select_ints_using_array_contains()
2121
var int20 = new TestType { IntColumn = 20 };
2222
var int30 = new TestType { IntColumn = 30 };
2323

24-
EstablishContext(0, int10, int20, int30);
24+
EstablishContext(db, 0, int10, int20, int30);
2525

2626
var results = db.Select<TestType>(x => ints.Contains(x.IntColumn));
2727
var resultsNullable = db.Select<TestType>(x => nullableInts.Contains(x.IntColumn));
@@ -46,7 +46,7 @@ public void Can_select_ints_using_list_contains()
4646
var int20 = new TestType { IntColumn = 20 };
4747
var int30 = new TestType { IntColumn = 30 };
4848

49-
EstablishContext(0, int10, int20, int30);
49+
EstablishContext(db, 0, int10, int20, int30);
5050

5151
var results = db.Select<TestType>(x => ints.Contains(x.IntColumn));
5252
var resultsNullable = db.Select<TestType>(x => nullableInts.Contains(x.IntColumn));
@@ -66,7 +66,7 @@ public void Can_select_ints_using_empty_array_contains()
6666

6767
using (var db = OpenDbConnection())
6868
{
69-
EstablishContext(5);
69+
EstablishContext(db, 5);
7070

7171
var results = db.Select<TestType>(x => ints.Contains(x.Id));
7272

tests/ServiceStack.OrmLite.Tests/LoadReferencesJoinTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -837,7 +837,7 @@ public void Can_populate_multiple_POCOs_using_SelectMulti3()
837837

838838
private static void AssertMultiCustomerOrderResults(StringBuilder sb)
839839
{
840-
Assert.That(sb.ToString().NormalizeNewLines().Trim(), Is.EqualTo(
840+
Assert.That(sb.ToString().Replace(".990000", ".99").NormalizeNewLines().Trim(), Is.EqualTo(
841841
@"Customer:
842842
{
843843
Id: 1,

tests/ServiceStack.OrmLite.Tests/SelectParamTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public void Can_Select_with_Different_APIs()
1313
{
1414
using (var db = OpenDbConnection())
1515
{
16-
db.CreateTable<Person>();
16+
db.DropAndCreateTable<Person>();
1717
db.InsertAll(Person.Rockstars);
1818

1919
Assert.That(db.Select<Person>(x => x.Age == 27).Count, Is.EqualTo(4));

0 commit comments

Comments
 (0)