|
26 | 26 |
|
27 | 27 | namespace MongoDB.Driver.Tests.Linq.Linq3Implementation.Jira; |
28 | 28 |
|
29 | | -public class CSharp4040SwitchTests : LinqIntegrationTest<CSharp4040SwitchTests.ClassFixture>, IDisposable |
| 29 | +public class CSharp4040SwitchTests : LinqIntegrationTest<CSharp4040SwitchTests.ClassFixture> |
30 | 30 | { |
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 | | - |
52 | 31 | public CSharp4040SwitchTests(ClassFixture fixture) |
53 | 32 | : base(fixture) |
54 | 33 | { |
55 | 34 | } |
56 | 35 |
|
57 | 36 | [Fact] |
58 | | - public void Documents_should_serializer_as_expected() |
| 37 | + public void Documents_should_serialize_as_expected() |
59 | 38 | { |
60 | 39 | var collection = Fixture.Collection; |
61 | 40 |
|
@@ -174,10 +153,32 @@ public class E : D |
174 | 153 |
|
175 | 154 | public sealed class ClassFixture : MongoCollectionFixture<C> |
176 | 155 | { |
| 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 | + |
177 | 172 | protected override IEnumerable<C> InitialData => |
178 | 173 | [ |
179 | 174 | new D { Id = 1 }, |
180 | 175 | new E { Id = 2 } |
181 | 176 | ]; |
| 177 | + |
| 178 | + public override void Dispose() |
| 179 | + { |
| 180 | + base.Dispose(); |
| 181 | + AppContext.SetSwitch("Switch.MongoDB.Driver.DisableDiscriminatorFieldConflictCheck", false); |
| 182 | + } |
182 | 183 | } |
183 | 184 | } |
0 commit comments