Skip to content

Commit bab6d3b

Browse files
committed
CSHARP-4040: Set and clear switch in ClassFixture
1 parent 726afb8 commit bab6d3b

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

tests/MongoDB.Driver.Tests/Linq/Linq3Implementation/Jira/CSharp4040SwitchTests.cs

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,36 +26,15 @@
2626

2727
namespace MongoDB.Driver.Tests.Linq.Linq3Implementation.Jira;
2828

29-
public class CSharp4040SwitchTests : LinqIntegrationTest<CSharp4040SwitchTests.ClassFixture>, IDisposable
29+
public class CSharp4040SwitchTests : LinqIntegrationTest<CSharp4040SwitchTests.ClassFixture>
3030
{
31-
static CSharp4040SwitchTests()
32-
{
33-
AppContext.SetSwitch("Switch.MongoDB.Driver.DisableDiscriminatorFieldConflictCheck", true);
34-
35-
var discriminatorConvention = new HierarchicalDiscriminatorConvention("TypeNames");
36-
37-
BsonClassMap.RegisterClassMap<C>(cm =>
38-
{
39-
cm.AutoMap();
40-
cm.SetIsRootClass(true);
41-
cm.SetDiscriminatorIsRequired(true);
42-
cm.MapMember(x => x.TypeNames).SetShouldSerializeMethod(_ => false);
43-
cm.SetDiscriminatorConvention(discriminatorConvention);
44-
});
45-
}
46-
47-
public void Dispose()
48-
{
49-
AppContext.SetSwitch("Switch.MongoDB.Driver.DisableDiscriminatorFieldConflictCheck", false);
50-
}
51-
5231
public CSharp4040SwitchTests(ClassFixture fixture)
5332
: base(fixture)
5433
{
5534
}
5635

5736
[Fact]
58-
public void Documents_should_serializer_as_expected()
37+
public void Documents_should_serialize_as_expected()
5938
{
6039
var collection = Fixture.Collection;
6140

@@ -174,10 +153,32 @@ public class E : D
174153

175154
public sealed class ClassFixture : MongoCollectionFixture<C>
176155
{
156+
public ClassFixture()
157+
{
158+
AppContext.SetSwitch("Switch.MongoDB.Driver.DisableDiscriminatorFieldConflictCheck", true);
159+
160+
var discriminatorConvention = new HierarchicalDiscriminatorConvention("TypeNames");
161+
BsonSerializer.RegisterDiscriminatorConvention(typeof(C), discriminatorConvention);
162+
163+
BsonClassMap.RegisterClassMap<C>(cm =>
164+
{
165+
cm.AutoMap();
166+
cm.SetIsRootClass(true);
167+
cm.SetDiscriminatorIsRequired(true);
168+
cm.MapMember(x => x.TypeNames).SetShouldSerializeMethod(_ => false);
169+
});
170+
}
171+
177172
protected override IEnumerable<C> InitialData =>
178173
[
179174
new D { Id = 1 },
180175
new E { Id = 2 }
181176
];
177+
178+
public override void Dispose()
179+
{
180+
base.Dispose();
181+
AppContext.SetSwitch("Switch.MongoDB.Driver.DisableDiscriminatorFieldConflictCheck", false);
182+
}
182183
}
183184
}

0 commit comments

Comments
 (0)