comparison UnitTests/CS/Mapping/NullableEnum.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:f990fcb411a9
1 using System;
2
3 using NUnit.Framework;
4
5 using BLToolkit.Mapping;
6 using BLToolkit.Reflection.Extension;
7
8 namespace Mapping
9 {
10 [TestFixture]
11 public class NullableEnum
12 {
13 public class Source
14 {
15 public Source(string value)
16 {
17 Field = value;
18 }
19
20 public string Field;
21 }
22
23 public enum StrEnum
24 {
25 [MapValue("str")] Str,
26 [MapValue("str1")] Str1
27 }
28
29 public class StrDest1
30 {
31 public StrEnum? Field;
32 }
33
34 [Test]
35 public void Test1()
36 {
37 StrDest1 sd = Map.ObjectToObject<StrDest1>(new Source("str"));
38
39 Assert.AreEqual(StrEnum.Str, sd.Field);
40 }
41
42 [Test]
43 public void Test2()
44 {
45 StrDest1 sd = Map.ObjectToObject<StrDest1>(new Source(null));
46
47 Assert.IsNull(sd.Field);
48 }
49
50 public class StrDest2
51 {
52 public Mapping.EnumExtension.CountryCodeEnum? Field;
53 }
54
55 [Test]
56 public void Test3()
57 {
58 Map.Extensions = TypeExtension.GetExtensions("Map.xml");
59
60 StrDest2 sd = Map.ObjectToObject<StrDest2>(new Source("AL"));
61
62 Assert.AreEqual(Mapping.EnumExtension.CountryCodeEnum.AL, sd.Field);
63 }
64
65 [Test]
66 public void Test4()
67 {
68 Map.Extensions = TypeExtension.GetExtensions("Map.xml");
69
70 StrDest2 sd = Map.ObjectToObject<StrDest2>(new Source(null));
71
72 Assert.IsNull(sd.Field);
73 }
74
75 public enum IntEnum
76 {
77 Str = 1,
78 Str1 = 2
79 }
80
81 public class StrDest3
82 {
83 public IntEnum? Field;
84 }
85
86 [Test]
87 public void Test5()
88 {
89 StrDest3 sd = Map.ObjectToObject<StrDest3>(new Source("1"));
90
91 Assert.AreEqual(IntEnum.Str, sd.Field);
92 }
93
94 [Test]
95 public void Test6()
96 {
97 StrDest3 sd = Map.ObjectToObject<StrDest3>(new Source(null));
98
99 Assert.IsNull(sd.Field);
100 }
101 }
102 }