File: OrderBy.cs

package info (click to toggle)
mono 4.6.2.7+dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 778,148 kB
  • ctags: 914,052
  • sloc: cs: 5,779,509; xml: 2,773,713; ansic: 432,645; sh: 14,749; makefile: 12,361; perl: 2,488; python: 1,434; cpp: 849; asm: 531; sql: 95; sed: 16; php: 1
file content (125 lines) | stat: -rw-r--r-- 4,135 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
´╗┐using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Test_NUnit;
using NUnit.Framework;

using nwind;

// test ns Linq_101_Samples
#if MYSQL
    namespace Test_NUnit_MySql.Linq_101_Samples
#elif ORACLE && ODP
    namespace Test_NUnit_OracleODP.Linq_101_Samples
#elif ORACLE
    namespace Test_NUnit_Oracle.Linq_101_Samples
#elif POSTGRES
    namespace Test_NUnit_PostgreSql.Linq_101_Samples
#elif SQLITE
    namespace Test_NUnit_Sqlite.Linq_101_Samples
#elif INGRES
    namespace Test_NUnit_Ingres.Linq_101_Samples
#elif MSSQL && L2SQL
    namespace Test_NUnit_MsSql_Strict.Linq_101_Samples
#elif MSSQL
    namespace Test_NUnit_MsSql.Linq_101_Samples
#elif FIREBIRD
    namespace Test_NUnit_Firebird.Linq_101_Samples
#endif
{
    [TestFixture]
    public class OrderBy : TestBase
    {
        [Test(Description = "OrderBy - Simple. This sample uses orderby to sort Employees by hire date.")]
        public void LinqToSqlOrderBy01()
        {
            Northwind db = CreateDB();

            var q = from e in db.Employees
                    orderby e.HireDate
                    select e;

            var list = q.ToList();
            Assert.IsTrue(list.Count > 0);
        }

        [Test(Description = "OrderBy - With where. This sample uses where and orderby to sort Orders shipped to London by freight.")]
        public void LinqToSqlOrderBy02()
        {
            Northwind db = CreateDB();

            var q = from o in db.Orders
                    where o.ShipCity == "Marseille"
                    orderby o.Freight
                    select o;

            var list = q.ToList();
            Assert.IsTrue(list.Count > 0);
        }

        [Test(Description = "OrderByDescending. This sample uses orderby to sort Products by unit price from highest to lowest.")]
        public void LinqToSqlOrderBy03()
        {
            Northwind db = CreateDB();

            var q = from p in db.Products
                    orderby p.UnitPrice descending
                    select p;

            var list = q.ToList();
            Assert.IsTrue(list.Count > 0);
        }

        [Test(Description = "ThenBy. This sample uses a compound orderby to sort Customers by city and then contact name.")]
        public void LinqToSqlOrderBy04()
        {
            Northwind db = CreateDB();

            var q = from c in db.Customers
                    orderby c.City, c.ContactName
                    select c;

            var list = q.ToList();
            Assert.IsTrue(list.Count > 0);
        }

        [Test(Description = "ThenByDescending. This sample uses orderby to sort Orders from EmployeeID 1 by ship-to country, and then by freight from highest to lowest.")]
        public void LinqToSqlOrderBy05()
        {
            Northwind db = CreateDB();

            var q = from o in db.Orders
                    where o.EmployeeID == 1
                    orderby o.ShipCountry, o.Freight descending
                    select o;

            var list = q.ToList();
            Assert.IsTrue(list.Count > 0);
        }

#if !DEBUG && (SQLITE || POSTGRES || (MSSQL && !L2SQL))
        [Explicit]
#endif
        [Test(Description = "OrderBy - Group by. This sample uses Orderby, Max and Group by to find the Products that have the highest unit price in each category, and sorts the group by category id.")]
        public void LinqToSqlOrderBy06()
        {
            Northwind db = CreateDB();

            var categories = from p in db.Products
                             orderby p.CategoryID
                             group p by p.CategoryID into Group
                             select new
                             {
                                 Group,
                                 MostExpensiveProducts =
                                     from p2 in Group
                                     where p2.UnitPrice == Group.Max(p3 => p3.UnitPrice)
                                     select p2
                             };

            var list = categories.ToList();
            Assert.IsTrue(list.Count > 0);
        }
    }
}