Skip to content

Commit 702f885

Browse files
committed
Tests improved
1 parent 496f968 commit 702f885

File tree

4 files changed

+419
-295
lines changed

4 files changed

+419
-295
lines changed

Extensions/TestCommon/ModernConfigurationTestBase.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ protected enum ConfigTypes
1717
Xml,
1818
}
1919

20-
protected IConfiguration configuration;
20+
protected IConfigurationRoot configurationRoot;
2121

2222
protected abstract ConfigTypes ConfigFormat { get; }
2323

@@ -29,7 +29,7 @@ public virtual void BeforeAllTestsSetUp()
2929
var configurationBuilder = new ConfigurationBuilder();
3030
configurationBuilder.SetBasePath(Directory.GetCurrentDirectory());
3131
AddConfigurationFile(configurationBuilder);
32-
configuration = (ConfigurationRoot) configurationBuilder.Build();
32+
configurationRoot = (ConfigurationRoot) configurationBuilder.Build();
3333
}
3434

3535
protected void IgnoreIfXml()
@@ -45,7 +45,7 @@ protected void IgnoreIfJson()
4545

4646
protected IConfigurationSection GetAndCheckConfigurationSection(string sectionName)
4747
{
48-
var section = configuration.GetSection(sectionName);
48+
var section = configurationRoot.GetSection(sectionName);
4949
Assert.That(section, Is.Not.Null);
5050
return section;
5151
}

Extensions/Xtensive.Orm.Localization.Tests/ModernConfigurationTests.cs

Lines changed: 118 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)