Skip to content

Commit 2b95dc5

Browse files
authored
Fix documentation and unit test (#342)
* Fix: documentation and add unit test issue 294 * Fix: the issue 294 bug * Update securitycodescan.yml * Feat: using claude to enhance code quality * Chore: cleanup test units * Chore: cleanup tools * Chore: cleanup * Fix: add dotsettings * Feat: using claude to enhance code quality * Chore: cleanup test units * Chore: cleanup tools * Chore: cleanup * Fix: add dotsettings
1 parent 08c5483 commit 2b95dc5

File tree

73 files changed

+6579
-5976
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+6579
-5976
lines changed

src/.editorconfig

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ dotnet_style_qualification_for_field = false:silent
100100
dotnet_style_qualification_for_property = false:silent
101101
dotnet_style_qualification_for_method = false:silent
102102
dotnet_style_qualification_for_event = false:silent
103+
103104
[*.cs]
104105
#### Styles de nommage ####
105106

@@ -121,31 +122,31 @@ dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
121122

122123
dotnet_naming_symbols.interface.applicable_kinds = interface
123124
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
124-
dotnet_naming_symbols.interface.required_modifiers =
125+
dotnet_naming_symbols.interface.required_modifiers =
125126

126127
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
127128
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
128-
dotnet_naming_symbols.types.required_modifiers =
129+
dotnet_naming_symbols.types.required_modifiers =
129130

130131
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
131132
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
132-
dotnet_naming_symbols.non_field_members.required_modifiers =
133+
dotnet_naming_symbols.non_field_members.required_modifiers =
133134

134135
# Styles de nommage
135136

136137
dotnet_naming_style.begins_with_i.required_prefix = I
137-
dotnet_naming_style.begins_with_i.required_suffix =
138-
dotnet_naming_style.begins_with_i.word_separator =
138+
dotnet_naming_style.begins_with_i.required_suffix =
139+
dotnet_naming_style.begins_with_i.word_separator =
139140
dotnet_naming_style.begins_with_i.capitalization = pascal_case
140141

141-
dotnet_naming_style.pascal_case.required_prefix =
142-
dotnet_naming_style.pascal_case.required_suffix =
143-
dotnet_naming_style.pascal_case.word_separator =
142+
dotnet_naming_style.pascal_case.required_prefix =
143+
dotnet_naming_style.pascal_case.required_suffix =
144+
dotnet_naming_style.pascal_case.word_separator =
144145
dotnet_naming_style.pascal_case.capitalization = pascal_case
145146

146-
dotnet_naming_style.pascal_case.required_prefix =
147-
dotnet_naming_style.pascal_case.required_suffix =
148-
dotnet_naming_style.pascal_case.word_separator =
147+
dotnet_naming_style.pascal_case.required_prefix =
148+
dotnet_naming_style.pascal_case.required_suffix =
149+
dotnet_naming_style.pascal_case.word_separator =
149150
dotnet_naming_style.pascal_case.capitalization = pascal_case
150151

151152
# SA1208: System using directives should be placed before other using directives
@@ -231,29 +232,29 @@ dotnet_naming_rule.membres_autres_que_des_champs_should_be_casse_pascal.style =
231232

232233
dotnet_naming_symbols.interface.applicable_kinds = interface
233234
dotnet_naming_symbols.interface.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
234-
dotnet_naming_symbols.interface.required_modifiers =
235+
dotnet_naming_symbols.interface.required_modifiers =
235236

236237
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
237238
dotnet_naming_symbols.types.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
238-
dotnet_naming_symbols.types.required_modifiers =
239+
dotnet_naming_symbols.types.required_modifiers =
239240

240241
dotnet_naming_symbols.membres_autres_que_des_champs.applicable_kinds = property, event, method
241242
dotnet_naming_symbols.membres_autres_que_des_champs.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
242-
dotnet_naming_symbols.membres_autres_que_des_champs.required_modifiers =
243+
dotnet_naming_symbols.membres_autres_que_des_champs.required_modifiers =
243244

244245
# Styles de nommage
245246

246247
dotnet_naming_style.commence_par_i.required_prefix = I
247-
dotnet_naming_style.commence_par_i.required_suffix =
248-
dotnet_naming_style.commence_par_i.word_separator =
248+
dotnet_naming_style.commence_par_i.required_suffix =
249+
dotnet_naming_style.commence_par_i.word_separator =
249250
dotnet_naming_style.commence_par_i.capitalization = pascal_case
250251

251-
dotnet_naming_style.casse_pascal.required_prefix =
252-
dotnet_naming_style.casse_pascal.required_suffix =
253-
dotnet_naming_style.casse_pascal.word_separator =
252+
dotnet_naming_style.casse_pascal.required_prefix =
253+
dotnet_naming_style.casse_pascal.required_suffix =
254+
dotnet_naming_style.casse_pascal.word_separator =
254255
dotnet_naming_style.casse_pascal.capitalization = pascal_case
255256

256-
dotnet_naming_style.casse_pascal.required_prefix =
257-
dotnet_naming_style.casse_pascal.required_suffix =
258-
dotnet_naming_style.casse_pascal.word_separator =
257+
dotnet_naming_style.casse_pascal.required_prefix =
258+
dotnet_naming_style.casse_pascal.required_suffix =
259+
dotnet_naming_style.casse_pascal.word_separator =
259260
dotnet_naming_style.casse_pascal.capitalization = pascal_case

src/System.Net.IPNetwork/IPNetworkCollection.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,11 @@ public IPNetwork2 this[BigInteger i]
112112

113113
#region IEnumerable Members
114114

115-
/// <inheritdoc/>
116115
IEnumerator<IPNetwork2> IEnumerable<IPNetwork2>.GetEnumerator()
117116
{
118117
return this;
119118
}
120119

121-
/// <inheritdoc/>
122120
IEnumerator IEnumerable.GetEnumerator()
123121
{
124122
return this;

src/TestProject/BigIntegerBitWiseUnitTest.cs

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,25 @@
22
// Copyright (c) IPNetwork. All rights reserved.
33
// </copyright>
44

5-
namespace System.Net.TestProject
6-
{
7-
using System.Numerics;
8-
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
namespace TestProject;
96

10-
[TestClass]
11-
public class BigIntegerBitWiseUnitTest
7+
[TestClass]
8+
public class BigIntegerBitWiseUnitTest
9+
{
10+
[TestMethod]
11+
[DataRow(new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 }, 4, new byte[] { 0x0 })]
12+
[DataRow(new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 }, 8,
13+
new byte[] { 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0 })]
14+
public void Test1(byte[] bytes, int reverseLength, byte[] expected)
1215
{
13-
[TestMethod]
14-
public void Test1()
15-
{
16-
byte[] bytes = new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
17-
var reverseme = new BigInteger(bytes);
18-
BigInteger reversed = reverseme.PositiveReverse(4);
19-
20-
Assert.AreEqual(0, (int)reversed);
21-
}
22-
23-
[TestMethod]
24-
public void Test2()
25-
{
26-
byte[] bytes = new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
2716
var reverseme = new BigInteger(bytes);
28-
BigInteger reversed = reverseme.PositiveReverse(8);
17+
BigInteger reversed = reverseme.PositiveReverse(reverseLength);
2918
byte[] result = reversed.ToByteArray();
19+
Assert.AreEqual(expected.Length, result.Length);
3020

31-
Assert.AreEqual(0x0, result[0]);
32-
Assert.AreEqual(0x0, result[1]);
33-
Assert.AreEqual(0x0, result[2]);
34-
Assert.AreEqual(0x0, result[3]);
35-
Assert.AreEqual(0xFF, result[4]);
36-
Assert.AreEqual(0xFF, result[5]);
37-
Assert.AreEqual(0xFF, result[6]);
38-
Assert.AreEqual(0xFF, result[7]);
21+
for (int i = 0; i < expected.Length; i++)
22+
{
23+
Assert.AreEqual(expected[i], result[i], i.ToString());
24+
}
3925
}
40-
}
41-
}
26+
}

src/TestProject/BigIntegerToUnitTest.cs

Lines changed: 39 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,57 +2,54 @@
22
// Copyright (c) IPNetwork. All rights reserved.
33
// </copyright>
44

5-
namespace System.Net.TestProject
6-
{
7-
using System.Numerics;
8-
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
namespace TestProject;
96

10-
[TestClass]
11-
public class BigIntegerToUnitTest
7+
[TestClass]
8+
public class BigIntegerToUnitTest
9+
{
10+
[TestMethod]
11+
public void TestToOctalString1()
1212
{
13-
[TestMethod]
14-
public void TestToOctalString1()
15-
{
16-
byte[] bytes = new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
13+
byte[] bytes = { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
1714
var convertme = new BigInteger(bytes);
1815
string result = convertme.ToOctalString();
1916

2017
Assert.AreEqual("037777777777", result);
2118
}
2219

23-
[TestMethod]
24-
public void TestToOctalString3()
25-
{
20+
[TestMethod]
21+
public void TestToOctalString3()
22+
{
2623
var bigi = BigInteger.Parse("1048576");
2724
bigi++;
2825
string result = bigi.ToOctalString();
2926

3027
Assert.AreEqual("04000001", result);
3128
}
3229

33-
[TestMethod]
34-
public void TestToOctalString01()
35-
{
30+
[TestMethod]
31+
public void TestToOctalString01()
32+
{
3633
BigInteger bigi = BigInteger.Zero;
3734
bigi++;
3835
string result = bigi.ToOctalString();
3936

4037
Assert.AreEqual("01", result);
4138
}
4239

43-
[TestMethod]
44-
public void TestToOctalString02()
45-
{
40+
[TestMethod]
41+
public void TestToOctalString02()
42+
{
4643
BigInteger bigi = BigInteger.Zero;
4744
bigi--;
4845
string result = bigi.ToOctalString();
4946

5047
Assert.AreEqual("377", result);
5148
}
5249

53-
[TestMethod]
54-
public void TestToOctalString03()
55-
{
50+
[TestMethod]
51+
public void TestToOctalString03()
52+
{
5653
BigInteger bigi = BigInteger.Zero;
5754
bigi--;
5855
bigi--;
@@ -66,53 +63,53 @@ public void TestToOctalString03()
6663
Assert.AreEqual("371", result);
6764
}
6865

69-
[TestMethod]
70-
public void TestToHexadecimalString1()
71-
{
72-
byte[] bytes = new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
66+
[TestMethod]
67+
public void TestToHexadecimalString1()
68+
{
69+
byte[] bytes = { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
7370
var convertme = new BigInteger(bytes);
7471
string result = convertme.ToHexadecimalString();
7572

7673
Assert.AreEqual("0FFFFFFFF", result);
7774
}
7875

79-
[TestMethod]
80-
public void TestToBinaryString1()
81-
{
82-
byte[] bytes = new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
76+
[TestMethod]
77+
public void TestToBinaryString1()
78+
{
79+
byte[] bytes = { 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
8380
var convertme = new BigInteger(bytes);
8481
string result = convertme.ToBinaryString();
8582

8683
Assert.AreEqual("011111111111111111111111111111111", result);
8784
}
8885

89-
[TestMethod]
90-
public void TestToBinaryString01()
91-
{
86+
[TestMethod]
87+
public void TestToBinaryString01()
88+
{
9289
BigInteger bigi = BigInteger.Zero;
9390
bigi++;
9491
string result = bigi.ToBinaryString();
9592

9693
Assert.AreEqual("01", result);
9794
}
9895

99-
[TestMethod]
100-
public void TestToBinaryString2()
101-
{
96+
[TestMethod]
97+
public void TestToBinaryString2()
98+
{
10299
var convertme = new BigInteger(-1);
103100
string result = convertme.ToBinaryString();
104101

105102
Assert.AreEqual("11111111", result);
106103
}
107104

108-
[TestMethod]
109-
public void TestToBinaryString3()
110-
{
111-
byte[] bytes = new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
105+
[TestMethod]
106+
public void TestToBinaryString3()
107+
{
108+
byte[] bytes =
109+
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
112110
var convertme = new BigInteger(bytes);
113111
string result = convertme.ToBinaryString();
114112

115113
Assert.AreEqual("11111111", result);
116114
}
117-
}
118-
}
115+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
// <copyright file="CidrClassFullIpv4UnitTest.cs" company="IPNetwork">
2+
// Copyright (c) IPNetwork. All rights reserved.
3+
// </copyright>
4+
5+
namespace TestProject;
6+
7+
[TestClass]
8+
public class CidrClassFullIpv4UnitTest
9+
{
10+
[TestMethod]
11+
public void TestTryGuessCidrNull()
12+
{
13+
var cidrguess = new CidrClassFull();
14+
15+
byte cidr;
16+
bool parsed = cidrguess.TryGuessCidr(null, out cidr);
17+
18+
Assert.AreEqual(false, parsed, "parsed");
19+
Assert.AreEqual(0, cidr, "cidr");
20+
}
21+
22+
[TestMethod]
23+
public void TestTryGuessCidrA()
24+
{
25+
var cidrguess = new CidrClassFull();
26+
27+
byte cidr;
28+
bool parsed = cidrguess.TryGuessCidr("10.0.0.0", out cidr);
29+
30+
Assert.AreEqual(true, parsed, "parsed");
31+
Assert.AreEqual(8, cidr, "cidr");
32+
}
33+
34+
[TestMethod]
35+
public void TestTryGuessCidrB()
36+
{
37+
var cidrguess = new CidrClassFull();
38+
39+
byte cidr;
40+
bool parsed = cidrguess.TryGuessCidr("172.0.0.0", out cidr);
41+
42+
Assert.AreEqual(true, parsed, "parsed");
43+
Assert.AreEqual(16, cidr, "cidr");
44+
}
45+
46+
[TestMethod]
47+
public void TestTryGuessCidrC()
48+
{
49+
var cidrguess = new CidrClassFull();
50+
51+
byte cidr;
52+
bool parsed = cidrguess.TryGuessCidr("192.0.0.0", out cidr);
53+
54+
Assert.AreEqual(true, parsed, "parsed");
55+
Assert.AreEqual(24, cidr, "cidr");
56+
}
57+
58+
[TestMethod]
59+
public void TestTryGuessCidrD()
60+
{
61+
var cidrguess = new CidrClassFull();
62+
63+
byte cidr;
64+
bool parsed = cidrguess.TryGuessCidr("224.0.0.0", out cidr);
65+
66+
Assert.AreEqual(true, parsed, "parsed");
67+
Assert.AreEqual(24, cidr, "cidr");
68+
}
69+
70+
[TestMethod]
71+
public void TestTryGuessCidrE()
72+
{
73+
var cidrguess = new CidrClassFull();
74+
75+
byte cidr;
76+
bool parsed = cidrguess.TryGuessCidr("240.0.0.0", out cidr);
77+
78+
Assert.AreEqual(true, parsed, "parsed");
79+
Assert.AreEqual(24, cidr, "cidr");
80+
}
81+
}

0 commit comments

Comments
 (0)