From ee70adfa3010dbde69e2fffda8527d81a6429e96 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Wed, 3 Oct 2018 12:09:28 -0400 Subject: Support Throwables in expectException() Also fixed some bugs in the junit tests. Renamed expectException() to assertThrows(). Added test cases. Change-Id: I13dff0007e35c2d2521a4ca40bb65e6820416ed1 Issue-ID: POLICY-1148 Signed-off-by: Jim Hahn --- .../policy/common/utils/test/PolicyAssertTest.java | 38 ++++++++++++++++------ 1 file changed, 28 insertions(+), 10 deletions(-) (limited to 'utils-test/src/test/java/org/onap/policy/common/utils/test/PolicyAssertTest.java') diff --git a/utils-test/src/test/java/org/onap/policy/common/utils/test/PolicyAssertTest.java b/utils-test/src/test/java/org/onap/policy/common/utils/test/PolicyAssertTest.java index 2831905c..f41d7b3a 100644 --- a/utils-test/src/test/java/org/onap/policy/common/utils/test/PolicyAssertTest.java +++ b/utils-test/src/test/java/org/onap/policy/common/utils/test/PolicyAssertTest.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -22,7 +22,7 @@ package org.onap.policy.common.utils.test; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.onap.policy.common.utils.test.PolicyAssert.assertException; +import static org.onap.policy.common.utils.test.PolicyAssert.assertThrows; import org.junit.Test; @@ -32,36 +32,54 @@ public class PolicyAssertTest { @Test public void test_ExpectedEx() { - assertException(IllegalArgumentException.class, () -> { + // exact type + assertThrows(IllegalArgumentException.class, () -> { throw new IllegalArgumentException(EXPECTED); }); + + // cast to superclass is supported + assertThrows(RuntimeException.class, () -> { + throw new IllegalArgumentException(EXPECTED); + }); + + // supports errors + assertThrows(LinkageError.class, () -> { + throw new LinkageError(EXPECTED); + }); + + // supports any throwable + assertThrows(Throwable.class, () -> { + throw new Throwable(EXPECTED); + }); } @Test public void test_IncorrectEx() { try { - assertException(IllegalStateException.class, () -> { + assertThrows(IllegalStateException.class, () -> { throw new IllegalArgumentException(EXPECTED); }); - fail("incorrect exception type"); - } catch (AssertionError err) { assertTrue(err.getMessage().contains("incorrect exception type")); + return; } + + fail("test failed for incorrect exception type"); } @Test public void test_MissingEx() { try { - assertException(IllegalArgumentException.class, () -> { + assertThrows(IllegalArgumentException.class, () -> { }); - fail("missing exception"); - } catch (AssertionError err) { assertTrue(err.getMessage().contains("missing exception")); + return; } + + fail("test failed for missing exception"); } } -- cgit 1.2.3-korg