Skip to content

Commit 8fbdd56

Browse files
author
Gonzalo Diaz
committed
[REFACTOR] Change {List-type property} to be read-only by removing the property setter (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2227)
1 parent d036d52 commit 8fbdd56

File tree

16 files changed

+313
-112
lines changed

16 files changed

+313
-112
lines changed

src/algorithm_exercises_csharp/hackerrank/interview_preparation_kit/arrays/CrushOptimized.cs

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays
77

88
public static class CrushOptimized
99
{
10-
1110
/**
1211
// arrayManipulation.
1312
*/

src/algorithm_exercises_csharp/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/SherlockAndAnagrams.cs

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.dictio
77

88
public static class SherlockAndAnagrams
99
{
10-
1110
/**
1211
* factorial().
1312
*/

src/algorithm_exercises_csharp/hackerrank/interview_preparation_kit/greedy_algorithms/MinimumAbsoluteDifferenceInAnArray.cs

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.greedy
66

77
public static class MinimumAbsoluteDifferenceInAnArray
88
{
9-
109
/**
1110
* minimumAbsoluteDifference.
1211
*/

src/algorithm_exercises_csharp_test/hackerrank/interview_preparation_kit/arrays/ArraysLeftRotation.Test.cs

+19-6
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,24 @@ namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.a
55
[TestClass]
66
public class ArraysLeftRotationTest
77
{
8-
public class ArraysLeftRotationsTestCase
8+
public class ArraysLeftRotationsTestCase(int[] input, int d, int[] expected)
99
{
10-
public List<int> input { get; set; } = default!;
11-
public int d { get; set; }
12-
public List<int> expected { get; set; } = default!;
10+
private readonly List<int> input = [.. input];
11+
private readonly int d = d;
12+
private readonly List<int> expected = [.. expected];
13+
14+
public List<int> Input
15+
{
16+
get { return input; }
17+
}
18+
public int D
19+
{
20+
get { return d; }
21+
}
22+
public List<int> Expected
23+
{
24+
get { return expected; }
25+
}
1326
}
1427

1528
private List<ArraysLeftRotationsTestCase> testCases = default!;
@@ -29,8 +42,8 @@ public void testRotLeft()
2942

3043
foreach (ArraysLeftRotationsTestCase test in testCases)
3144
{
32-
result = ArraysLeftRotation.rotLeft(test.input, test.d);
33-
CollectionAssert.AreEquivalent(test.expected, result);
45+
result = ArraysLeftRotation.rotLeft(test.Input, test.D);
46+
CollectionAssert.AreEquivalent(test.Expected, result);
3447
}
3548
}
3649
}

src/algorithm_exercises_csharp_test/hackerrank/interview_preparation_kit/arrays/CrushBruteForce.Test.cs

+23-7
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,28 @@ namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.a
55
[TestClass]
66
public class CrushBruteForceTest
77
{
8-
public class CrushBruteForceTestCase
8+
public class CrushBruteForceTestCase(string title, List<List<int>> queries, int n, long expected)
99
{
10-
public string title { get; set; } = default!;
11-
public List<List<int>> queries { get; set; } = default!;
12-
public int n { get; set; } = default!;
13-
public long expected { get; set; } = default!;
10+
private string title = title;
11+
private List<List<int>> queries = queries;
12+
private int n = n;
13+
private long expected = expected;
14+
public string Title
15+
{
16+
get { return title; }
17+
}
18+
public List<List<int>> Queries
19+
{
20+
get { return queries; }
21+
}
22+
public int N
23+
{
24+
get { return n; }
25+
}
26+
public long Expected
27+
{
28+
get { return expected; }
29+
}
1430
}
1531

1632
private List<CrushBruteForceTestCase> testCases { get; set; } = default!;
@@ -30,8 +46,8 @@ public void testArrayManipulation()
3046

3147
foreach (CrushBruteForceTestCase test in testCases)
3248
{
33-
result = CrushBruteForce.arrayManipulation(test.n, test.queries);
34-
Assert.AreEqual(test.expected, result);
49+
result = CrushBruteForce.arrayManipulation(test.N, test.Queries);
50+
Assert.AreEqual(test.Expected, result);
3551
}
3652
}
3753
}

src/algorithm_exercises_csharp_test/hackerrank/interview_preparation_kit/arrays/CrushOptimized.Test.cs

+23-7
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,28 @@ namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.a
55
[TestClass]
66
public class CrushOptimizedTest
77
{
8-
public class CrushOptimizedTestCase
8+
public class CrushOptimizedTestCase(string title, List<List<int>> queries, int n, long expected)
99
{
10-
public string title { get; set; } = default!;
11-
public List<List<int>> queries { get; set; } = default!;
12-
public int n { get; set; } = default!;
13-
public long expected { get; set; } = default!;
10+
private string title = title;
11+
private List<List<int>> queries = queries;
12+
private int n = n;
13+
private long expected = expected;
14+
public string Title
15+
{
16+
get { return title; }
17+
}
18+
public List<List<int>> Queries
19+
{
20+
get { return queries; }
21+
}
22+
public int N
23+
{
24+
get { return n; }
25+
}
26+
public long Expected
27+
{
28+
get { return expected; }
29+
}
1430
}
1531

1632
private List<CrushOptimizedTestCase> testCases { get; set; } = default!;
@@ -30,8 +46,8 @@ public void testArrayManipulation()
3046

3147
foreach (CrushOptimizedTestCase test in testCases)
3248
{
33-
result = CrushOptimized.arrayManipulation(test.n, test.queries);
34-
Assert.AreEqual(test.expected, result);
49+
result = CrushOptimized.arrayManipulation(test.N, test.Queries);
50+
Assert.AreEqual(test.Expected, result);
3551
}
3652
}
3753
}

src/algorithm_exercises_csharp_test/hackerrank/interview_preparation_kit/arrays/NewYearChaos.Test.cs

+22-7
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,26 @@ namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.a
55
[TestClass]
66
public class NewYearChaosTest
77
{
8-
public class NewYearChaosTestCase
8+
public class NewYearChaosTestCase(string title, int[] input, string expected)
99
{
10-
public string title { get; set; } = default!;
11-
public List<int> input { get; set; } = default!;
12-
public string expected { get; set; } = default!;
10+
private readonly string title = title;
11+
private readonly List<int> input = [.. input];
12+
private readonly string expected = expected;
13+
14+
public string Title
15+
{
16+
get { return title; }
17+
}
18+
19+
public List<int> Input
20+
{
21+
get { return input; }
22+
}
23+
24+
public string Expected
25+
{
26+
get { return expected; }
27+
}
1328
}
1429

1530
private List<NewYearChaosTestCase> testCases { get; set; } = default!;
@@ -29,10 +44,10 @@ public void testMinimumBribesText()
2944

3045
foreach (NewYearChaosTestCase test in testCases)
3146
{
32-
result = NewYearChaos.minimumBribesText(test.input);
33-
NewYearChaos.minimumBribes(test.input);
47+
result = NewYearChaos.minimumBribesText(test.Input);
48+
NewYearChaos.minimumBribes(test.Input);
3449

35-
Assert.AreEqual(test.expected, result);
50+
Assert.AreEqual(test.Expected, result);
3651
}
3752
}
3853
}

src/algorithm_exercises_csharp_test/hackerrank/interview_preparation_kit/arrays/TwoDArray.Test.cs

+19-6
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,24 @@ namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.a
55
[TestClass]
66
public class TwoDArrayTest
77
{
8-
public class TwoDArrayTestCase
8+
public class TwoDArrayTestCase(string title, List<List<int>> input, long expected)
99
{
10-
public string title { get; set; } = default!;
11-
public List<List<int>> input { get; set; } = default!;
12-
public long expected { get; set; } = default!;
10+
private string title = title;
11+
private List<List<int>> input = input;
12+
private long expected = expected;
13+
14+
public string Title
15+
{
16+
get { return title; }
17+
}
18+
public List<List<int>> Input
19+
{
20+
get { return input; }
21+
}
22+
public long Expected
23+
{
24+
get { return expected; }
25+
}
1326
}
1427

1528
private List<TwoDArrayTestCase> testCases { get; set; } = default!;
@@ -29,8 +42,8 @@ public void testHourglassSum()
2942

3043
foreach (TwoDArrayTestCase test in testCases)
3144
{
32-
result = TwoDArray.hourglassSum(test.input);
33-
Assert.AreEqual(test.expected, result);
45+
result = TwoDArray.hourglassSum(test.Input);
46+
Assert.AreEqual(test.Expected, result);
3447
}
3548
}
3649

src/algorithm_exercises_csharp_test/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/CountTriplets.Test.cs

+29-9
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,32 @@ namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.d
55
[TestClass]
66
public class CountTripletsTest
77
{
8-
public class CountTripletsTestCase
8+
public class CountTripletsTestCase(string title, long[] input, int r, long expected)
99
{
10-
public string title { get; set; } = default!;
11-
public List<long> input { get; set; } = default!;
12-
public int r { get; set; } = default!;
13-
public long expected { get; set; } = default!;
10+
private readonly string title = title;
11+
private readonly List<long> input = [.. input];
12+
private readonly int r = r;
13+
private readonly long expected = expected;
14+
15+
public string Title
16+
{
17+
get { return title; }
18+
}
19+
20+
public List<long> Input
21+
{
22+
get { return input; }
23+
}
24+
25+
public int R
26+
{
27+
get { return r; }
28+
}
29+
30+
public long Expected
31+
{
32+
get { return expected; }
33+
}
1434
}
1535

1636
private List<CountTripletsTestCase> testCases { get; set; } = default!;
@@ -35,14 +55,14 @@ public void testCountTriplets()
3555

3656
foreach (CountTripletsTestCase test in testCases)
3757
{
38-
result = CountTriplets.countTriplets(test.input, test.r);
39-
Assert.AreEqual(test.expected, result);
58+
result = CountTriplets.countTriplets(test.Input, test.R);
59+
Assert.AreEqual(test.Expected, result);
4060
}
4161

4262
foreach (CountTripletsTestCase test in bigTestCases)
4363
{
44-
result = CountTriplets.countTriplets(test.input, test.r);
45-
Assert.AreEqual(test.expected, result);
64+
result = CountTriplets.countTriplets(test.Input, test.R);
65+
Assert.AreEqual(test.Expected, result);
4666
}
4767
}
4868
}

src/algorithm_exercises_csharp_test/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/CountTripletsBruteForce.Test.cs

+27-7
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,32 @@ namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.d
55
[TestClass]
66
public class CountTripletsBruteForceTest
77
{
8-
public class CountTripletsBruteForceTestCase
8+
public class CountTripletsBruteForceTestCase(string title, long[] input, int r, long expected)
99
{
10-
public string title { get; set; } = default!;
11-
public List<long> input { get; set; } = default!;
12-
public int r { get; set; } = default!;
13-
public int expected { get; set; } = default!;
10+
private readonly string title = title;
11+
private readonly List<long> input = [.. input];
12+
private readonly int r = r;
13+
private readonly long expected = expected;
14+
15+
public string Title
16+
{
17+
get { return title; }
18+
}
19+
20+
public List<long> Input
21+
{
22+
get { return input; }
23+
}
24+
25+
public int R
26+
{
27+
get { return r; }
28+
}
29+
30+
public long Expected
31+
{
32+
get { return expected; }
33+
}
1434
}
1535

1636
private List<CountTripletsBruteForceTestCase> testCases { get; set; } = default!;
@@ -30,8 +50,8 @@ public void testCountTriplets()
3050

3151
foreach (CountTripletsBruteForceTestCase test in testCases)
3252
{
33-
result = CountTripletsBruteForce.countTriplets(test.input, test.r);
34-
Assert.AreEqual(test.expected, result);
53+
result = CountTripletsBruteForce.countTriplets(test.Input, test.R);
54+
Assert.AreEqual(test.Expected, result);
3555
}
3656
}
3757
}

0 commit comments

Comments
 (0)