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

Commit a5d10fb

Browse files
committed
Add sqlLimit tests
1 parent a3c8fb2 commit a5d10fb

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

tests/ServiceStack.OrmLite.Tests/SqlDialectTests.cs

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using NUnit.Framework;
1+
using System.Linq;
2+
using NUnit.Framework;
23
using ServiceStack.DataAnnotations;
34
using ServiceStack.Text;
45

@@ -100,5 +101,40 @@ public void Does_handle_booleans()
100101
}
101102
}
102103

104+
[Test]
105+
public void Can_use_limit()
106+
{
107+
using (var db = OpenDbConnection())
108+
{
109+
db.DropAndCreateTable<Sqltest>();
110+
111+
5.Times(i => db.Insert(new Sqltest { Value = i + 1 }));
112+
113+
var sqlLimit = db.GetDialectProvider().SqlLimit(rows: 1);
114+
var results = db.SqlList<double>($"SELECT Value from sqltest ORDER BY Id {sqlLimit}").Sum();
115+
Assert.That(results, Is.EqualTo(1));
116+
117+
sqlLimit = db.GetDialectProvider().SqlLimit(rows: 3);
118+
results = db.SqlList<double>($"SELECT Value from sqltest ORDER BY Id {sqlLimit}").Sum();
119+
Assert.That(results, Is.EqualTo(6));
120+
121+
sqlLimit = db.GetDialectProvider().SqlLimit(offset: 1);
122+
results = db.SqlList<double>($"SELECT Value from sqltest ORDER BY Id {sqlLimit}").Sum();
123+
Assert.That(results, Is.EqualTo(14));
124+
125+
sqlLimit = db.GetDialectProvider().SqlLimit(offset: 4);
126+
results = db.SqlList<double>($"SELECT Value from sqltest ORDER BY Id {sqlLimit}").Sum();
127+
Assert.That(results, Is.EqualTo(5));
128+
129+
sqlLimit = db.GetDialectProvider().SqlLimit(offset: 1, rows: 1);
130+
results = db.SqlList<double>($"SELECT Value from sqltest ORDER BY Id {sqlLimit}").Sum();
131+
Assert.That(results, Is.EqualTo(2));
132+
133+
sqlLimit = db.GetDialectProvider().SqlLimit(offset: 2, rows: 2);
134+
results = db.SqlList<double>($"SELECT Value from sqltest ORDER BY Id {sqlLimit}").Sum();
135+
Assert.That(results, Is.EqualTo(7));
136+
}
137+
}
138+
103139
}
104140
}

0 commit comments

Comments
 (0)