Committed by
Gerrit Code Review
Merge "Refactor test to use Guava EqualsTester"
Showing
1 changed file
with
42 additions
and
144 deletions
| ... | @@ -21,12 +21,12 @@ import org.onlab.packet.IpPrefix; | ... | @@ -21,12 +21,12 @@ import org.onlab.packet.IpPrefix; |
| 21 | import org.onlab.packet.MacAddress; | 21 | import org.onlab.packet.MacAddress; |
| 22 | import org.onlab.packet.VlanId; | 22 | import org.onlab.packet.VlanId; |
| 23 | 23 | ||
| 24 | +import com.google.common.testing.EqualsTester; | ||
| 25 | + | ||
| 24 | import static org.hamcrest.MatcherAssert.assertThat; | 26 | import static org.hamcrest.MatcherAssert.assertThat; |
| 25 | -import static org.hamcrest.Matchers.containsString; | ||
| 26 | import static org.hamcrest.Matchers.equalTo; | 27 | import static org.hamcrest.Matchers.equalTo; |
| 27 | import static org.hamcrest.Matchers.instanceOf; | 28 | import static org.hamcrest.Matchers.instanceOf; |
| 28 | import static org.hamcrest.Matchers.is; | 29 | import static org.hamcrest.Matchers.is; |
| 29 | -import static org.hamcrest.Matchers.not; | ||
| 30 | import static org.hamcrest.Matchers.notNullValue; | 30 | import static org.hamcrest.Matchers.notNullValue; |
| 31 | import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; | 31 | import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; |
| 32 | import static org.onlab.junit.UtilityClassChecker.assertThatClassIsUtility; | 32 | import static org.onlab.junit.UtilityClassChecker.assertThatClassIsUtility; |
| ... | @@ -121,33 +121,6 @@ public class CriteriaTest { | ... | @@ -121,33 +121,6 @@ public class CriteriaTest { |
| 121 | } | 121 | } |
| 122 | 122 | ||
| 123 | /** | 123 | /** |
| 124 | - * Checks the equals() and toString() methods of a Criterion class. | ||
| 125 | - * | ||
| 126 | - * @param c1 first object to compare | ||
| 127 | - * @param c1match object that should be equal to the first | ||
| 128 | - * @param c2 object that should be not equal to the first | ||
| 129 | - * @param clazz Class object for the Criterion subclass | ||
| 130 | - * @param <T> type of the arguments | ||
| 131 | - */ | ||
| 132 | - private <T extends Criterion> void checkEqualsAndToString(T c1, T c1match, | ||
| 133 | - T c2, Class clazz) { | ||
| 134 | - assertThat(c1, instanceOf(clazz)); | ||
| 135 | - assertThat(c1match, instanceOf(clazz)); | ||
| 136 | - assertThat(c2, instanceOf(clazz)); | ||
| 137 | - | ||
| 138 | - assertThat(c1, is(equalTo(c1match))); | ||
| 139 | - assertThat(c1, is(not(equalTo(c2)))); | ||
| 140 | - assertThat(c1, is(not(equalTo(new Object())))); | ||
| 141 | - | ||
| 142 | - // Make sure the enumerated type appears in the toString() output and | ||
| 143 | - // the toString output is unique. | ||
| 144 | - assertThat(c1.toString(), containsString(c1.type().toString())); | ||
| 145 | - assertThat(c1.toString(), equalTo(c1match.toString())); | ||
| 146 | - assertThat(c1.toString(), not(equalTo(c2.toString()))); | ||
| 147 | - } | ||
| 148 | - | ||
| 149 | - | ||
| 150 | - /** | ||
| 151 | * Check that the Criteria class is a valid utility class. | 124 | * Check that the Criteria class is a valid utility class. |
| 152 | */ | 125 | */ |
| 153 | @Test | 126 | @Test |
| ... | @@ -193,17 +166,10 @@ public class CriteriaTest { | ... | @@ -193,17 +166,10 @@ public class CriteriaTest { |
| 193 | */ | 166 | */ |
| 194 | @Test | 167 | @Test |
| 195 | public void testPortCriterionEquals() { | 168 | public void testPortCriterionEquals() { |
| 196 | - checkEqualsAndToString(matchInPort1, sameAsMatchInPort1, matchInPort2, | 169 | + new EqualsTester() |
| 197 | - Criteria.PortCriterion.class); | 170 | + .addEqualityGroup(matchInPort1, sameAsMatchInPort1) |
| 198 | - } | 171 | + .addEqualityGroup(matchInPort2) |
| 199 | - | 172 | + .testEquals(); |
| 200 | - /** | ||
| 201 | - * Test the hashCode() method of the PortCriterion class. | ||
| 202 | - */ | ||
| 203 | - @Test | ||
| 204 | - public void testPortCriterionHashCode() { | ||
| 205 | - assertThat(matchInPort1.hashCode(), is(equalTo(sameAsMatchInPort1.hashCode()))); | ||
| 206 | - assertThat(matchInPort1.hashCode(), is(not(equalTo(matchInPort2.hashCode())))); | ||
| 207 | } | 173 | } |
| 208 | 174 | ||
| 209 | // EthCriterion class | 175 | // EthCriterion class |
| ... | @@ -239,20 +205,12 @@ public class CriteriaTest { | ... | @@ -239,20 +205,12 @@ public class CriteriaTest { |
| 239 | */ | 205 | */ |
| 240 | @Test | 206 | @Test |
| 241 | public void testEthCriterionEquals() { | 207 | public void testEthCriterionEquals() { |
| 242 | - checkEqualsAndToString(matchEth1, sameAsMatchEth1, matchEth2, | 208 | + new EqualsTester() |
| 243 | - Criteria.EthCriterion.class); | 209 | + .addEqualityGroup(matchEth1, sameAsMatchEth1) |
| 210 | + .addEqualityGroup(matchEth2) | ||
| 211 | + .testEquals(); | ||
| 244 | } | 212 | } |
| 245 | 213 | ||
| 246 | - /** | ||
| 247 | - * Test the hashCode() method of the EthCriterion class. | ||
| 248 | - */ | ||
| 249 | - @Test | ||
| 250 | - public void testEthCriterionHashCode() { | ||
| 251 | - assertThat(matchEth1.hashCode(), is(equalTo(sameAsMatchEth1.hashCode()))); | ||
| 252 | - assertThat(matchEth1.hashCode(), is(not(equalTo(matchEth2.hashCode())))); | ||
| 253 | - } | ||
| 254 | - | ||
| 255 | - | ||
| 256 | // TcpPortCriterion class | 214 | // TcpPortCriterion class |
| 257 | 215 | ||
| 258 | /** | 216 | /** |
| ... | @@ -286,20 +244,12 @@ public class CriteriaTest { | ... | @@ -286,20 +244,12 @@ public class CriteriaTest { |
| 286 | */ | 244 | */ |
| 287 | @Test | 245 | @Test |
| 288 | public void testTcpPortCriterionEquals() { | 246 | public void testTcpPortCriterionEquals() { |
| 289 | - checkEqualsAndToString(matchTcpPort1, sameAsMatchTcpPort1, matchTcpPort2, | 247 | + new EqualsTester() |
| 290 | - Criteria.TcpPortCriterion.class); | 248 | + .addEqualityGroup(matchTcpPort1, sameAsMatchTcpPort1) |
| 249 | + .addEqualityGroup(matchTcpPort2) | ||
| 250 | + .testEquals(); | ||
| 291 | } | 251 | } |
| 292 | 252 | ||
| 293 | - /** | ||
| 294 | - * Test the hashCode() method of the TcpPortCriterion class. | ||
| 295 | - */ | ||
| 296 | - @Test | ||
| 297 | - public void testTcpPortCriterionHashCode() { | ||
| 298 | - assertThat(matchTcpPort1.hashCode(), is(equalTo(sameAsMatchTcpPort1.hashCode()))); | ||
| 299 | - assertThat(matchTcpPort1.hashCode(), is(not(equalTo(matchTcpPort2.hashCode())))); | ||
| 300 | - } | ||
| 301 | - | ||
| 302 | - | ||
| 303 | // EthTypeCriterion class | 253 | // EthTypeCriterion class |
| 304 | 254 | ||
| 305 | /** | 255 | /** |
| ... | @@ -321,20 +271,12 @@ public class CriteriaTest { | ... | @@ -321,20 +271,12 @@ public class CriteriaTest { |
| 321 | */ | 271 | */ |
| 322 | @Test | 272 | @Test |
| 323 | public void testEthTypeCriterionEquals() { | 273 | public void testEthTypeCriterionEquals() { |
| 324 | - checkEqualsAndToString(matchEthType1, sameAsMatchEthType1, matchEthType2, | 274 | + new EqualsTester() |
| 325 | - Criteria.EthTypeCriterion.class); | 275 | + .addEqualityGroup(matchEthType1, sameAsMatchEthType1) |
| 326 | - } | 276 | + .addEqualityGroup(matchEthType2) |
| 327 | - | 277 | + .testEquals(); |
| 328 | - /** | ||
| 329 | - * Test the hashCode() method of the EthTypeCriterion class. | ||
| 330 | - */ | ||
| 331 | - @Test | ||
| 332 | - public void testEthTypeCriterionHashCode() { | ||
| 333 | - assertThat(matchInPort1.hashCode(), is(equalTo(sameAsMatchInPort1.hashCode()))); | ||
| 334 | - assertThat(matchInPort1.hashCode(), is(not(equalTo(matchInPort2.hashCode())))); | ||
| 335 | } | 278 | } |
| 336 | 279 | ||
| 337 | - | ||
| 338 | // VlanIdCriterion class | 280 | // VlanIdCriterion class |
| 339 | 281 | ||
| 340 | /** | 282 | /** |
| ... | @@ -355,17 +297,10 @@ public class CriteriaTest { | ... | @@ -355,17 +297,10 @@ public class CriteriaTest { |
| 355 | */ | 297 | */ |
| 356 | @Test | 298 | @Test |
| 357 | public void testVlanIdCriterionEquals() { | 299 | public void testVlanIdCriterionEquals() { |
| 358 | - checkEqualsAndToString(matchVlanId1, sameAsMatchVlanId1, matchVlanId2, | 300 | + new EqualsTester() |
| 359 | - Criteria.VlanIdCriterion.class); | 301 | + .addEqualityGroup(matchVlanId1, sameAsMatchVlanId1) |
| 360 | - } | 302 | + .addEqualityGroup(matchVlanId2) |
| 361 | - | 303 | + .testEquals(); |
| 362 | - /** | ||
| 363 | - * Test the hashCode() method of the VlanIdCriterion class. | ||
| 364 | - */ | ||
| 365 | - @Test | ||
| 366 | - public void testVlanIdCriterionHashCode() { | ||
| 367 | - assertThat(matchVlanId1.hashCode(), is(equalTo(sameAsMatchVlanId1.hashCode()))); | ||
| 368 | - assertThat(matchVlanId1.hashCode(), is(not(equalTo(matchVlanId2.hashCode())))); | ||
| 369 | } | 304 | } |
| 370 | 305 | ||
| 371 | // VlanPcpCriterion class | 306 | // VlanPcpCriterion class |
| ... | @@ -388,17 +323,10 @@ public class CriteriaTest { | ... | @@ -388,17 +323,10 @@ public class CriteriaTest { |
| 388 | */ | 323 | */ |
| 389 | @Test | 324 | @Test |
| 390 | public void testVlanPcpCriterionEquals() { | 325 | public void testVlanPcpCriterionEquals() { |
| 391 | - checkEqualsAndToString(matchVlanPcp1, sameAsMatchVlanPcp1, matchVlanPcp2, | 326 | + new EqualsTester() |
| 392 | - Criteria.VlanPcpCriterion.class); | 327 | + .addEqualityGroup(matchVlanPcp1, sameAsMatchVlanPcp1) |
| 393 | - } | 328 | + .addEqualityGroup(matchVlanPcp2) |
| 394 | - | 329 | + .testEquals(); |
| 395 | - /** | ||
| 396 | - * Test the hashCode() method of the VlnPcpCriterion class. | ||
| 397 | - */ | ||
| 398 | - @Test | ||
| 399 | - public void testVlanPcpCriterionHashCode() { | ||
| 400 | - assertThat(matchVlanPcp1.hashCode(), is(equalTo(sameAsMatchVlanPcp1.hashCode()))); | ||
| 401 | - assertThat(matchVlanPcp1.hashCode(), is(not(equalTo(matchVlanPcp2.hashCode())))); | ||
| 402 | } | 330 | } |
| 403 | 331 | ||
| 404 | // IpProtocolCriterion class | 332 | // IpProtocolCriterion class |
| ... | @@ -421,17 +349,10 @@ public class CriteriaTest { | ... | @@ -421,17 +349,10 @@ public class CriteriaTest { |
| 421 | */ | 349 | */ |
| 422 | @Test | 350 | @Test |
| 423 | public void testIpProtocolCriterionEquals() { | 351 | public void testIpProtocolCriterionEquals() { |
| 424 | - checkEqualsAndToString(matchIpProtocol1, sameAsMatchIpProtocol1, | 352 | + new EqualsTester() |
| 425 | - matchIpProtocol2, Criteria.IPProtocolCriterion.class); | 353 | + .addEqualityGroup(matchIpProtocol1, sameAsMatchIpProtocol1) |
| 426 | - } | 354 | + .addEqualityGroup(matchIpProtocol2) |
| 427 | - | 355 | + .testEquals(); |
| 428 | - /** | ||
| 429 | - * Test the hashCode() method of the IpProtocolCriterion class. | ||
| 430 | - */ | ||
| 431 | - @Test | ||
| 432 | - public void testIpProtocolCriterionHashCode() { | ||
| 433 | - assertThat(matchIpProtocol1.hashCode(), is(equalTo(sameAsMatchIpProtocol1.hashCode()))); | ||
| 434 | - assertThat(matchIpProtocol1.hashCode(), is(not(equalTo(matchIpProtocol2.hashCode())))); | ||
| 435 | } | 356 | } |
| 436 | 357 | ||
| 437 | // IPCriterion class | 358 | // IPCriterion class |
| ... | @@ -467,17 +388,10 @@ public class CriteriaTest { | ... | @@ -467,17 +388,10 @@ public class CriteriaTest { |
| 467 | */ | 388 | */ |
| 468 | @Test | 389 | @Test |
| 469 | public void testIPCriterionEquals() { | 390 | public void testIPCriterionEquals() { |
| 470 | - checkEqualsAndToString(matchIp1, sameAsMatchIp1, matchIp2, | 391 | + new EqualsTester() |
| 471 | - Criteria.IPCriterion.class); | 392 | + .addEqualityGroup(matchIp1, sameAsMatchIp1) |
| 472 | - } | 393 | + .addEqualityGroup(matchIp2) |
| 473 | - | 394 | + .testEquals(); |
| 474 | - /** | ||
| 475 | - * Test the hashCode() method of the IpCriterion class. | ||
| 476 | - */ | ||
| 477 | - @Test | ||
| 478 | - public void testIPCriterionHashCode() { | ||
| 479 | - assertThat(matchIp1.hashCode(), is(equalTo(sameAsMatchIp1.hashCode()))); | ||
| 480 | - assertThat(matchIp1.hashCode(), is(not(equalTo(matchIp2.hashCode())))); | ||
| 481 | } | 395 | } |
| 482 | 396 | ||
| 483 | // LambdaCriterion class | 397 | // LambdaCriterion class |
| ... | @@ -500,17 +414,10 @@ public class CriteriaTest { | ... | @@ -500,17 +414,10 @@ public class CriteriaTest { |
| 500 | */ | 414 | */ |
| 501 | @Test | 415 | @Test |
| 502 | public void testLambdaCriterionEquals() { | 416 | public void testLambdaCriterionEquals() { |
| 503 | - checkEqualsAndToString(matchLambda1, sameAsMatchLambda1, matchLambda2, | 417 | + new EqualsTester() |
| 504 | - Criteria.LambdaCriterion.class); | 418 | + .addEqualityGroup(matchLambda1, sameAsMatchLambda1) |
| 505 | - } | 419 | + .addEqualityGroup(matchLambda2) |
| 506 | - | 420 | + .testEquals(); |
| 507 | - /** | ||
| 508 | - * Test the hashCode() method of the LambdaCriterion class. | ||
| 509 | - */ | ||
| 510 | - @Test | ||
| 511 | - public void testLambdaCriterionHashCode() { | ||
| 512 | - assertThat(matchLambda1.hashCode(), is(equalTo(sameAsMatchLambda1.hashCode()))); | ||
| 513 | - assertThat(matchLambda1.hashCode(), is(not(equalTo(matchLambda2.hashCode())))); | ||
| 514 | } | 421 | } |
| 515 | 422 | ||
| 516 | // OpticalSignalTypeCriterion class | 423 | // OpticalSignalTypeCriterion class |
| ... | @@ -533,18 +440,9 @@ public class CriteriaTest { | ... | @@ -533,18 +440,9 @@ public class CriteriaTest { |
| 533 | */ | 440 | */ |
| 534 | @Test | 441 | @Test |
| 535 | public void testOpticalSignalTypeCriterionEquals() { | 442 | public void testOpticalSignalTypeCriterionEquals() { |
| 536 | - checkEqualsAndToString(matchSignalLambda1, sameAsMatchSignalLambda1, | 443 | + new EqualsTester() |
| 537 | - matchSignalLambda2, | 444 | + .addEqualityGroup(matchSignalLambda1, sameAsMatchSignalLambda1) |
| 538 | - Criteria.OpticalSignalTypeCriterion.class); | 445 | + .addEqualityGroup(matchSignalLambda2) |
| 539 | - } | 446 | + .testEquals(); |
| 540 | - | ||
| 541 | - /** | ||
| 542 | - * Test the hashCode() method of the OpticalSignalTypeCriterion class. | ||
| 543 | - */ | ||
| 544 | - @Test | ||
| 545 | - public void testOpticalSignalTypeCriterionHashCode() { | ||
| 546 | - assertThat(matchSignalLambda1.hashCode(), is(equalTo(sameAsMatchSignalLambda1.hashCode()))); | ||
| 547 | - assertThat(matchSignalLambda1.hashCode(), is(not(equalTo(matchSignalLambda2.hashCode())))); | ||
| 548 | } | 447 | } |
| 549 | - | ||
| 550 | } | 448 | } | ... | ... |
-
Please register or login to post a comment