Skip to content

Commit dda0b3b

Browse files
committed
refactor: fix code gh quality findings
1 parent 18ec36c commit dda0b3b

6 files changed

Lines changed: 38 additions & 43 deletions

File tree

CSharpFunctionalExtensions.HttpResults.Generators.Tests/ExternalAssemblyErrorTypeTests.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ public sealed record NotFoundError(string Message);
3434
var emitResult = externalCompilation.Emit(ms);
3535
emitResult.Success.Should().BeTrue("External assembly should compile");
3636

37-
var externalAssemblyReference = MetadataReference.CreateFromStream(new MemoryStream(ms.ToArray()));
37+
ms.Position = 0;
38+
39+
var externalAssemblyReference = MetadataReference.CreateFromStream(ms);
3840

3941
// Create mapper in the main assembly that references the external error type
4042
var mapperCode = """
@@ -84,7 +86,9 @@ public sealed record ValidationError(string Message);
8486
var emitResult = externalCompilation.Emit(ms);
8587
emitResult.Success.Should().BeTrue();
8688

87-
var externalAssemblyReference = MetadataReference.CreateFromStream(new MemoryStream(ms.ToArray()));
89+
ms.Position = 0;
90+
91+
var externalAssemblyReference = MetadataReference.CreateFromStream(ms);
8892

8993
// Create multiple mappers
9094
var mappersCode = """
@@ -146,7 +150,9 @@ public sealed record NotFoundError(string Message);
146150
var emitResult = externalCompilation.Emit(ms);
147151
emitResult.Success.Should().BeTrue();
148152

149-
var externalAssemblyReference = MetadataReference.CreateFromStream(new MemoryStream(ms.ToArray()));
153+
ms.Position = 0;
154+
155+
var externalAssemblyReference = MetadataReference.CreateFromStream(ms);
150156

151157
var mapperCode = """
152158
using Microsoft.AspNetCore.Http;

CSharpFunctionalExtensions.HttpResults.Generators/Rules/ParameterlessConstructorRule.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ internal class ParameterlessConstructorRule : IRule
1818

1919
public IEnumerable<Diagnostic> Check(List<ClassDeclarationSyntax> mapperClasses)
2020
{
21-
foreach (var mapperClass in mapperClasses)
22-
{
23-
if (!HasParameterlessConstructor(mapperClass))
24-
yield return Diagnostic.Create(
25-
RuleDescriptor,
26-
mapperClass.Identifier.GetLocation(),
27-
mapperClass.Identifier.Text
28-
);
29-
}
21+
return mapperClasses
22+
.Where(mapperClass => !HasParameterlessConstructor(mapperClass))
23+
.Select(mapperClass =>
24+
Diagnostic.Create(RuleDescriptor, mapperClass.Identifier.GetLocation(), mapperClass.Identifier.Text)
25+
);
3026
}
3127

3228
private static bool HasParameterlessConstructor(ClassDeclarationSyntax classDeclaration)

CSharpFunctionalExtensions.HttpResults.Tests/ResultExtensions/ToFileHttpResultByteArray.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public void ResultByteArray_Success_can_be_mapped_to_FileHttpResult()
1616
var fileDownloadName = "foo.txt";
1717
var lastModified = DateTimeOffset.Now;
1818
var entityTag = new EntityTagHeaderValue("\"fooETag\"");
19-
;
2019
var enableRangeProcessing = true;
2120

2221
var result =
@@ -42,7 +41,6 @@ public async Task ResultByteArray_Success_can_be_mapped_to_FileHttpResult_Async(
4241
var fileDownloadName = "foo.txt";
4342
var lastModified = DateTimeOffset.Now;
4443
var entityTag = new EntityTagHeaderValue("\"fooETag\"");
45-
;
4644
var enableRangeProcessing = true;
4745

4846
var result =

CSharpFunctionalExtensions.HttpResults.Tests/ResultExtensions/ToFileHttpResultByteArrayE.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public void ResultByteArrayE_Success_can_be_mapped_to_FileHttpResult()
1616
var fileDownloadName = "foo.txt";
1717
var lastModified = DateTimeOffset.Now;
1818
var entityTag = new EntityTagHeaderValue("\"fooETag\"");
19-
;
2019
var enableRangeProcessing = true;
2120

2221
var result =
@@ -42,7 +41,6 @@ public async Task ResultByteArrayE_Success_can_be_mapped_to_FileHttpResult_Async
4241
var fileDownloadName = "foo.txt";
4342
var lastModified = DateTimeOffset.Now;
4443
var entityTag = new EntityTagHeaderValue("\"fooETag\"");
45-
;
4644
var enableRangeProcessing = true;
4745

4846
var result =

CSharpFunctionalExtensions.HttpResults.Tests/ResultExtensions/ToFileStreamHttpResultStream.cs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ public class ToFileStreamHttpResultStream
1212
public void ResultStream_Success_can_be_mapped_to_FileStreamHttpResult()
1313
{
1414
var value = "foo"u8.ToArray();
15-
var stream = new MemoryStream();
16-
stream.Write(value);
15+
using var sourceStream = new MemoryStream();
16+
sourceStream.Write(value);
1717
var contentType = MediaTypeNames.Text.Plain;
1818
var fileDownloadName = "foo.txt";
1919
var lastModified = DateTimeOffset.Now;
@@ -22,14 +22,14 @@ public void ResultStream_Success_can_be_mapped_to_FileStreamHttpResult()
2222

2323
var result =
2424
Result
25-
.Success(stream)
25+
.Success(sourceStream)
2626
.ToFileStreamHttpResult(contentType, fileDownloadName, lastModified, entityTag, enableRangeProcessing)
2727
.Result as FileStreamHttpResult;
2828

29-
stream = new MemoryStream();
29+
using var resultStream = new MemoryStream();
3030
result!.FileStream.Position = 0;
31-
result!.FileStream.CopyTo(stream);
32-
stream.ToArray().Should().BeEquivalentTo(value);
31+
result!.FileStream.CopyTo(resultStream);
32+
resultStream.ToArray().Should().BeEquivalentTo(value);
3333
result!.LastModified.Should().Be(lastModified);
3434
result!.FileDownloadName.Should().Be(fileDownloadName);
3535
result!.FileLength.Should().Be(value.Length);
@@ -42,25 +42,24 @@ public void ResultStream_Success_can_be_mapped_to_FileStreamHttpResult()
4242
public async Task ResultStream_Success_can_be_mapped_to_FileStreamHttpResult_Async()
4343
{
4444
var value = "foo"u8.ToArray();
45-
var stream = new MemoryStream();
46-
stream.Write(value);
45+
await using var sourceStream = new MemoryStream();
46+
sourceStream.Write(value);
4747
var contentType = MediaTypeNames.Text.Plain;
4848
var fileDownloadName = "foo.txt";
4949
var lastModified = DateTimeOffset.Now;
5050
var entityTag = new EntityTagHeaderValue("\"fooETag\"");
51-
;
5251
var enableRangeProcessing = true;
5352

5453
var result =
5554
(
56-
await Task.FromResult(Result.Success(stream))
55+
await Task.FromResult(Result.Success(sourceStream))
5756
.ToFileStreamHttpResult(contentType, fileDownloadName, lastModified, entityTag, enableRangeProcessing)
5857
).Result as FileStreamHttpResult;
5958

60-
stream = new MemoryStream();
59+
await using var resultStream = new MemoryStream();
6160
result!.FileStream.Position = 0;
62-
await result!.FileStream.CopyToAsync(stream);
63-
stream.ToArray().Should().BeEquivalentTo(value);
61+
await result!.FileStream.CopyToAsync(resultStream);
62+
resultStream.ToArray().Should().BeEquivalentTo(value);
6463
result!.LastModified.Should().Be(lastModified);
6564
result!.FileDownloadName.Should().Be(fileDownloadName);
6665
result!.FileLength.Should().Be(value.Length);

CSharpFunctionalExtensions.HttpResults.Tests/ResultExtensions/ToFileStreamHttpResultStreamE.cs

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,24 @@ public class ToFileStreamHttpResultStreamE
1212
public void ResultStreamE_Success_can_be_mapped_to_FileStreamHttpResult()
1313
{
1414
var value = "foo"u8.ToArray();
15-
var stream = new MemoryStream();
16-
stream.Write(value);
15+
using var sourceStream = new MemoryStream();
16+
sourceStream.Write(value);
1717
var contentType = MediaTypeNames.Text.Plain;
1818
var fileDownloadName = "foo.txt";
1919
var lastModified = DateTimeOffset.Now;
2020
var entityTag = new EntityTagHeaderValue("\"fooETag\"");
21-
;
2221
var enableRangeProcessing = true;
2322

2423
var result =
2524
Result
26-
.Success<Stream, DocumentMissingError>(stream)
25+
.Success<Stream, DocumentMissingError>(sourceStream)
2726
.ToFileStreamHttpResult(contentType, fileDownloadName, lastModified, entityTag, enableRangeProcessing)
2827
.Result as FileStreamHttpResult;
2928

30-
stream = new MemoryStream();
29+
using var resultStream = new MemoryStream();
3130
result!.FileStream.Position = 0;
32-
result!.FileStream.CopyTo(stream);
33-
stream.ToArray().Should().BeEquivalentTo(value);
31+
result!.FileStream.CopyTo(resultStream);
32+
resultStream.ToArray().Should().BeEquivalentTo(value);
3433
result!.LastModified.Should().Be(lastModified);
3534
result!.FileDownloadName.Should().Be(fileDownloadName);
3635
result!.FileLength.Should().Be(value.Length);
@@ -43,25 +42,24 @@ public void ResultStreamE_Success_can_be_mapped_to_FileStreamHttpResult()
4342
public async Task ResultStreamE_Success_can_be_mapped_to_FileStreamHttpResult_Async()
4443
{
4544
var value = "foo"u8.ToArray();
46-
var stream = new MemoryStream();
47-
stream.Write(value);
45+
await using var sourceStream = new MemoryStream();
46+
sourceStream.Write(value);
4847
var contentType = MediaTypeNames.Text.Plain;
4948
var fileDownloadName = "foo.txt";
5049
var lastModified = DateTimeOffset.Now;
5150
var entityTag = new EntityTagHeaderValue("\"fooETag\"");
52-
;
5351
var enableRangeProcessing = true;
5452

5553
var result =
5654
(
57-
await Task.FromResult(Result.Success<Stream, DocumentMissingError>(stream))
55+
await Task.FromResult(Result.Success<Stream, DocumentMissingError>(sourceStream))
5856
.ToFileStreamHttpResult(contentType, fileDownloadName, lastModified, entityTag, enableRangeProcessing)
5957
).Result as FileStreamHttpResult;
6058

61-
stream = new MemoryStream();
59+
await using var resultStream = new MemoryStream();
6260
result!.FileStream.Position = 0;
63-
await result!.FileStream.CopyToAsync(stream);
64-
stream.ToArray().Should().BeEquivalentTo(value);
61+
await result!.FileStream.CopyToAsync(resultStream);
62+
resultStream.ToArray().Should().BeEquivalentTo(value);
6563
result!.LastModified.Should().Be(lastModified);
6664
result!.FileDownloadName.Should().Be(fileDownloadName);
6765
result!.FileLength.Should().Be(value.Length);

0 commit comments

Comments
 (0)