@@ -60,6 +60,33 @@ public TestClassC(string a, string b)
60
60
}
61
61
}
62
62
63
+ private class TestClassD
64
+ {
65
+ public TestClassD ( int a ) { A = a ; }
66
+
67
+ public static TestClassD Default => new TestClassD ( 0 ) ;
68
+
69
+ public int A { get ; }
70
+ }
71
+
72
+ private class TestClassE
73
+ {
74
+ public TestClassE ( int a ) { A = a ; }
75
+
76
+ public static TestClassE Default => new TestClassE ( 0 ) ;
77
+
78
+ public int A { get ; set ; }
79
+ }
80
+
81
+ private class TestClassF
82
+ {
83
+ public TestClassF ( int a ) { A = a ; }
84
+
85
+ public static TestClassF Default { get ; set ; } = new TestClassF ( 0 ) ;
86
+
87
+ public int A { get ; }
88
+ }
89
+
63
90
[ Fact ]
64
91
public void Anonymous_class_should_map_correctly ( )
65
92
{
@@ -125,5 +152,35 @@ public void TestNoDefaultConstructorClassMapConventionWithTestClassC()
125
152
Assert . True ( classMap . HasCreatorMaps ) ;
126
153
Assert . Equal ( 1 , classMap . CreatorMaps . Count ( ) ) ;
127
154
}
155
+
156
+ [ Fact ]
157
+ public void TestNoDefaultConstructorClassMapConventionWithTestClassD ( )
158
+ {
159
+ var convention = new ImmutableTypeClassMapConvention ( ) ;
160
+ var classMap = new BsonClassMap < TestClassD > ( ) ;
161
+ convention . Apply ( classMap ) ;
162
+ Assert . True ( classMap . HasCreatorMaps ) ;
163
+ Assert . Equal ( 1 , classMap . CreatorMaps . Count ( ) ) ;
164
+ }
165
+
166
+ [ Fact ]
167
+ public void TestNoDefaultConstructorClassMapConventionWithTestClassE ( )
168
+ {
169
+ var convention = new ImmutableTypeClassMapConvention ( ) ;
170
+ var classMap = new BsonClassMap < TestClassE > ( ) ;
171
+ convention . Apply ( classMap ) ;
172
+ Assert . False ( classMap . HasCreatorMaps ) ;
173
+ Assert . Equal ( 0 , classMap . CreatorMaps . Count ( ) ) ;
174
+ }
175
+
176
+ [ Fact ]
177
+ public void TestNoDefaultConstructorClassMapConventionWithTestClassF ( )
178
+ {
179
+ var convention = new ImmutableTypeClassMapConvention ( ) ;
180
+ var classMap = new BsonClassMap < TestClassF > ( ) ;
181
+ convention . Apply ( classMap ) ;
182
+ Assert . True ( classMap . HasCreatorMaps ) ;
183
+ Assert . Equal ( 1 , classMap . CreatorMaps . Count ( ) ) ;
184
+ }
128
185
}
129
186
}
0 commit comments