@@ -30,7 +30,7 @@ public void TearDown()
30
30
[ Test ]
31
31
public void TestCreatingDocument ( )
32
32
{
33
- var content = @"<?xml version=""1.0"" encoding=""utf-8""?>
33
+ const string content = @"<?xml version=""1.0"" encoding=""utf-8""?>
34
34
<Project ToolsVersion=""4.0"" DefaultTargets=""Build"">
35
35
<ItemGroup>
36
36
<Reference Include=""log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL"">
@@ -47,15 +47,18 @@ public void TestCreatingDocument()
47
47
</Project>
48
48
" ;
49
49
var proj = CreateProjectFile ( content ) ;
50
- XmlNode refXml ;
51
- Assert . IsTrue ( proj . ContainsRef ( "log4net" , out refXml ) ) ;
52
- Assert . IsFalse ( proj . ContainsRef ( "logging" , out refXml ) ) ;
50
+
51
+ Assert . Multiple ( ( ) =>
52
+ {
53
+ Assert . That ( proj . ContainsRef ( "log4net" , out _ ) , Is . True ) ;
54
+ Assert . That ( proj . ContainsRef ( "logging" , out _ ) , Is . False ) ;
55
+ } ) ;
53
56
}
54
57
55
58
[ Test ]
56
59
public void TestAddReference ( )
57
60
{
58
- var content = @"<?xml version=""1.0"" encoding=""utf-8""?>
61
+ const string content = @"<?xml version=""1.0"" encoding=""utf-8""?>
59
62
<Project ToolsVersion=""4.0"" DefaultTargets=""Build"">
60
63
<ItemGroup>
61
64
<Reference Include=""log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL"">
@@ -71,31 +74,39 @@ public void TestAddReference()
71
74
</ItemGroup>
72
75
</Project>
73
76
" ;
74
- XmlNode refXml ;
75
77
var proj = CreateProjectFile ( content ) ;
78
+
76
79
proj . AddRef ( "logging" , "abc/def" ) ;
77
- Assert . IsTrue ( proj . ContainsRef ( "logging" , out refXml ) ) ;
78
- Assert . AreEqual ( "abc/def" , refXml . LastChild . InnerText ) ;
80
+
81
+ Assert . Multiple ( ( ) =>
82
+ {
83
+ Assert . That ( proj . ContainsRef ( "logging" , out var refXml ) , Is . True ) ;
84
+ Assert . That ( refXml . LastChild ! . InnerText , Is . EqualTo ( "abc/def" ) ) ;
85
+ } ) ;
79
86
}
80
87
81
88
[ Test ]
82
89
public void TestAddReferenceInEmptyProject ( )
83
90
{
84
- var content = @"<?xml version=""1.0"" encoding=""utf-8""?>
91
+ const string content = @"<?xml version=""1.0"" encoding=""utf-8""?>
85
92
<Project ToolsVersion=""4.0"" DefaultTargets=""Build"">
86
93
</Project>
87
94
" ;
88
- XmlNode refXml ;
89
95
var proj = CreateProjectFile ( content ) ;
96
+
90
97
proj . AddRef ( "logging" , "abc/def" ) ;
91
- Assert . IsTrue ( proj . ContainsRef ( "logging" , out refXml ) ) ;
92
- Assert . AreEqual ( "abc/def" , refXml . LastChild . InnerText ) ;
98
+
99
+ Assert . Multiple ( ( ) =>
100
+ {
101
+ Assert . That ( proj . ContainsRef ( "logging" , out var refXml ) , Is . True ) ;
102
+ Assert . That ( refXml . LastChild ! . InnerText , Is . EqualTo ( "abc/def" ) ) ;
103
+ } ) ;
93
104
}
94
105
95
106
[ Test ]
96
107
public void TestAddReferenceReferenceNotFirst ( )
97
108
{
98
- var content = @"<?xml version=""1.0"" encoding=""utf-8""?>
109
+ const string content = @"<?xml version=""1.0"" encoding=""utf-8""?>
99
110
<Project ToolsVersion=""4.0"" DefaultTargets=""Build"">
100
111
<ItemGroup />
101
112
<ItemGroup>
@@ -113,17 +124,21 @@ public void TestAddReferenceReferenceNotFirst()
113
124
</ItemGroup>
114
125
</Project>
115
126
" ;
116
- XmlNode refXml ;
117
127
var proj = CreateProjectFile ( content ) ;
128
+
118
129
proj . AddRef ( "logging" , "abc/def" ) ;
119
- Assert . IsTrue ( proj . ContainsRef ( "logging" , out refXml ) ) ;
120
- Assert . AreEqual ( "abc/def" , refXml . LastChild . InnerText ) ;
130
+
131
+ Assert . Multiple ( ( ) =>
132
+ {
133
+ Assert . That ( proj . ContainsRef ( "logging" , out var refXml ) , Is . True ) ;
134
+ Assert . That ( refXml . LastChild ! . InnerText , Is . EqualTo ( "abc/def" ) ) ;
135
+ } ) ;
121
136
}
122
137
123
138
[ Test ]
124
139
public void TestReplaceReferencePath ( )
125
140
{
126
- var content = @"<?xml version=""1.0"" encoding=""utf-8""?>
141
+ const string content = @"<?xml version=""1.0"" encoding=""utf-8""?>
127
142
<Project ToolsVersion=""4.0"" DefaultTargets=""Build"">
128
143
<ItemGroup>
129
144
<Reference Include=""log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL"">
@@ -139,11 +154,15 @@ public void TestReplaceReferencePath()
139
154
</ItemGroup>
140
155
</Project>
141
156
" ;
142
- XmlNode refXml ;
143
157
var proj = CreateProjectFile ( content ) ;
158
+
144
159
proj . ReplaceRef ( "log4net" , "abc/def" ) ;
145
- Assert . IsTrue ( proj . ContainsRef ( "log4net" , out refXml ) ) ;
146
- Assert . AreEqual ( "abc/def" , refXml . LastChild . InnerText ) ;
160
+
161
+ Assert . Multiple ( ( ) =>
162
+ {
163
+ Assert . That ( proj . ContainsRef ( "log4net" , out var refXml ) , Is . True ) ;
164
+ Assert . That ( refXml . LastChild ! . InnerText , Is . EqualTo ( "abc/def" ) ) ;
165
+ } ) ;
147
166
}
148
167
149
168
[ TestCase ( DefaultOldCsprojXml , TestName = "OldCsprojFormat" ) ]
@@ -156,7 +175,7 @@ public void Constructor_GetXmlFromFile_IfFileExist(string csprojXml)
156
175
}
157
176
158
177
[ Test ]
159
- public void Costructor_ThrowException_IfFileNotExist ( )
178
+ public void Constructor_ThrowException_IfFileNotExist ( )
160
179
{
161
180
var nullName = Guid . NewGuid ( ) . ToString ( ) ;
162
181
var nullPath = Path . Combine ( workDirectory . Path , $ "{ nullName } .csproj") ;
@@ -206,15 +225,15 @@ public void BindRuleset_MoveOldRulesetBindings_FromProjectFileToRulesetFile(stri
206
225
}
207
226
208
227
[ Test ]
209
- public void AddAnalyzer_CreateItemGroupForAnalyzers_IfNotExists ( )
228
+ public void AddAnalyzer_CreateItemGroupForAnalyzers_IfNotExists_ForOldCsprojFormat ( )
210
229
{
211
230
var analyzerDllPath = Path . Combine ( workDirectory . Path , $ "{ Guid . NewGuid ( ) } .dll") ;
212
- var csprojContent = @"<?xml version=""1.0"" encoding=""utf-8""?><Project ToolsVersion=""14.0"" DefaultTargets=""Build"" xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""></Project>" ;
231
+ const string csprojContent = @"<?xml version=""1.0"" encoding=""utf-8""?><Project ToolsVersion=""14.0"" DefaultTargets=""Build"" xmlns=""http://schemas.microsoft.com/developer/msbuild/2003""></Project>" ;
213
232
var projectFile = CreateProjectFile ( csprojContent ) ;
214
233
215
234
projectFile . AddAnalyzer ( analyzerDllPath ) ;
216
235
217
- Assert . NotNull ( SearchByXpath ( projectFile . Document , "//a:ItemGroup[a:Analyzer]" ) . Single ( ) ) ;
236
+ Assert . That ( SearchByXpath ( projectFile . Document , "//a:ItemGroup[a:Analyzer]" ) . Single ( ) , Is . Not . Null ) ;
218
237
}
219
238
220
239
[ Test ]
@@ -260,8 +279,7 @@ public void AddAnalyzer_NotAddAnalyzersDll_IfDllWithSomeNameAlreadyAdded(string
260
279
[ Test ]
261
280
public void TestMakeCsProjWithNugetReferences ( )
262
281
{
263
- var content = @"<Project Sdk=""Microsoft.NET.Sdk"">
264
-
282
+ const string content = @"<Project Sdk=""Microsoft.NET.Sdk"">
265
283
<PropertyGroup>
266
284
<TargetFramework>netstandard2.0</TargetFramework>
267
285
<RootNamespace>Vostok.Clusterclient</RootNamespace>
@@ -281,13 +299,15 @@ public void TestMakeCsProjWithNugetReferences()
281
299
</Reference>
282
300
</ItemGroup>
283
301
</Project>
284
- ";
302
+ " ;
285
303
286
304
var proj = CreateProjectFile ( content ) ;
287
305
var xmlDocument = proj . CreateCsProjWithNugetReferences ( new List < Dep > { new ( "vostok.core" ) } , true ) ;
288
-
289
- Assert . Null ( xmlDocument . SelectSingleNode ( "//Reference[@Include='Vostok.Core']" ) ) ;
290
- Assert . NotNull ( xmlDocument . SelectSingleNode ( "//PackageReference[@Include='vostok.core']" ) ) ;
306
+ Assert . Multiple ( ( ) =>
307
+ {
308
+ Assert . That ( xmlDocument . SelectSingleNode ( "//Reference[@Include='Vostok.Core']" ) , Is . Null ) ;
309
+ Assert . That ( xmlDocument . SelectSingleNode ( "//PackageReference[@Include='vostok.core']" ) , Is . Not . Null ) ;
310
+ } ) ;
291
311
}
292
312
293
313
private ProjectFile CreateProjectFile ( string projectFileContent )
@@ -309,15 +329,15 @@ private string CreateProjectFilePath()
309
329
return projectFilePath ;
310
330
}
311
331
312
- private string WithoutXmlFormatting ( string xml ) => new Regex ( ">\\ s+<" ) . Replace ( xml , "><" ) ;
332
+ private static string WithoutXmlFormatting ( string xml ) => new Regex ( ">\\ s+<" ) . Replace ( xml , "><" ) ;
313
333
314
- private List < XmlNode > SearchByXpath ( XmlDocument xmlDocument , string xpath )
334
+ private static List < XmlNode > SearchByXpath ( XmlDocument xmlDocument , string xpath )
315
335
{
316
- var namespaceUri = xmlDocument . DocumentElement . NamespaceURI ;
336
+ var namespaceUri = xmlDocument . DocumentElement ! . NamespaceURI ;
317
337
var nsmgr = new XmlNamespaceManager ( xmlDocument . NameTable ) ;
318
338
nsmgr . AddNamespace ( "a" , namespaceUri ) ;
319
339
var result = xmlDocument
320
- . SelectNodes ( xpath , nsmgr )
340
+ . SelectNodes ( xpath , nsmgr ) !
321
341
. Cast < XmlNode > ( )
322
342
. ToList ( ) ;
323
343
return result ;
0 commit comments