public void OnlyOrderBy()
        {
            var sql = "SELECT * FROM Users ORDER BY FirstName, LastName";
            var pager = new SqlServerPager();

            var actual = pager.ApplyTo(new SqlServerPagerContext(sql, 1, 50, "id"));
            var expected = @"WITH Paged AS 
(
    SELECT *,
    ROW_NUMBER() OVER (ORDER BY FirstName, LastName) AS RowNumber
    FROM Users
)
SELECT RowNumber, *
FROM Users
WHERE RowNumber BETWEEN 0 AND 50
ORDER BY FirstName, LastName";

            Assert.Equal(expected, actual);
        }
        public void Where()
        {
            var sql = "SELECT * FROM Users WHERE a = b OR c = d";
            var pager = new SqlServerPager();

            var actual = pager.ApplyTo(new SqlServerPagerContext(sql, 1, 50, "id"));
            var expected = @"WITH Paged AS 
(
    SELECT *,
    ROW_NUMBER() OVER (ORDER BY id) AS RowNumber
    FROM Users
)
SELECT RowNumber, *
FROM Users
WHERE RowNumber BETWEEN 0 AND 50
AND (a = b OR c = d)
ORDER BY id";

            Console.WriteLine(actual.Substring(99));
            Assert.Equal(expected, actual);
        }
        public void CompleteWithNewLines()
        {
            var sql = @"SELECT *
FROM Users 
WHERE 1 = 2 OR 2 = 3 
GROUP BY Ida 
ORDER BY FirstName, LastName";
            var pager = new SqlServerPager();

            var actual = pager.ApplyTo(new SqlServerPagerContext(sql, 1, 50, "id"));
            var expected = @"WITH Paged AS 
(
    SELECT *,
    ROW_NUMBER() OVER (ORDER BY FirstName, LastName) AS RowNumber
    FROM Users
)
SELECT RowNumber, *
FROM Users
WHERE RowNumber BETWEEN 0 AND 50
AND (1 = 2 OR 2 = 3)
GROUP BY Ida
ORDER BY FirstName, LastName";

            Assert.Equal(expected, actual);
        }