55namespace TestProject . IPNetworkTest ;
66
77/// <summary>
8- /// Tests with operators.
8+ /// Tests with operators.
99/// </summary>
1010[ TestClass ]
1111public class IPNetworkOperatorTests
@@ -23,7 +23,7 @@ public void TestOperatorGreater1()
2323
2424 Assert . IsFalse ( greater , "greater" ) ;
2525 }
26-
26+
2727 /// <summary>
2828 /// Tests Operator functionality with Operator Greater.
2929 /// </summary>
@@ -37,7 +37,7 @@ public void TestOperatorGreater2()
3737
3838 Assert . IsTrue ( greater , "greater" ) ;
3939 }
40-
40+
4141 /// <summary>
4242 /// Tests Operator functionality with Operator Greater.
4343 /// </summary>
@@ -51,8 +51,8 @@ public void TestOperatorGreater3()
5151
5252 Assert . IsFalse ( greater , "greater" ) ;
5353 }
54-
55-
54+
55+
5656 /// <summary>
5757 /// Tests Operator functionality with Operator Greater.
5858 /// </summary>
@@ -80,7 +80,7 @@ public void TestOperatorGreaterOrEqual1()
8080
8181 Assert . IsFalse ( greater , "greater" ) ;
8282 }
83-
83+
8484 /// <summary>
8585 /// Tests Operator functionality with Operator Greater.
8686 /// </summary>
@@ -94,7 +94,7 @@ public void TestOperatorGreaterOrEqual2()
9494
9595 Assert . IsTrue ( greater , "greater" ) ;
9696 }
97-
97+
9898 /// <summary>
9999 /// Tests Operator functionality with Operator Greater.
100100 /// </summary>
@@ -108,9 +108,9 @@ public void TestOperatorGreaterOrEqual3()
108108
109109 Assert . IsTrue ( greater , "greater" ) ;
110110 }
111-
111+
112112 /// <summary>
113- /// Tests Operator functionality with Operator Greater.
113+ /// Tests Operator functionality with Operator Greater.
114114 /// </summary>
115115 [ TestMethod ]
116116 public void TestOperatorGreaterOrEqual4 ( )
@@ -122,9 +122,9 @@ public void TestOperatorGreaterOrEqual4()
122122
123123 Assert . IsFalse ( greater , "greater" ) ;
124124 }
125-
125+
126126 /// <summary>
127- /// Tests Operator functionality with Operator Greater.
127+ /// Tests Operator functionality with Operator Greater.
128128 /// </summary>
129129 [ TestMethod ]
130130 public void TestOperatorGreaterOrEqual5 ( )
@@ -166,7 +166,7 @@ public void TestOperatorLower2()
166166 }
167167
168168 /// <summary>
169- /// Tests Operator functionality with Operator Lower.
169+ /// Tests Operator functionality with Operator Lower.
170170 /// </summary>
171171 [ TestMethod ]
172172 public void TestOperatorLower3 ( )
@@ -208,7 +208,7 @@ public void TestOperatorLowerOrEqual2()
208208 }
209209
210210 /// <summary>
211- /// Tests Operator functionality with Operator Lower.
211+ /// Tests Operator functionality with Operator Lower.
212212 /// </summary>
213213 [ TestMethod ]
214214 public void TestOperatorLowerOrEqual3 ( )
@@ -277,9 +277,9 @@ public void TestOperatorEqual2()
277277
278278 Assert . IsTrue ( eq , "eq" ) ;
279279 }
280-
280+
281281 /// <summary>
282- /// Tests Operator functionality with Operator -.
282+ /// Tests Operator functionality with Operator -.
283283 /// </summary>
284284 [ TestMethod ]
285285 [ DataRow ( "10.0.0.1/32" , "10.0.0.1/32" , 0 ) ]
@@ -297,14 +297,14 @@ public void TestOperatorSubtract(string left, string right, int count)
297297 var ipn1 = IPNetwork2 . Parse ( left ) ;
298298 var ipn2 = IPNetwork2 . Parse ( right ) ;
299299
300- var result = ipn1 - ipn2 ;
300+ List < IPNetwork2 > result = ipn1 - ipn2 ;
301301
302302 Assert . HasCount ( count , result , "subtract" ) ;
303303 }
304-
305-
304+
305+
306306 /// <summary>
307- /// Tests Operator functionality with Operator -.
307+ /// Tests Operator functionality with Operator -.
308308 /// </summary>
309309 [ TestMethod ]
310310 [ DataRow ( "10.0.0.0/32" , "10.0.0.1/32" , 1 ) ]
@@ -327,17 +327,19 @@ public void TestOperatorAdd(string left, string right, int count)
327327 var ipn1 = IPNetwork2 . Parse ( left ) ;
328328 var ipn2 = IPNetwork2 . Parse ( right ) ;
329329
330- var result = ipn1 + ipn2 ;
330+ List < IPNetwork2 > result = ipn1 + ipn2 ;
331331
332332 Assert . HasCount ( count , result , "add" ) ;
333333 }
334-
334+
335335 /// <summary>
336- /// Tests Operator functionality with Operator +.
336+ /// Tests Operator functionality with Operator +.
337337 /// </summary>
338338 [ TestMethod ]
339339 [ DataRow ( "10.0.0.0/32" , 1 , "10.0.0.0/31" ) ]
340+ [ DataRow ( "10.0.0.0/32" , 2 , "10.0.0.0/31, 10.0.0.2/32" ) ]
340341 [ DataRow ( "10.0.0.0/32" , 3 , "10.0.0.0/30" ) ]
342+ [ DataRow ( "10.0.0.0/32" , 4 , "10.0.0.0/30, 10.0.0.4/32" ) ]
341343 [ DataRow ( "10.0.0.0/32" , 7 , "10.0.0.0/29" ) ]
342344 [ DataRow ( "10.0.0.0/32" , 15 , "10.0.0.0/28" ) ]
343345 [ DataRow ( "10.0.0.0/32" , 31 , "10.0.0.0/27" ) ]
@@ -350,23 +352,34 @@ public void TestOperatorAdd(string left, string right, int count)
350352 [ DataRow ( "10.0.0.0/32" , 4095 , "10.0.0.0/20" ) ]
351353 [ DataRow ( "10.0.0.0/32" , - 1 , "" ) ]
352354 [ DataRow ( "10.0.0.0/32" , - 10 , "" ) ]
353- [ DataRow ( "10.0.0.0/32" , 2 , "10.0.0.0/31, 10.0.0.2/32" ) ]
354355 [ DataRow ( "::/128" , 1 , "::/127" ) ]
355356 [ DataRow ( "::/128" , 3 , "::/126" ) ]
356357 [ DataRow ( "::f/128" , 1 , "::f/128, ::10/128" ) ]
357358 [ DataRow ( "1::ffff/128" , 1 , "1::ffff/128, 1::1:0/128" ) ]
358359 public void TestOperatorAdd2 ( string left , int right , string expected )
359360 {
360361 var ipn1 = IPNetwork2 . Parse ( left ) ;
361- var result = ipn1 + right ;
362+ IEnumerable < IPNetwork2 > result = ipn1 + right ;
362363 string sresult = string . Join ( ", " , result ) ;
363364
364365 Assert . AreEqual ( expected , sresult ) ;
365366 }
366-
367-
367+
368+ /// <summary>
369+ /// Tests Operator functionality with Operator +.
370+ /// </summary>
371+ [ TestMethod ]
372+ [ DataRow ( "0.0.0.0/0" , 1 , "0.0.0.0/32" ) ]
373+ [ DataRow ( "255.255.255.255/32" , 1 , "10.0.0.0/31" ) ]
374+ public void TestOperatorAddOverflow ( string left , int right , string expected )
375+ {
376+ var ipn1 = IPNetwork2 . Parse ( left ) ;
377+ Assert . ThrowsExactly < OverflowException > ( ( ) => ipn1 + right ) ;
378+ }
379+
380+
368381 /// <summary>
369- /// Tests Operator functionality with Operator -.
382+ /// Tests Operator functionality with Operator -.
370383 /// </summary>
371384 [ TestMethod ]
372385 [ DataRow ( "10.0.0.0/32" , 1 , "" ) ]
@@ -385,7 +398,7 @@ public void TestOperatorAdd2(string left, int right, string expected)
385398 public void TestOperatorsubtract2 ( string left , int right , string expected )
386399 {
387400 var ipn1 = IPNetwork2 . Parse ( left ) ;
388- var result = ipn1 - right ;
401+ IEnumerable < IPNetwork2 > result = ipn1 - right ;
389402 string sresult = string . Join ( ", " , result ) ;
390403
391404 Assert . AreEqual ( expected , sresult ) ;
0 commit comments