annotate UnitTests/CS/Common/ConvertTest.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 #if ORACLE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using Oracle.DataAccess.Types;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using System.Reflection;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Common;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 using BLToolkit.Reflection;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 using Convert = BLToolkit.Common.Convert;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 namespace Common
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public class ConvertTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 public void StringTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 string testStr = "123";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 Assert.AreEqual(123, Convert.ToSByte(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 Assert.AreEqual(123, Convert.ToInt16(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 Assert.AreEqual(123, Convert.ToInt32(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 Assert.AreEqual(123, Convert.ToInt64(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 Assert.AreEqual(123, Convert.ToByte(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 Assert.AreEqual(123, Convert.ToUInt16(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 Assert.AreEqual(123, Convert.ToUInt32(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 Assert.AreEqual(123, Convert.ToUInt64(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 Assert.AreEqual(123.0m, Convert.ToDecimal(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 Assert.AreEqual(123.0f, Convert.ToSingle(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 Assert.AreEqual(123.0, Convert.ToDouble(testStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 string zeroStr = "0";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 Assert.AreEqual(0, Convert.ToSByte((string)null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 Assert.AreEqual(0, Convert.ToSByte(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 Assert.AreEqual(0, Convert.ToInt16(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 Assert.AreEqual(0, Convert.ToInt32(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 Assert.AreEqual(0, Convert.ToInt64(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 Assert.AreEqual(0, Convert.ToByte(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 Assert.AreEqual(0, Convert.ToUInt16(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 Assert.AreEqual(0, Convert.ToUInt32(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 Assert.AreEqual(0, Convert.ToUInt64(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 Assert.AreEqual(0.0m, Convert.ToDecimal(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 Assert.AreEqual(0.0f, Convert.ToSingle(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 Assert.AreEqual(0.0, Convert.ToDouble(zeroStr));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 Assert.IsTrue(Convert.ToBoolean("True"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 Assert.IsTrue(Convert.ToBoolean("true"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 Assert.IsFalse(Convert.ToBoolean("false"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 Assert.IsFalse(Convert.ToBoolean("FALSE"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 Assert.IsFalse(Convert.ToBoolean((string)null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 Assert.AreEqual('T', Convert.ToChar("T"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 Assert.AreEqual(0, Convert.ToChar((string)null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 Assert.AreEqual(DateTime.Today, Convert.ToDateTime(DateTime.Today.ToString()));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 Assert.AreEqual(DateTime.MinValue, Convert.ToDateTime((string)null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 Assert.AreEqual(TimeSpan.FromDays(123.0), Convert.ToTimeSpan("123"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 Assert.AreEqual(TimeSpan.MinValue, Convert.ToTimeSpan((string)null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 Assert.AreEqual(typeof(int).GUID, Convert.ToGuid(typeof(int).GUID.ToString()));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 Assert.AreEqual(Guid.Empty, Convert.ToGuid((string)null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 Assert.AreEqual(typeof(int), Convert.ToType("System.Int32, mscorlib"));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 Assert.IsNull(Convert.ToType((string)null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 private static readonly Type[] NumericTypes =
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 typeof(SByte),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 typeof(Byte),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 typeof(Int16),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 typeof(UInt16),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 typeof(Int32),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 typeof(UInt32),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 typeof(Int64),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 typeof(UInt64),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 typeof(Single),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 typeof(Double),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 typeof(Decimal),
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 private const BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.Static;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 public void NumericTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 TypeHelper helper = new TypeHelper(typeof(Convert));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 IConvertible src = 123;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100 // All types from SByte to Decimal can convert to each other
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 for (int from = 0; from < NumericTypes.Length; ++from)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 Type typeFrom = NumericTypes[from];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 object test = src.ToType(typeFrom, null);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 for (int to = 0; to < NumericTypes.Length; ++to)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 if (from == to)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 continue;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 Type typeTo = NumericTypes[to];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 MethodInfo mi = helper.GetMethod("To" + typeTo.Name, bindingFlags, typeFrom);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 Assert.IsNotNull(mi, string.Format("Missed To{0}({1})", typeTo.Name, typeFrom.Name));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 Assert.AreEqual(123, mi.Invoke(null, new object[] { test }));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 public void DateTimeTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 Assert.AreEqual(DateTime.MinValue + TimeSpan.FromDays(1), Convert.ToDateTime(1.0));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 Assert.AreEqual(TimeSpan.FromDays(1), Convert.ToTimeSpan(1.0));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 Assert.AreEqual(DateTime.MinValue + TimeSpan.FromTicks(1), Convert.ToDateTime(1L));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 Assert.AreEqual(TimeSpan.FromTicks(1), Convert.ToTimeSpan(1L));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 public void InterfaceTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 Assert.AreEqual(123, ConvertTo<IConvertible>.From(123).ToByte(null));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 public void EnumTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 // Enum-to-enum.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 Assert.AreEqual(BindingFlags.DeclaredOnly,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 ConvertTo<BindingFlags>.From(CallingConventions.VarArgs));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 // Enum-to-nullable byte.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 Assert.AreEqual((byte?)BindingFlags.DeclaredOnly,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 ConvertTo<byte?>.From(BindingFlags.DeclaredOnly));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 // Nullable Enum-to-nullable enum.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 Assert.AreEqual((CallingConventions?)CallingConventions.VarArgs,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 ConvertTo<CallingConventions?>.From((BindingFlags?)BindingFlags.DeclaredOnly));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 // Integer-to-enum.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 Assert.AreEqual(BindingFlags.DeclaredOnly,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 ConvertTo<BindingFlags>.From((int)BindingFlags.DeclaredOnly));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 // Integer-to-nullable enum.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 Assert.AreEqual(BindingFlags.DeclaredOnly,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 ConvertTo<BindingFlags?>.From((int)BindingFlags.DeclaredOnly));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 public void ByteArrayTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 Byte[] bytes;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 object value;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 bytes = new byte[] {123};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 value = (byte)123;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 Assert.AreEqual(bytes, Convert.ToByteArray(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 Assert.AreEqual(value, Convert.ToByte(bytes));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 bytes = new byte[] {123, 0};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 value = (short)123;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 Assert.AreEqual(bytes, Convert.ToByteArray(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 Assert.AreEqual(value, Convert.ToInt16(bytes));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 bytes = new byte[] {210, 2, 150, 73};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 value = 1234567890;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185 Assert.AreEqual(bytes, Convert.ToByteArray(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 Assert.AreEqual(value, Convert.ToInt32(bytes));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188 bytes = new byte[] {(byte) 't', (byte) 's', (byte) 't'};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 value = "tst";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 Assert.AreEqual(bytes, Convert.ToByteArray(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191 Assert.AreEqual(value, Convert.ToString(bytes));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193 bytes = new byte[] {12, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 value = typeof(System.Runtime.InteropServices.ComTypes.IStream).GUID;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195 Assert.AreEqual(bytes, Convert.ToByteArray(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196 Assert.AreEqual(value, Convert.ToGuid(bytes));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 bytes = new byte[] {210, 10, 31, 235, 140, 169, 84, 171, 0, 0, 0, 0, 0, 0, 0, 0};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 value = 12345678901234567890m;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200 Assert.AreEqual(bytes, Convert.ToByteArray(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 Assert.AreEqual(value, Convert.ToDecimal(bytes));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 bytes = new byte[] {121, 233, 246, 66};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 value = 123.456f;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 Assert.AreEqual(bytes, Convert.ToByteArray(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 Assert.AreEqual(value, Convert.ToSingle(bytes));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 bytes = new byte[] {119, 190, 159, 26, 47, 221, 94, 64};
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209 value = 123.456;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 Assert.AreEqual(bytes, Convert.ToByteArray(value));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 Assert.AreEqual(value, Convert.ToDouble(bytes));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215 public void ConvertT()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 decimal d = ConvertTo<decimal>.From(123);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 Assert.AreEqual(123.0m, d);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 #if ORACLE
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 public void TypeCast()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225 // Note that method BLToolkit.Common.Convert.ToDecimal(OracleNumber p) does not exist.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 decimal d = ConvertTo<decimal>.From(new OracleDecimal(123));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228 Assert.AreEqual(123.0m, d);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 // Method BLToolkit.Common.Convert.ToOracleString(string p) does not exist too.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 OracleString s = ConvertTo<OracleString>.From("test");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233 Assert.AreEqual("test", s.Value);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237 }