@@ -30,62 +30,68 @@ protected override void AddConfigurationFile(IConfigurationBuilder configuration
3030 }
3131
3232 [ Test ]
33- public void NameAttributeEmptyNameTest ( )
33+ [ TestCase ( true ) ]
34+ [ TestCase ( false ) ]
35+ public void NameAttributeEmptyNameTest ( bool useRoot )
3436 {
35- var section = GetAndCheckConfigurationSection ( "Xtensive.Orm.Localization.NameAttribute.NameEmpty" ) ;
36- var locConfig = LocalizationConfiguration . Load ( section ) ;
37+ var locConfig = LoadConfiguration ( "Xtensive.Orm.Localization.NameAttribute.NameEmpty" , useRoot ) ;
3738 CheckConfigurationIsDefault ( locConfig ) ;
3839 }
3940
4041 [ Test ]
41- public void NameAttributeAbsentTest ( )
42+ [ TestCase ( true ) ]
43+ [ TestCase ( false ) ]
44+ public void NameAttributeAbsentTest ( bool useRoot )
4245 {
43- var section = GetAndCheckConfigurationSection ( "Xtensive.Orm.Localization.NameAttribute.None" ) ;
44- var locConfig = LocalizationConfiguration . Load ( section ) ;
46+ var locConfig = LoadConfiguration ( "Xtensive.Orm.Localization.NameAttribute.None" , useRoot ) ;
4547 CheckConfigurationIsDefault ( locConfig ) ;
4648 }
4749
48-
4950 [ Test ]
50- public void NameAttributeDefinedTest ( )
51+ [ TestCase ( true ) ]
52+ [ TestCase ( false ) ]
53+ public void NameAttributeDefinedTest ( bool useRoot )
5154 {
52- var section = GetAndCheckConfigurationSection ( "Xtensive.Orm.Localization.NameAttribute.Defined" ) ;
53- var locConfig = LocalizationConfiguration . Load ( section ) ;
55+ var locConfig = LoadConfiguration ( "Xtensive.Orm.Localization.NameAttribute.Defined" , useRoot ) ;
5456 Assert . That ( locConfig , Is . Not . Null ) ;
5557 Assert . That ( locConfig . DefaultCulture , Is . EqualTo ( expectedCulture ) ) ;
5658 }
5759
5860 [ Test ]
59- public void NameAttributeFaultyValueTest ( )
61+ [ TestCase ( true ) ]
62+ [ TestCase ( false ) ]
63+ public void NameAttributeFaultyValueTest ( bool useRoot )
6064 {
61- var section = GetAndCheckConfigurationSection ( "Xtensive.Orm.Localization.NameAttribute.FaultyValue" ) ;
62- var locConfig = LocalizationConfiguration . Load ( section ) ;
65+ var locConfig = LoadConfiguration ( "Xtensive.Orm.Localization.NameAttribute.FaultyValue" , useRoot ) ;
6366 CheckConfigurationIsDefault ( locConfig ) ;
6467 }
6568
6669 [ Test ]
67- public void NameAttributeLowCase ( )
70+ [ TestCase ( true ) ]
71+ [ TestCase ( false ) ]
72+ public void NameAttributeLowCase ( bool useRoot )
6873 {
69- var section = GetAndCheckConfigurationSection ( "Xtensive.Orm.Localization.NameAttribute.LC" ) ;
70- var locConfig = LocalizationConfiguration . Load ( section ) ;
74+ var locConfig = LoadConfiguration ( "Xtensive.Orm.Localization.NameAttribute.LC" , useRoot ) ;
7175 Assert . That ( locConfig , Is . Not . Null ) ;
7276 Assert . That ( locConfig . DefaultCulture , Is . EqualTo ( expectedCulture ) ) ;
7377 }
7478
7579 [ Test ]
76- public void NameAttributeUpperCase ( )
80+ [ TestCase ( true ) ]
81+ [ TestCase ( false ) ]
82+ public void NameAttributeUpperCase ( bool useRoot )
7783 {
78- var section = GetAndCheckConfigurationSection ( "Xtensive.Orm.Localization.NameAttribute.UC" ) ;
79- var locConfig = LocalizationConfiguration . Load ( section ) ;
84+ var locConfig = LoadConfiguration ( "Xtensive.Orm.Localization.NameAttribute.UC" , useRoot ) ;
8085 Assert . That ( locConfig , Is . Not . Null ) ;
8186 Assert . That ( locConfig . DefaultCulture , Is . EqualTo ( expectedCulture ) ) ;
8287 }
8388
8489 [ Test ]
85- public void NameAttributePascalCase ( )
90+ [ TestCase ( true ) ]
91+ [ TestCase ( false ) ]
92+ public void NameAttributePascalCase ( bool useRoot )
8693 {
87- var section = GetAndCheckConfigurationSection ( "Xtensive.Orm.Localization.NameAttribute.PC" ) ;
88- var locConfig = LocalizationConfiguration . Load ( section ) ;
94+ var locConfig = LoadConfiguration ( "Xtensive.Orm.Localization.NameAttribute.PC" , useRoot ) ;
8995 Assert . That ( locConfig , Is . Not . Null ) ;
9096 Assert . That ( locConfig . DefaultCulture , Is . EqualTo ( expectedCulture ) ) ;
9197 }
@@ -105,6 +111,13 @@ public override void BeforeAllTestsSetUp()
105111
106112 }
107113
114+ protected LocalizationConfiguration LoadConfiguration ( string sectionName , bool useRoot )
115+ {
116+ return useRoot
117+ ? LocalizationConfiguration . Load ( configurationRoot , sectionName )
118+ : LocalizationConfiguration . Load ( configurationRoot . GetSection ( sectionName ) ) ;
119+ }
120+
108121 [ SetUp ]
109122 public void SetUp ( )
110123 {
@@ -119,69 +132,77 @@ public void TearDown()
119132 }
120133
121134 [ Test ]
122- public void EmptySectionCase ( )
135+ [ TestCase ( true ) ]
136+ [ TestCase ( false ) ]
137+ public void EmptySectionCase ( bool useRoot )
123138 {
124- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Empty") ;
125- var locConfig = LocalizationConfiguration . Load ( section ) ;
139+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Empty", useRoot ) ;
126140 CheckConfigurationIsDefault ( locConfig ) ;
127141 }
128142
129143 [ Test ]
130- public void EmptyName ( )
144+ [ TestCase ( true ) ]
145+ [ TestCase ( false ) ]
146+ public void EmptyName ( bool useRoot )
131147 {
132- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameEmpty") ;
133- var locConfig = LocalizationConfiguration . Load ( section ) ;
148+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameEmpty", useRoot ) ;
134149 CheckConfigurationIsDefault ( locConfig ) ;
135150 }
136151
137152 [ Test ]
138- public void NameDefined ( )
153+ [ TestCase ( true ) ]
154+ [ TestCase ( false ) ]
155+ public void NameDefined ( bool useRoot )
139156 {
140- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameDefined") ;
141- var locConfig = LocalizationConfiguration . Load ( section ) ;
157+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameDefined", useRoot ) ;
142158 Assert . That ( locConfig , Is . Not . Null ) ;
143159 Assert . That ( locConfig . DefaultCulture , Is . EqualTo ( expectedCulture ) ) ;
144160 }
145161
146162 [ Test ]
147- public void FaultyValue ( )
163+ [ TestCase ( true ) ]
164+ [ TestCase ( false ) ]
165+ public void FaultyValue ( bool useRoot )
148166 {
149- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .FaultyValue") ;
150- var locConfig = LocalizationConfiguration . Load ( section ) ;
167+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .FaultyValue", useRoot ) ;
151168 CheckConfigurationIsDefault ( locConfig ) ;
152169 }
153170
154-
155171 #region Naming
172+
156173 [ Test ]
157- public void NamingInLowCase ( )
174+ [ TestCase ( true ) ]
175+ [ TestCase ( false ) ]
176+ public void NamingInLowCase ( bool useRoot )
158177 {
159- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Naming.LC") ;
160- var locConfig = LocalizationConfiguration . Load ( section ) ;
178+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Naming.LC", useRoot ) ;
161179 ValidateNamingConfigurationResults ( locConfig ) ;
162180 }
163181
164182 [ Test ]
165- public void NamingInUpperCase ( )
183+ [ TestCase ( true ) ]
184+ [ TestCase ( false ) ]
185+ public void NamingInUpperCase ( bool useRoot )
166186 {
167- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Naming.UC") ;
168- var locConfig = LocalizationConfiguration . Load ( section ) ;
187+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Naming.UC", useRoot ) ;
169188 ValidateNamingConfigurationResults ( locConfig ) ;
170189 }
171190
172191 [ Test ]
173- public void NamingInCamelCase ( )
192+ [ TestCase ( true ) ]
193+ [ TestCase ( false ) ]
194+ public void NamingInCamelCase ( bool useRoot )
174195 {
175- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Naming.CC") ;
176- var locConfig = LocalizationConfiguration . Load ( section ) ;
196+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Naming.CC", useRoot ) ;
177197 ValidateNamingConfigurationResults ( locConfig ) ;
178198 }
179199
180200 [ Test ]
181- public void NamingInPascalCase ( )
201+ [ TestCase ( true ) ]
202+ [ TestCase ( false ) ]
203+ public void NamingInPascalCase ( bool useRoot )
182204 {
183- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Naming.PC") ;
184- var locConfig = LocalizationConfiguration . Load ( section ) ;
205+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Naming.PC", useRoot ) ;
185206 ValidateNamingConfigurationResults ( locConfig ) ;
186207 }
187208
@@ -190,38 +211,44 @@ private void ValidateNamingConfigurationResults(LocalizationConfiguration locCon
190211 Assert . That ( locConfig , Is . Not . Null ) ;
191212 Assert . That ( locConfig . DefaultCulture , Is . EqualTo ( expectedCulture ) ) ;
192213 }
214+
193215 #endregion
194216
195217 #region mistype cases
218+
196219 [ Test ]
197- public void MistypeInLowCase ( )
220+ [ TestCase ( true ) ]
221+ [ TestCase ( false ) ]
222+ public void MistypeInLowCase ( bool useRoot )
198223 {
199- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Mistype.LC") ;
200- var locConfig = LocalizationConfiguration . Load ( section ) ;
224+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Mistype.LC", useRoot ) ;
201225 ValidateMistypeConfigurationResults ( locConfig ) ;
202226 }
203227
204228 [ Test ]
205- public void MistypeInUpperCase ( )
229+ [ TestCase ( true ) ]
230+ [ TestCase ( false ) ]
231+ public void MistypeInUpperCase ( bool useRoot )
206232 {
207- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Mistype.UC") ;
208- var locConfig = LocalizationConfiguration . Load ( section ) ;
233+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Mistype.UC", useRoot ) ;
209234 ValidateMistypeConfigurationResults ( locConfig ) ;
210235 }
211236
212237 [ Test ]
213- public void MistypeInCamelCase ( )
238+ [ TestCase ( true ) ]
239+ [ TestCase ( false ) ]
240+ public void MistypeInCamelCase ( bool useRoot )
214241 {
215- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Mistype.CC") ;
216- var locConfig = LocalizationConfiguration . Load ( section ) ;
242+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Mistype.CC", useRoot ) ;
217243 ValidateMistypeConfigurationResults ( locConfig ) ;
218244 }
219245
220246 [ Test ]
221- public void MistypeInPascalCase ( )
247+ [ TestCase ( true ) ]
248+ [ TestCase ( false ) ]
249+ public void MistypeInPascalCase ( bool useRoot )
222250 {
223- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Mistype.PC") ;
224- var locConfig = LocalizationConfiguration . Load ( section ) ;
251+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .Mistype.PC", useRoot ) ;
225252 ValidateMistypeConfigurationResults ( locConfig ) ;
226253 }
227254
@@ -235,69 +262,77 @@ private void ValidateMistypeConfigurationResults(LocalizationConfiguration locCo
235262 #region Name as node
236263
237264 [ Test ]
238- public void NoNameNodes ( )
265+ [ TestCase ( true ) ]
266+ [ TestCase ( false ) ]
267+ public void NoNameNodes ( bool useRoot )
239268 {
240269 IgnoreIfXml ( ) ;
241270
242- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Empty") ;
243- var locConfig = LocalizationConfiguration . Load ( section ) ;
271+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Empty", useRoot ) ;
244272 CheckConfigurationIsDefault ( locConfig ) ;
245273 }
246274
247275 [ Test ]
248- public void NameNodeIsEmpty ( )
276+ [ TestCase ( true ) ]
277+ [ TestCase ( false ) ]
278+ public void NameNodeIsEmpty ( bool useRoot )
249279 {
250- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.NameEmpty") ;
251- var locConfig = LocalizationConfiguration . Load ( section ) ;
280+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.NameEmpty", useRoot ) ;
252281 CheckConfigurationIsDefault ( locConfig ) ;
253282 }
254283
255284 [ Test ]
256- public void DefinedNameNode ( )
285+ [ TestCase ( true ) ]
286+ [ TestCase ( false ) ]
287+ public void DefinedNameNode ( bool useRoot )
257288 {
258- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Espaniol") ;
259- var locConfig = LocalizationConfiguration . Load ( section ) ;
289+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Espaniol", useRoot ) ;
260290 Assert . That ( locConfig , Is . Not . Null ) ;
261291 Assert . That ( locConfig . DefaultCulture , Is . EqualTo ( expectedCulture ) ) ;
262292 }
263293
264294 [ Test ]
265- public void FaultyNameNodeValue ( )
295+ [ TestCase ( true ) ]
296+ [ TestCase ( false ) ]
297+ public void FaultyNameNodeValue ( bool useRoot )
266298 {
267- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.FaultyValue") ;
268- var locConfig = LocalizationConfiguration . Load ( section ) ;
299+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.FaultyValue", useRoot ) ;
269300 CheckConfigurationIsDefault ( locConfig ) ;
270301 }
271302
272303 [ Test ]
273- public void NameNodeInLowCase ( )
304+ [ TestCase ( true ) ]
305+ [ TestCase ( false ) ]
306+ public void NameNodeInLowCase ( bool useRoot )
274307 {
275- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Naming.LC") ;
276- var locConfig = LocalizationConfiguration . Load ( section ) ;
308+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Naming.LC", useRoot ) ;
277309 ValidateNamingConfigurationResults ( locConfig ) ;
278310 }
279311
280312 [ Test ]
281- public void NameNodeInUpperCase ( )
313+ [ TestCase ( true ) ]
314+ [ TestCase ( false ) ]
315+ public void NameNodeInUpperCase ( bool useRoot )
282316 {
283- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Naming.UC") ;
284- var locConfig = LocalizationConfiguration . Load ( section ) ;
317+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Naming.UC", useRoot ) ;
285318 ValidateNamingConfigurationResults ( locConfig ) ;
286319 }
287320
288321 [ Test ]
289- public void NameNodeInCamelCase ( )
322+ [ TestCase ( true ) ]
323+ [ TestCase ( false ) ]
324+ public void NameNodeInCamelCase ( bool useRoot )
290325 {
291- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Naming.CC") ;
292- var locConfig = LocalizationConfiguration . Load ( section ) ;
326+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Naming.CC", useRoot ) ;
293327 ValidateNamingConfigurationResults ( locConfig ) ;
294328 }
295329
296330 [ Test ]
297- public void NameNodeInPascalCase ( )
331+ [ TestCase ( true ) ]
332+ [ TestCase ( false ) ]
333+ public void NameNodeInPascalCase ( bool useRoot )
298334 {
299- var section = GetAndCheckConfigurationSection ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Naming.PC") ;
300- var locConfig = LocalizationConfiguration . Load ( section ) ;
335+ var locConfig = LoadConfiguration ( $ "Xtensive.Orm.Localization.{ ConfigFormat } .NameNode.Naming.PC", useRoot ) ;
301336 ValidateNamingConfigurationResults ( locConfig ) ;
302337 }
303338
0 commit comments