Skip to content

Commit 7cfdca7

Browse files
author
Kormos Tamás
committed
Fixed codacy errors "Use the overloading mechanism instead of the optional parameters."
Reordered the parameters and the properties for convenience
1 parent f240e1b commit 7cfdca7

File tree

3 files changed

+94
-153
lines changed

3 files changed

+94
-153
lines changed

src/TestableIO.System.IO.Abstractions.TestingHelpers/MockFileSystem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ public void AddFile(string path, MockFileData mockFile)
255255
AddDirectory(directoryPath);
256256
}
257257

258-
mockFile.FileVersionInfo ??= new MockFileVersionInfo(fileName: fixedPath);
258+
mockFile.FileVersionInfo ??= new MockFileVersionInfo(fixedPath);
259259

260260
SetEntry(fixedPath, mockFile);
261261
}

src/TestableIO.System.IO.Abstractions.TestingHelpers/MockFileVersionInfo.cs

Lines changed: 64 additions & 137 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,33 @@ public class MockFileVersionInfo : FileVersionInfoBase
1212
{
1313
/// <inheritdoc />
1414
public MockFileVersionInfo(
15-
string comments = null,
16-
string companyName = null,
17-
string fileDescription = null,
18-
string fileName = null,
19-
string fileVersion = null,
20-
string internalName = null,
21-
bool isDebug = false,
22-
bool isPatched = false,
23-
bool isPrivateBuild = false,
24-
bool isPreRelease = false,
25-
bool isSpecialBuild = false,
26-
string language = null,
27-
string legalCopyright = null,
28-
string legalTrademarks = null,
29-
string originalFilename = null,
30-
string privateBuild = null,
31-
string productName = null,
32-
string productVersion = null,
33-
string specialBuild = null)
15+
string fileName,
16+
string fileVersion,
17+
string productVersion,
18+
string fileDescription,
19+
string productName,
20+
string companyName,
21+
string comments,
22+
string internalName,
23+
bool isDebug,
24+
bool isPatched,
25+
bool isPrivateBuild,
26+
bool isPreRelease,
27+
bool isSpecialBuild,
28+
string language,
29+
string legalCopyright,
30+
string legalTrademarks,
31+
string originalFilename,
32+
string privateBuild,
33+
string specialBuild)
3434
{
35-
Comments = comments;
36-
CompanyName = companyName;
37-
FileDescription = fileDescription;
3835
FileName = fileName;
36+
FileVersion = fileVersion;
37+
ProductVersion = productVersion;
38+
FileDescription = fileDescription;
39+
ProductName = productName;
40+
CompanyName = companyName;
41+
Comments = comments;
3942
InternalName = internalName;
4043
IsDebug = isDebug;
4144
IsPatched = isPatched;
@@ -47,7 +50,6 @@ public MockFileVersionInfo(
4750
LegalTrademarks = legalTrademarks;
4851
OriginalFilename = originalFilename;
4952
PrivateBuild = privateBuild;
50-
ProductName = productName;
5153
SpecialBuild = specialBuild;
5254

5355
if (fileVersion != null)
@@ -70,172 +72,97 @@ public MockFileVersionInfo(
7072
}
7173

7274
/// <inheritdoc/>
73-
public override string Comments
74-
{
75-
get;
76-
}
75+
public MockFileVersionInfo(string fileName)
76+
: this(fileName, null, null, null, null, null, null, null, false, false, false, false, false, null, null, null, null, null, null) { }
7777

7878
/// <inheritdoc/>
79-
public override string CompanyName
80-
{
81-
get;
82-
}
79+
public MockFileVersionInfo(string fileName, string fileVersion, string productVersion)
80+
: this(fileName, fileVersion, productVersion, null, null, null, null, null, false, false, false, false, false, null, null, null, null, null, null) { }
8381

8482
/// <inheritdoc/>
85-
public override int FileBuildPart
86-
{
87-
get;
88-
}
83+
public MockFileVersionInfo()
84+
: this(null, null, null, null, null, null, null, null, false, false, false, false, false, null, null, null, null, null, null) { }
8985

9086
/// <inheritdoc/>
91-
public override string FileDescription
92-
{
93-
get;
94-
}
87+
public override string FileName { get; }
9588

9689
/// <inheritdoc/>
97-
public override int FileMajorPart
98-
{
99-
get;
100-
}
90+
public override string FileVersion { get; }
10191

10292
/// <inheritdoc/>
103-
public override int FileMinorPart
104-
{
105-
get;
106-
}
93+
public override string ProductVersion { get; }
10794

10895
/// <inheritdoc/>
109-
public override string FileName
110-
{
111-
get;
112-
}
96+
public override string FileDescription { get; }
11397

11498
/// <inheritdoc/>
115-
public override int FilePrivatePart
116-
{
117-
get;
118-
}
99+
public override string ProductName { get; }
119100

120101
/// <inheritdoc/>
121-
public override string FileVersion
122-
{
123-
get
124-
{
125-
return $"{FileMajorPart}.{FileMinorPart}.{FileBuildPart}.{FilePrivatePart}";
126-
}
127-
}
102+
public override string CompanyName { get; }
128103

129104
/// <inheritdoc/>
130-
public override string InternalName
131-
{
132-
get;
133-
}
105+
public override string Comments { get; }
134106

135107
/// <inheritdoc/>
136-
public override bool IsDebug
137-
{
138-
get;
139-
}
108+
public override string InternalName { get; }
140109

141110
/// <inheritdoc/>
142-
public override bool IsPatched
143-
{
144-
get;
145-
}
111+
public override bool IsDebug { get; }
146112

147113
/// <inheritdoc/>
148-
public override bool IsPrivateBuild
149-
{
150-
get;
151-
}
114+
public override bool IsPatched { get; }
152115

153116
/// <inheritdoc/>
154-
public override bool IsPreRelease
155-
{
156-
get;
157-
}
117+
public override bool IsPrivateBuild { get; }
158118

159119
/// <inheritdoc/>
160-
public override bool IsSpecialBuild
161-
{
162-
get;
163-
}
120+
public override bool IsPreRelease { get; }
164121

165122
/// <inheritdoc/>
166-
public override string Language
167-
{
168-
get;
169-
}
123+
public override bool IsSpecialBuild { get; }
170124

171125
/// <inheritdoc/>
172-
public override string LegalCopyright
173-
{
174-
get;
175-
}
126+
public override string Language { get; }
176127

177128
/// <inheritdoc/>
178-
public override string LegalTrademarks
179-
{
180-
get;
181-
}
129+
public override string LegalCopyright { get; }
182130

183131
/// <inheritdoc/>
184-
public override string OriginalFilename
185-
{
186-
get;
187-
}
132+
public override string LegalTrademarks { get; }
188133

189134
/// <inheritdoc/>
190-
public override string PrivateBuild
191-
{
192-
get;
193-
}
135+
public override string OriginalFilename { get; }
194136

195137
/// <inheritdoc/>
196-
public override int ProductBuildPart
197-
{
198-
get;
199-
}
138+
public override string PrivateBuild { get; }
200139

201140
/// <inheritdoc/>
202-
public override int ProductMajorPart
203-
{
204-
get;
205-
}
141+
public override string SpecialBuild { get; }
206142

207143
/// <inheritdoc/>
208-
public override int ProductMinorPart
209-
{
210-
get;
211-
}
144+
public override int FileMajorPart { get; }
212145

213146
/// <inheritdoc/>
214-
public override string ProductName
215-
{
216-
get;
217-
}
147+
public override int FileMinorPart { get; }
218148

219149
/// <inheritdoc/>
220-
public override int ProductPrivatePart
221-
{
222-
get;
223-
}
150+
public override int FileBuildPart { get; }
224151

225152
/// <inheritdoc/>
226-
public override string ProductVersion
227-
{
228-
get
229-
{
230-
return $"{ProductMajorPart}.{ProductMinorPart}.{ProductBuildPart}.{ProductPrivatePart}";
231-
}
232-
}
153+
public override int FilePrivatePart { get; }
233154

234155
/// <inheritdoc/>
235-
public override string SpecialBuild
236-
{
237-
get;
238-
}
156+
public override int ProductMajorPart { get; }
157+
158+
/// <inheritdoc/>
159+
public override int ProductMinorPart { get; }
160+
161+
/// <inheritdoc/>
162+
public override int ProductBuildPart { get; }
163+
164+
/// <inheritdoc/>
165+
public override int ProductPrivatePart { get; }
239166

240167
/// <inheritdoc cref="FileVersionInfo.ToString" />
241168
public override string ToString()

tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/MockFileVersionInfoTests.cs

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,24 @@ public void MockFileVersionInfo_ToString_ShouldReturnTheDefaultFormat()
1212
// Arrange
1313
var mockFileVersionInfo = new MockFileVersionInfo(
1414
fileName: @"c:\b.txt",
15-
internalName: "b.txt",
16-
originalFilename: "b.txt",
1715
fileVersion: "1.0.0.0",
16+
productVersion: "1.0.0.0",
1817
fileDescription: "b",
1918
productName: "b",
20-
productVersion: "1.0.0.0",
19+
companyName: null,
20+
comments: null,
21+
internalName: "b.txt",
2122
isDebug: true,
2223
isPatched: true,
23-
isPreRelease: true,
2424
isPrivateBuild: true,
25+
isPreRelease: true,
2526
isSpecialBuild: true,
26-
language: "English");
27+
language: "English",
28+
legalCopyright: null,
29+
legalTrademarks: null,
30+
originalFilename: "b.txt",
31+
privateBuild: null,
32+
specialBuild: null);
2733

2834
string expected = @"File: c:\b.txt
2935
InternalName: b.txt
@@ -45,45 +51,53 @@ public void MockFileVersionInfo_ToString_ShouldReturnTheDefaultFormat()
4551
}
4652

4753
[Test]
48-
public void MockFileVersionInfo_Constructor_ShouldSetFileVersionNumbersIfFileVersionIsNotNull()
54+
public void MockFileVersionInfo_Constructor_ShouldSetFileAndProductVersionNumbersIfFileAndProductVersionAreNotNull()
4955
{
5056
// Arrange
51-
var mockFileVersionInfo = new MockFileVersionInfo(fileVersion: "1.2.3.4");
57+
var mockFileVersionInfo = new MockFileVersionInfo(@"c:\file.txt", fileVersion: "1.2.3.4", productVersion: "5.6.7.8");
5258

5359
// Assert
5460
Assert.That(mockFileVersionInfo.FileMajorPart, Is.EqualTo(1));
5561
Assert.That(mockFileVersionInfo.FileMinorPart, Is.EqualTo(2));
5662
Assert.That(mockFileVersionInfo.FileBuildPart, Is.EqualTo(3));
5763
Assert.That(mockFileVersionInfo.FilePrivatePart, Is.EqualTo(4));
64+
Assert.That(mockFileVersionInfo.ProductMajorPart, Is.EqualTo(5));
65+
Assert.That(mockFileVersionInfo.ProductMinorPart, Is.EqualTo(6));
66+
Assert.That(mockFileVersionInfo.ProductBuildPart, Is.EqualTo(7));
67+
Assert.That(mockFileVersionInfo.ProductPrivatePart, Is.EqualTo(8));
5868
}
5969

6070
[Test]
61-
public void MockFileVersionInfo_Constructor_ShouldSetProductVersionNumbersIfProductVersionIsNotNull()
71+
public void MockFileVersionInfo_Constructor_ShouldNotSetFileAndProductVersionNumbersIfFileAndProductVersionAreNull()
6272
{
6373
// Act
64-
var mockFileVersionInfo = new MockFileVersionInfo(productVersion: "1.2.3.4");
74+
var mockFileVersionInfo = new MockFileVersionInfo();
6575

6676
// Assert
67-
Assert.That(mockFileVersionInfo.ProductMajorPart, Is.EqualTo(1));
68-
Assert.That(mockFileVersionInfo.ProductMinorPart, Is.EqualTo(2));
69-
Assert.That(mockFileVersionInfo.ProductBuildPart, Is.EqualTo(3));
70-
Assert.That(mockFileVersionInfo.ProductPrivatePart, Is.EqualTo(4));
77+
Assert.That(mockFileVersionInfo.FileMajorPart, Is.EqualTo(0));
78+
Assert.That(mockFileVersionInfo.FileMinorPart, Is.EqualTo(0));
79+
Assert.That(mockFileVersionInfo.FileBuildPart, Is.EqualTo(0));
80+
Assert.That(mockFileVersionInfo.FilePrivatePart, Is.EqualTo(0));
81+
Assert.That(mockFileVersionInfo.ProductMajorPart, Is.EqualTo(0));
82+
Assert.That(mockFileVersionInfo.ProductMinorPart, Is.EqualTo(0));
83+
Assert.That(mockFileVersionInfo.ProductBuildPart, Is.EqualTo(0));
84+
Assert.That(mockFileVersionInfo.ProductPrivatePart, Is.EqualTo(0));
7185
}
7286

7387
[Test]
7488
[TestCaseSource(nameof(GetInvalidVersionStrings))]
7589
public void MockFileVersionInfo_Constructor_ShouldThrowFormatExceptionIfFileVersionFormatIsInvalid(string version)
7690
{
7791
// Assert
78-
Assert.Throws<FormatException>(() => new MockFileVersionInfo(fileVersion: version));
92+
Assert.Throws<FormatException>(() => new MockFileVersionInfo(@"c:\file.txt", fileVersion: version, productVersion: null));
7993
}
8094

8195
[Test]
8296
[TestCaseSource(nameof(GetInvalidVersionStrings))]
8397
public void MockFileVersionInfo_Constructor_ShouldThrowFormatExceptionIfProductVersionFormatIsInvalid(string version)
8498
{
8599
// Assert
86-
Assert.Throws<FormatException>(() => new MockFileVersionInfo(productVersion: version));
100+
Assert.Throws<FormatException>(() => new MockFileVersionInfo(@"c:\file.txt", fileVersion: null, productVersion: version));
87101
}
88102

89103
private static IEnumerable GetInvalidVersionStrings()

0 commit comments

Comments
 (0)