@@ -83,7 +83,7 @@ public void TestMinToMillisConversion()
83
83
public void TestToUniversalTimeUTCNow ( )
84
84
{
85
85
var expected = DateTime . UtcNow ;
86
- var actual = BsonUtils . ToUniversalTime ( expected ) ;
86
+ var actual = BsonUtils . ToUniversalTime ( expected . ToLocalTime ( ) ) ;
87
87
Assert . AreEqual ( expected , actual ) ;
88
88
}
89
89
@@ -119,5 +119,103 @@ public void TestToHexStringNull()
119
119
var actual = BsonUtils . ToHexString ( null ) ;
120
120
}
121
121
122
+ [ Test ]
123
+ [ ExpectedException ( typeof ( ArgumentNullException ) ) ]
124
+ public void TestParseHexStringNull ( )
125
+ {
126
+ var actual = BsonUtils . ParseHexString ( null ) ;
127
+ }
128
+
129
+ [ Test ]
130
+ [ ExpectedException ( typeof ( ArgumentNullException ) ) ]
131
+ public void TestParseHexStringEmpty ( )
132
+ {
133
+ var actual = BsonUtils . ParseHexString ( string . Empty ) ;
134
+ }
135
+
136
+ [ Test ]
137
+ public void TestParseHexString ( )
138
+ {
139
+ var expected = new byte [ ] { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 255 } ;
140
+ var value = "000102030405060708090a0b0c0d0e0f10ff" ;
141
+ var actual = BsonUtils . ParseHexString ( value ) ;
142
+ Assert . AreEqual ( expected , actual ) ;
143
+ }
144
+
145
+ [ Test ]
146
+ public void TestParseHexStringOdd ( )
147
+ {
148
+ var expected = new byte [ ] { 0 , 15 } ;
149
+ var value = "00f" ;
150
+ var actual = BsonUtils . ParseHexString ( value ) ;
151
+ Assert . AreEqual ( expected , actual ) ;
152
+ }
153
+
154
+ [ Test ]
155
+ [ ExpectedException ( typeof ( FormatException ) ) ]
156
+ public void TestParseHexStringInvalid ( )
157
+ {
158
+ var actual = BsonUtils . ParseHexString ( "1G" ) ;
159
+ }
160
+
161
+ [ Test ]
162
+ [ ExpectedException ( typeof ( FormatException ) ) ]
163
+ public void TestParseHexStringInvalid2 ( )
164
+ {
165
+ var actual = BsonUtils . ParseHexString ( "00 1" ) ;
166
+ }
167
+
168
+ [ Test ]
169
+ public void TestTryParseHexStringNull ( )
170
+ {
171
+ byte [ ] expected ;
172
+ BsonUtils . TryParseHexString ( null , out expected ) ;
173
+ Assert . IsNull ( expected ) ;
174
+ }
175
+
176
+ [ Test ]
177
+ public void TestTryParseHexStringEmpty ( )
178
+ {
179
+ byte [ ] expected ;
180
+ var actual = BsonUtils . TryParseHexString ( string . Empty , out expected ) ;
181
+ Assert . IsNull ( expected ) ;
182
+ }
183
+
184
+ [ Test ]
185
+ public void TestTryParseHexString ( )
186
+ {
187
+ var expected = new byte [ ] { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 255 } ;
188
+ var value = "000102030405060708090a0b0c0d0e0f10ff" ;
189
+ byte [ ] actual ;
190
+ BsonUtils . TryParseHexString ( value , out actual ) ;
191
+ Assert . AreEqual ( expected , actual ) ;
192
+ }
193
+
194
+ [ Test ]
195
+ public void TestTryParseHexStringOdd ( )
196
+ {
197
+ var expected = new byte [ ] { 0 , 15 } ;
198
+ var value = "00f" ;
199
+ byte [ ] actual ;
200
+ BsonUtils . TryParseHexString ( value , out actual ) ;
201
+ Assert . AreEqual ( expected , actual ) ;
202
+ }
203
+
204
+ [ Test ]
205
+ public void TestTryParseHexStringInvalid ( )
206
+ {
207
+ byte [ ] expected ;
208
+ var actual = BsonUtils . TryParseHexString ( "1G" , out expected ) ;
209
+ Assert . IsNull ( expected ) ;
210
+ }
211
+
212
+ [ Test ]
213
+ public void TestTryParseHexStringInvalid2 ( )
214
+ {
215
+ byte [ ] expected ;
216
+ var actual = BsonUtils . TryParseHexString ( "00 1" , out expected ) ;
217
+ Assert . IsNull ( expected ) ;
218
+ }
219
+
122
220
}
123
221
}
0 commit comments