File tree Expand file tree Collapse file tree 2 files changed +50
-0
lines changed
BsonUnitTests/DefaultSerializer Expand file tree Collapse file tree 2 files changed +50
-0
lines changed Original file line number Diff line number Diff line change @@ -287,6 +287,14 @@ public static bool IsClassMapRegistered(Type type)
287
287
}
288
288
}
289
289
290
+ /// <summary>
291
+ /// Returns all registered class maps.
292
+ /// </summary>
293
+ public static IEnumerable < BsonClassMap > AllClassMaps ( )
294
+ {
295
+ return __classMaps . Values ;
296
+ }
297
+
290
298
/// <summary>
291
299
/// Looks up a class map (will AutoMap the class if no class map is registered).
292
300
/// </summary>
Original file line number Diff line number Diff line change @@ -309,6 +309,48 @@ public void TestIsClassMapRegistered()
309
309
}
310
310
}
311
311
312
+ [ TestFixture ]
313
+ public class BsonClassMapAllClassMapTests
314
+ {
315
+ private static bool __testAlreadyRan ;
316
+
317
+ public class C
318
+ {
319
+ public ObjectId Id ;
320
+ public int X ;
321
+ }
322
+
323
+ public class D
324
+ {
325
+ public ObjectId Id ;
326
+ public string Y ;
327
+ }
328
+
329
+ [ Test ]
330
+ public void TestAllClassMaps ( )
331
+ {
332
+ // test can only be run once
333
+ if ( __testAlreadyRan )
334
+ {
335
+ return ;
336
+ }
337
+
338
+ __testAlreadyRan = true ;
339
+
340
+ Assert . IsFalse ( BsonClassMap . IsClassMapRegistered ( typeof ( C ) ) ) ;
341
+ Assert . IsFalse ( BsonClassMap . IsClassMapRegistered ( typeof ( D ) ) ) ;
342
+ BsonClassMap . RegisterClassMap < C > ( cm => cm . AutoMap ( ) ) ;
343
+ BsonClassMap . RegisterClassMap < D > ( cm => cm . AutoMap ( ) ) ;
344
+
345
+ var classMaps = BsonClassMap . AllClassMaps ( ) ;
346
+ var classMapTypes = classMaps . Select ( x => x . ClassType ) . ToList ( ) ;
347
+
348
+ Assert . IsTrue ( BsonClassMap . IsClassMapRegistered ( typeof ( C ) ) ) ;
349
+ Assert . Contains ( typeof ( C ) , classMapTypes ) ;
350
+ Assert . Contains ( typeof ( D ) , classMapTypes ) ;
351
+ }
352
+ }
353
+
312
354
[ TestFixture ]
313
355
public class BsonShouldSerializeTests
314
356
{
You can’t perform that action at this time.
0 commit comments