Skip to content

Instantly share code, notes, and snippets.

@ckuetbach
Forked from andreabalducci/BsonClassMapHelper.cs
Created July 23, 2020 10:19
Show Gist options
  • Save ckuetbach/32bae5bfa25a507a466b6e3ee32295d2 to your computer and use it in GitHub Desktop.
Save ckuetbach/32bae5bfa25a507a466b6e3ee32295d2 to your computer and use it in GitHub Desktop.
Reset class map for unit testing
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using MongoDB.Bson.Serialization;
namespace CQRS.Tests.DomainTests
{
public static class BsonClassMapHelper
{
public static void Unregister<T>()
{
var classType = typeof(T);
GetClassMap().Remove(classType);
}
static Dictionary<Type, BsonClassMap> GetClassMap()
{
var cm = BsonClassMap.GetRegisteredClassMaps().First();
var fi = typeof(BsonClassMap).GetField("__classMaps", BindingFlags.Static | BindingFlags.NonPublic);
var classMaps = (Dictionary<Type, BsonClassMap>)fi.GetValue(cm);
return classMaps;
}
public static void Clear()
{
GetClassMap().Clear();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment