Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit023ae1e

Browse files
committed
!pull \\mlangfs1\public\bundles\FS.ebf2bc4a3064053cefce09afc0bf4ce25f015f82.bundle
Open source pull: Fixing and adding more testsforki requested forki/fsharp:TESTS to be merged into visualfsharp:master on Wed Apr 9, 2014 at 8:57 AM Assigned to: Unassigned (assign) Commits: 1393b5d6df25, 15cc407c35a5, 15f1095ad5bd, 32e136dd521d, 3c57ac29981f, 3decb7c7169d, 4ca05d574a93, 5b729a9e3ad7, 677178cbf04b, 6aa71d1f8752, a255bb7a3489, c0f9e03ff3b3, c8f37ccf7e26, edfac939fcfc, fa12dc3dd83b, ff148db3ae9c (changeset 1233272)
1 parent9b36cec commit023ae1e

File tree

2 files changed

+172
-23
lines changed

2 files changed

+172
-23
lines changed

‎src/fsharp/FSharp.Core.Unittests/FSharp.Core/PrimTypes.fs‎

Lines changed: 171 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -122,16 +122,34 @@ type LanguagePrimitivesModule() =
122122
memberthis.GenericComparisonBiModal()=
123123

124124
// value type
125+
letresultValue= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Default1001
126+
Assert.AreEqual(resultValue,1)
127+
125128
letresultValue= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Default11
126129
Assert.AreEqual(resultValue,0)
130+
131+
letresultValue= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Default1200
132+
Assert.AreEqual(resultValue,-1)
127133

128134
// reference type
129-
letresultRef= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Default"ABC""ABCDE"
130-
Assert.AreEqual(resultRef,-68)
135+
letresultRef= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Default"ABCDE""ABC"
136+
Assert.AreEqual(resultRef,68)
137+
138+
letresultRef= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Default"ABC""ABC"
139+
Assert.AreEqual(resultRef,0)
140+
141+
letresultRef= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Default"abc""abcde"
142+
Assert.AreEqual(resultRef,-100)
131143

132144
// null reference
133145
letresultRef= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Default"ABC"null
134146
Assert.AreEqual(resultRef,1)
147+
148+
letresultRef= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Defaultnullnull
149+
Assert.AreEqual(resultRef,0)
150+
151+
letresultRef= LanguagePrimitives.GenericComparisonWithComparer System.Collections.Comparer.Defaultnull"abc"
152+
Assert.AreEqual(resultRef,-1)
135153

136154
()
137155
#endif
@@ -143,14 +161,23 @@ type LanguagePrimitivesModule() =
143161
// value type
144162
letresultValue= LanguagePrimitives.GenericEquality11
145163
Assert.IsTrue(resultValue)
164+
165+
letresultValue= LanguagePrimitives.GenericEquality12
166+
Assert.IsFalse(resultValue)
146167

147168
// reference type
169+
letresultRef= LanguagePrimitives.GenericEquality"ABC""ABC"
170+
Assert.IsTrue(resultRef)
171+
148172
letresultRef= LanguagePrimitives.GenericEquality"ABC""ABCDE"
149173
Assert.IsFalse(resultRef)
150174

151175
// null reference
152176
letresultNul= LanguagePrimitives.GenericEqualitynullnull
153177
Assert.IsTrue(resultNul)
178+
179+
letresultNul= LanguagePrimitives.GenericEquality"ABC"null
180+
Assert.IsFalse(resultNul)
154181

155182
()
156183

@@ -160,14 +187,29 @@ type LanguagePrimitivesModule() =
160187
// value type
161188
letresultValue= LanguagePrimitives.GenericGreaterOrEqual11
162189
Assert.IsTrue(resultValue)
190+
191+
letresultValue= LanguagePrimitives.GenericGreaterOrEqual21
192+
Assert.IsTrue(resultValue)
193+
194+
letresultValue= LanguagePrimitives.GenericGreaterOrEqual12
195+
Assert.IsFalse(resultValue)
163196

164197
// reference type
165-
letresultRef= LanguagePrimitives.GenericEquality"ABC""ABCDE"
198+
letresultRef= LanguagePrimitives.GenericGreaterOrEqual"abcde""abc"
199+
Assert.IsTrue(resultRef)
200+
201+
letresultRef= LanguagePrimitives.GenericGreaterOrEqual"ABCDE""ABCDE"
202+
Assert.IsTrue(resultRef)
203+
204+
letresultRef= LanguagePrimitives.GenericGreaterOrEqual"ABC""ABCDE"
166205
Assert.IsFalse(resultRef)
167206

168207
// null reference
169-
letresultNul= LanguagePrimitives.GenericEqualitynullnull
208+
letresultNul= LanguagePrimitives.GenericGreaterOrEqualnullnull
170209
Assert.IsTrue(resultNul)
210+
211+
letresultNul= LanguagePrimitives.GenericGreaterOrEqualnull"ABCDE"
212+
Assert.IsFalse(resultNul)
171213

172214
()
173215

@@ -178,14 +220,29 @@ type LanguagePrimitivesModule() =
178220
// value type
179221
letresultValue= LanguagePrimitives.GenericGreaterThan11
180222
Assert.IsFalse(resultValue)
223+
224+
letresultValue= LanguagePrimitives.GenericGreaterThan21
225+
Assert.IsTrue(resultValue)
181226

182227
// reference type
183228
letresultRef= LanguagePrimitives.GenericGreaterThan"ABC""ABCDE"
184229
Assert.IsFalse(resultRef)
230+
231+
letresultRef= LanguagePrimitives.GenericGreaterThan"ABCDE""ABCDE"
232+
Assert.IsFalse(resultRef)
233+
234+
letresultRef= LanguagePrimitives.GenericGreaterThan"abc""a"
235+
Assert.IsTrue(resultRef)
185236

186237
// null reference
187238
letresultNul= LanguagePrimitives.GenericGreaterThannullnull
188239
Assert.IsFalse(resultNul)
240+
241+
letresultNul= LanguagePrimitives.GenericGreaterThannull"ABC"
242+
Assert.IsFalse(resultNul)
243+
244+
letresultNul= LanguagePrimitives.GenericGreaterThan"ABC"null
245+
Assert.IsTrue(resultNul)
189246

190247
()
191248

@@ -196,6 +253,11 @@ type LanguagePrimitivesModule() =
196253
// value type
197254
letresultValue= LanguagePrimitives.GenericHash1
198255
Assert.AreEqual(1, resultValue)
256+
257+
// using standard .NET GetHashCode as oracle
258+
letresultValue= LanguagePrimitives.GenericHash1000
259+
letx=1000
260+
Assert.AreEqual(x.GetHashCode(), resultValue)
199261

200262
// reference type
201263
letresultRef= LanguagePrimitives.GenericHash"ABC"
@@ -214,14 +276,32 @@ type LanguagePrimitivesModule() =
214276
// value type
215277
letresultValue= LanguagePrimitives.GenericLessOrEqual11
216278
Assert.IsTrue(resultValue)
279+
280+
letresultValue= LanguagePrimitives.GenericLessOrEqual12
281+
Assert.IsTrue(resultValue)
282+
283+
letresultValue= LanguagePrimitives.GenericLessOrEqual-10
284+
Assert.IsTrue(resultValue)
217285

218286
// reference type
219287
letresultRef= LanguagePrimitives.GenericLessOrEqual"ABC""ABCDE"
220288
Assert.IsTrue(resultRef)
289+
290+
letresultRef= LanguagePrimitives.GenericLessOrEqual"ABCDE""ABCDE"
291+
Assert.IsTrue(resultRef)
292+
293+
letresultRef= LanguagePrimitives.GenericLessOrEqual"abcde""abc"
294+
Assert.IsFalse(resultRef)
221295

222296
// null reference
223297
letresultNul= LanguagePrimitives.GenericLessOrEqualnullnull
224298
Assert.IsTrue(resultNul)
299+
300+
letresultNul= LanguagePrimitives.GenericLessOrEqualnull"abc"
301+
Assert.IsTrue(resultNul)
302+
303+
letresultNul= LanguagePrimitives.GenericLessOrEqual"abc"null
304+
Assert.IsFalse(resultNul)
225305

226306
()
227307

@@ -231,15 +311,33 @@ type LanguagePrimitivesModule() =
231311

232312
// value type
233313
letresultValue= LanguagePrimitives.GenericLessThan11
234-
Assert.AreEqual(resultValue,false)
314+
Assert.IsFalse(resultValue)
315+
316+
letresultValue= LanguagePrimitives.GenericLessThan-2-4
317+
Assert.IsFalse(resultValue)
318+
319+
letresultValue= LanguagePrimitives.GenericLessThan12
320+
Assert.IsTrue(resultValue)
235321

236322
// reference type
237323
letresultRef= LanguagePrimitives.GenericLessThan"ABC""ABCDE"
238-
Assert.AreEqual(resultRef,true)
324+
Assert.IsTrue(resultRef)
325+
326+
letresultRef= LanguagePrimitives.GenericLessThan"ABC""ABC"
327+
Assert.IsFalse(resultRef)
328+
329+
letresultRef= LanguagePrimitives.GenericLessThan"abc""a"
330+
Assert.IsFalse(resultRef)
239331

240332
// null reference
333+
letresultNul= LanguagePrimitives.GenericLessThannull"abc"
334+
Assert.IsTrue(resultNul)
335+
336+
letresultNul= LanguagePrimitives.GenericLessThan"aa"null
337+
Assert.IsFalse(resultNul)
338+
241339
letresultNul= LanguagePrimitives.GenericLessThannullnull
242-
Assert.AreEqual(resultNul,false)
340+
Assert.IsFalse(resultNul)
243341

244342
()
245343

@@ -249,14 +347,27 @@ type LanguagePrimitivesModule() =
249347
// value type
250348
letresultValue= LanguagePrimitives.GenericMaximum89
251349
Assert.AreEqual(resultValue,9)
350+
351+
letresultValue= LanguagePrimitives.GenericMaximum-800-900
352+
Assert.AreEqual(resultValue,-800)
252353

253354
// reference type
254355
letresultRef= LanguagePrimitives.GenericMaximum"ABC""ABCDE"
356+
Assert.AreEqual(resultRef,"ABCDE")
357+
358+
letresultRef= LanguagePrimitives.GenericMaximum"ABCDE""ABC"
255359
Assert.AreEqual(resultRef,"ABCDE")
256360

361+
257362
// null reference
258363
letresultNul= LanguagePrimitives.GenericMaximumnullnull
259364
Assert.AreEqual(resultNul,null)
365+
366+
letresultNul= LanguagePrimitives.GenericMaximumnull"ABCDE"
367+
Assert.AreEqual(resultNul,"ABCDE")
368+
369+
letresultNul= LanguagePrimitives.GenericMaximum"ABCDE"null
370+
Assert.AreEqual(resultNul,"ABCDE")
260371

261372
()
262373

@@ -266,19 +377,38 @@ type LanguagePrimitivesModule() =
266377
// value type
267378
letresultValue= LanguagePrimitives.GenericMinimum89
268379
Assert.AreEqual(resultValue,8)
380+
381+
letresultValue= LanguagePrimitives.GenericMinimum-800-900
382+
Assert.AreEqual(resultValue,-900)
269383

270384
// reference type
271385
letresultRef= LanguagePrimitives.GenericMinimum"ABC""ABCDE"
272386
Assert.AreEqual(resultRef,"ABC")
387+
388+
letresultRef= LanguagePrimitives.GenericMinimum"abcde""abc"
389+
Assert.AreEqual(resultRef,"abc")
273390

274391
// null reference
275392
letresultNul= LanguagePrimitives.GenericMinimumnullnull
276393
Assert.AreEqual(resultNul,null)
394+
395+
letresultNul= LanguagePrimitives.GenericMinimumnull"ABC"
396+
Assert.AreEqual(resultNul,null)
397+
398+
letresultNul= LanguagePrimitives.GenericMinimum"ABC"null
399+
Assert.AreEqual(resultNul,null)
277400

278401
()
279402

280403
[<Test>]
281404
memberthis.GenericOne()=
405+
// int type
406+
letresultValue= LanguagePrimitives.GenericOne<int>
407+
Assert.AreEqual(resultValue,1)
408+
409+
// float type
410+
letresultValue= LanguagePrimitives.GenericOne<float>
411+
Assert.AreEqual(resultValue,1.)
282412

283413
// bigint type
284414
letresultValue= LanguagePrimitives.GenericOne<bigint>
@@ -288,6 +418,13 @@ type LanguagePrimitivesModule() =
288418

289419
[<Test>]
290420
memberthis.GenericZero()=
421+
// int type
422+
letresultValue= LanguagePrimitives.GenericZero<int>
423+
Assert.AreEqual(resultValue,0)
424+
425+
// float type
426+
letresultValue= LanguagePrimitives.GenericZero<float>
427+
Assert.AreEqual(resultValue,0.)
291428

292429
// bigint type
293430
letresultValue= LanguagePrimitives.GenericZero<bigint>
@@ -299,7 +436,19 @@ type LanguagePrimitivesModule() =
299436
memberthis.ParseInt32()=
300437

301438
letresultValue= LanguagePrimitives.ParseInt32"100"
439+
Assert.AreEqual(resultValue.GetType(),typeof<int>)
302440
Assert.AreEqual(resultValue,100)
441+
442+
letresultValue= LanguagePrimitives.ParseInt32"-123"
443+
Assert.AreEqual(resultValue,-123)
444+
445+
letresultValue= LanguagePrimitives.ParseInt32"0"
446+
Assert.AreEqual(resultValue,0)
447+
448+
449+
CheckThrowsOverflowException(fun()-> LanguagePrimitives.ParseInt32"-100000000000000000"|> ignore)
450+
451+
CheckThrowsFormatException(fun()-> LanguagePrimitives.ParseInt32""|> ignore)
303452

304453
CheckThrowsArgumentNullException(fun()-> LanguagePrimitives.ParseInt32null|> ignore)
305454

@@ -309,7 +458,16 @@ type LanguagePrimitivesModule() =
309458
memberthis.ParseInt64()=
310459

311460
letresultValue= LanguagePrimitives.ParseInt64"100"
312-
Assert.AreEqual(resultValue,100L)
461+
Assert.AreEqual(resultValue.GetType(),typeof<int64>)
462+
Assert.AreEqual(resultValue,100L)
463+
464+
letresultValue= LanguagePrimitives.ParseInt64"-100000000000000000"
465+
Assert.AreEqual(resultValue,-100000000000000000L)
466+
467+
letresultValue= LanguagePrimitives.ParseInt64"0"
468+
Assert.AreEqual(resultValue,0)
469+
470+
CheckThrowsFormatException(fun()-> LanguagePrimitives.ParseInt64""|> ignore)
313471

314472
CheckThrowsArgumentNullException(fun()-> LanguagePrimitives.ParseInt64null|> ignore)
315473

@@ -319,8 +477,10 @@ type LanguagePrimitivesModule() =
319477
memberthis.ParseUInt32()=
320478

321479
letresultValue= LanguagePrimitives.ParseUInt32"100"
480+
Assert.AreEqual(resultValue.GetType(),typeof<uint32>)
322481
Assert.AreEqual(resultValue,100ul)
323482

483+
CheckThrowsOverflowException(fun()-> LanguagePrimitives.ParseUInt32"-1"|> ignore)
324484

325485
CheckThrowsArgumentNullException(fun()-> LanguagePrimitives.ParseUInt32null|> ignore)
326486

@@ -330,7 +490,10 @@ type LanguagePrimitivesModule() =
330490
memberthis.ParseUInt64()=
331491

332492
letresultValue= LanguagePrimitives.ParseUInt64"100"
493+
Assert.AreEqual(resultValue.GetType(),typeof<uint64>)
333494
Assert.AreEqual(resultValue,100UL)
495+
496+
CheckThrowsOverflowException(fun()-> LanguagePrimitives.ParseUInt64"-1"|> ignore)
334497

335498
CheckThrowsArgumentNullException(fun()-> LanguagePrimitives.ParseUInt64null|> ignore)
336499

@@ -464,21 +627,6 @@ type HashCompareModule() = // this module is internal/obsolete, but contains cod
464627
letmt='a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'
465628
letmt2='a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'
466629
Assert.AreEqual(mt,mt2)
467-
468-
[<TestFixture>]
469-
typeIntrinsicFunctionsModule()=
470-
[<Test>]
471-
memberthis.Obsolete()=
472-
// all method obsoleted and inlined
473-
()
474-
475-
476-
[<TestFixture>]
477-
typeIntrinsicOperatorsModule()=
478-
[<Test>]
479-
memberthis.Obsolete()=
480-
// all method obsoleted and inlined
481-
()
482630

483631
[<TestFixture>]
484632
typeUnitType()=

‎src/fsharp/FSharp.Core.Unittests/LibraryTestFx.fs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ let CheckThrowsArgumentNullException f = CheckThrowsExn<ArgumentNullException>
5050
letCheckThrowsArgumentNullException2 s f= CheckThrowsExn2<ArgumentNullException> s f
5151
letCheckThrowsKeyNotFoundException f= CheckThrowsExn<KeyNotFoundException> f
5252
letCheckThrowsDivideByZeroException f= CheckThrowsExn<DivideByZeroException> f
53+
letCheckThrowsOverflowException f= CheckThrowsExn<OverflowException> f
5354
letCheckThrowsInvalidOperationExn f= CheckThrowsExn<InvalidOperationException> f
5455
letCheckThrowsFormatException f= CheckThrowsExn<FormatException> f
5556

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp