annotate UnitTests/CS/DataAccess/SqlQueryTest2.cs @ 9:1e85f66cf767 default tip

update bltoolkit
author nickolay
date Thu, 05 Apr 2018 20:53:26 +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
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 namespace DataAccess
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 public class SqlQueryTest2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 public class Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 public int ID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public string LastName;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 public string FirstName;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 public string MiddleName;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 public abstract class PersonAccessor : DataAccessor<Person>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 [TestQuery(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 SqlText = "SELECT * FROM Person WHERE LastName = @lastName",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 OracleText = "SELECT * FROM Person WHERE LastName = :lastName")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 public abstract List<Person> SelectByLastName(string lastName);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 [TestQuery(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 SqlText = "SELECT * FROM Person WHERE {0} = @value",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 OracleText = "SELECT * FROM Person WHERE {0} = :value")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 public abstract List<Person> SelectBy([Format] string fieldName, string value);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 [TestQuery(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 SqlText = "SELECT TOP ({0}) * FROM Person WHERE LastName = @lastName",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 AccessText = "SELECT TOP {0} * FROM Person WHERE LastName = @lastName",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 OracleText = "SELECT * FROM Person WHERE LastName = :lastName AND rownum <= {0}",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 FbText = "SELECT FIRST {0} * FROM Person WHERE LastName = @lastName",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 SQLiteText = "SELECT * FROM Person WHERE LastName = @lastName LIMIT {0}")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 public abstract List<Person> SelectByLastName(string lastName, [Format(0)] int top);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 [TestQuery(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 SqlText = "SELECT @id as ID",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 OracleText = "SELECT :id ID FROM Dual",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 FbText = "SELECT CAST(@id AS INTEGER) ID FROM Dual")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 public abstract List<Person> SelectID(int @id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 public void Test1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 var da = DataAccessor.CreateInstance<PersonAccessor>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 var list = da.SelectByLastName("Pupkin");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 Assert.AreNotEqual(0, list.Count);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 public void Test2()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 var da = DataAccessor.CreateInstance<PersonAccessor>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 var list = da.SelectBy("FirstName", "John");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 Assert.AreNotEqual(0, list.Count);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 public void Test3()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 var da = DataAccessor.CreateInstance<PersonAccessor>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 var list = da.SelectByLastName("Pupkin", 1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 Assert.AreNotEqual(0, list.Count);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 #if !SQLCE // Works in Query window but not here???
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 public void Test4()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 var da = DataAccessor.CreateInstance<PersonAccessor>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 var list = da.SelectID(42);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 Assert.AreEqual(42, list[0].ID);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 }