annotate UnitTests/CS/Mapping/EnumExtension.cs @ 3:1ef98bd70424

!bug 100 +3h Исправление проблемы BLToolkit + mono 3.4
author cin
date Fri, 22 Aug 2014 17:34:46 +0400
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
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.Mapping;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Reflection.Extension;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 namespace Mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 public class EnumExtension
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 public enum CountryCodeEnum
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 AF,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 AL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 DZ,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 AS,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 AD
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 public enum OtherEnum
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 EnumValue1,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 EnumValue2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 public void Test1()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 Map.Extensions = TypeExtension.GetExtensions("Map.xml");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 Assert.AreEqual("AL", Map.EnumToValue(CountryCodeEnum.AL));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 Assert.AreEqual(101, Map.EnumToValue(OtherEnum.EnumValue2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 public class TestObj
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 [MapField("country_code")] public CountryCodeEnum1 Country { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 [MapField("other")] public OtherEnum1 Other { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 public enum CountryCodeEnum1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 [MapValue("AFA")] AF,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 [MapValue("ALA")] AL,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 [MapValue("DZA")] DZ,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 [MapValue("ASA")] AS,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 [MapValue("ADA")] AD
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 public enum OtherEnum1
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 [MapValue("v1")] EnumValue1,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 [MapValue("v2")] EnumValue2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 public void EnumToValueTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 Map.Extensions = TypeExtension.GetExtensions("Map.xml");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 Assert.AreEqual("AL", Map.EnumToValue(CountryCodeEnum1.AL));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 Assert.AreEqual(101, Map.EnumToValue(OtherEnum1.EnumValue2));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 //[Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 public void ObjToDicTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 var obj = new TestObj { Country = CountryCodeEnum1.DZ, Other = OtherEnum1.EnumValue2 };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 var sh = new MappingSchema { Extensions = TypeExtension.GetExtensions("Map.xml") };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 var pars = sh.MapObjectToDictionary(obj);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 Assert.AreEqual("DZ", pars["country_code"]);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 Assert.AreEqual(101, pars["other"]);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 }