annotate UnitTests/CS/DataAccess/EnumTest.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 BLToolkit.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using BLToolkit.DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Mapping;
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 EnumTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 public enum Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 [MapValue("F")] E_Female,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 [MapValue("M")] E_Male,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 [MapValue("U")] E_Unknown,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 [MapValue("O")] E_Other
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 public enum RefEnum
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 [MapValue("A")] E_A,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 [MapValue("B")] E_B,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 [MapValue("BB")] E_BB
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 public abstract class TestAccessor : DataAccessor
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 #if SQLITE || SQLCE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 [SqlQuery(@"INSERT INTO Person(FirstName, MiddleName, LastName, Gender)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 VALUES(@FirstName, @MiddleName, @LastName, @Gender)")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 public abstract int Person_Insert(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 string @FirstName, string @MiddleName, string @LastName, Gender @Gender);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 #if ACCESS || SQLITE || SQLCE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 #if SQLITE || SQLCE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 [SqlQuery(@"SELECT * FROM Person WHERE FirstName = @FirstName AND LastName = @LastName")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 public abstract int Person_SelectByName(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 string @FirstName, string @LastName );
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 #if SQLITE || SQLCE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 [SqlQuery(@"DELETE FROM Person WHERE PersonID = @PersonID")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 public abstract void Person_Delete(int @personID);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 public abstract void OutRefEnumTest(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 string @str, out RefEnum @outputStr, ref RefEnum @inputOutputStr);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 public void Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 TestAccessor ta = (TestAccessor)DataAccessor.CreateInstance(typeof(TestAccessor));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 int id = ta.Person_Insert("Crazy", null, "Frog", Gender.E_Unknown);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 #if ACCESS || SQLITE || SQLCE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 Assert.AreEqual(0, id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 id = ta.Person_SelectByName("Crazy", "Frog");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 Assert.IsTrue(id > 0);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 ta.Person_Delete(id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 #if !ACCESS && !SQLITE && !SQLCE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 public void RefTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 TestAccessor ta = (TestAccessor)DataAccessor.CreateInstance(typeof(TestAccessor));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 RefEnum a;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 RefEnum b = RefEnum.E_B;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 ta.OutRefEnumTest("B", out a, ref b);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 Assert.AreEqual(RefEnum.E_B, a);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 Assert.AreEqual(RefEnum.E_BB, b);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 }