blob: 52e8f37f0b6cbca590ef71647bc9abe3b25dda9d [file] [log] [blame]
Makoto Onuki6f7362d92016-03-04 13:39:41 -08001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.server.testutis;
17
18import android.test.MoreAsserts;
19
20import junit.framework.Assert;
21
22public class TestUtils {
23 private TestUtils() {
24 }
25
26 public static void assertExpectException(Class<? extends Throwable> expectedExceptionType,
27 Runnable r) {
28 assertExpectException(expectedExceptionType, null, r);
29 }
30
31 public static void assertExpectException(Class<? extends Throwable> expectedExceptionType,
32 String expectedExceptionMessageRegex, Runnable r) {
33 try {
34 r.run();
35 Assert.fail("Expected exception type " + expectedExceptionType.getClass().getName()
36 + " was not thrown");
37 } catch (Throwable e) {
38 Assert.assertTrue(
39 "Expected exception type was " + expectedExceptionType.getClass().getName()
40 + " but caught " + e.getClass().getName(),
41 expectedExceptionType.isAssignableFrom(e.getClass()));
42 if (expectedExceptionMessageRegex != null) {
43 MoreAsserts.assertContainsRegex(expectedExceptionMessageRegex, e.getMessage());
44 }
45 }
46 }
47}