annotate UnitTests/Linq/IdlTest.mono.cs @ 6:11b6da379593

Исправлена странная ошибка при использовании OfType<...>().Where(...)
author cin
date Mon, 05 Dec 2016 05:50:52 +0300
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Collections.Generic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Linq;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 namespace Data.Linq
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 partial class IdlTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 partial class GenericQueryBase
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 protected IQueryable<IdlPatient> AllPatients2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 get { return m_ds.Patients(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 public class GenericConcatQuery1 : GenericQueryBase
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 private String @p1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 private Int32 @p2;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 public GenericConcatQuery1(ITestDataContext ds, object[] args)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 : base(ds)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 @p1 = (String)args[0];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 @p2 = (Int32) args[1];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 public override IEnumerable<object> Query()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 //return Queryable.Concat(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 return Concat2(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 from y in AllPersons select y.Name,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 from x in AllPersons
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 from z in AllPatients
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 where (x.Name == @p1 || z.Id == new ObjectId { Value = @p2 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 select x.Name);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 public void TestMono03Mono()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 ForMySqlProvider(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 db => Assert.That(new GenericConcatQuery1(db, new object[] { "A", 1 }).Query().ToList(), Is.Not.Null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 public class GenericConcatJoinOrderQuery1 : GenericQueryBase
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 private String @p1;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 private Int32 @p2;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 public GenericConcatJoinOrderQuery1(ITestDataContext ds, object[] args)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 : base(ds)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 @p1 = (System.String)args[0];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 @p2 = (System.Int32)args[1];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 public override IEnumerable<object> Query()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 return (from j in
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 //Queryable.Concat(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 Concat2(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 from y in AllPersons
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 select new { FirstName = y.Name },
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 from x in AllPersons
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 from z in AllPatients
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 where (x.Name == @p1 || z.Id == new ObjectId { Value = @p2 })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 select new { FirstName = x.Name })
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 join g in AllGrandChilds on j.FirstName equals @p1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 orderby g.ParentID.Value
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 select new { FirstName = g.ParentID.Value.ToString() });
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 public void TestMono04Mono()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 ForMySqlProvider(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 db => Assert.That(new GenericConcatJoinOrderQuery1(db, new object[] { "A", 1 }).Query().ToList(), Is.Not.Null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 }