@@ -60,6 +60,33 @@ public TestClassC(string a, string b)
6060 }
6161 }
6262
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+
6390 [ Fact ]
6491 public void Anonymous_class_should_map_correctly ( )
6592 {
@@ -125,5 +152,35 @@ public void TestNoDefaultConstructorClassMapConventionWithTestClassC()
125152 Assert . True ( classMap . HasCreatorMaps ) ;
126153 Assert . Equal ( 1 , classMap . CreatorMaps . Count ( ) ) ;
127154 }
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+ }
128185 }
129186}
0 commit comments