ClassNotFoundExceptionTest.java revision cc05ad238516f1303687aba4a978e24e57c0c07a
1/*
2 *  Licensed to the Apache Software Foundation (ASF) under one or more
3 *  contributor license agreements.  See the NOTICE file distributed with
4 *  this work for additional information regarding copyright ownership.
5 *  The ASF licenses this file to You under the Apache License, Version 2.0
6 *  (the "License"); you may not use this file except in compliance with
7 *  the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *  Unless required by applicable law or agreed to in writing, software
12 *  distributed under the License is distributed on an "AS IS" BASIS,
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *  See the License for the specific language governing permissions and
15 *  limitations under the License.
16 */
17
18package org.apache.harmony.luni.tests.java.lang;
19
20import dalvik.annotation.TestTargets;
21import dalvik.annotation.TestLevel;
22import dalvik.annotation.TestTargetNew;
23import dalvik.annotation.TestTargetClass;
24
25import junit.framework.TestCase;
26
27@TestTargetClass(ClassNotFoundException.class)
28public class ClassNotFoundExceptionTest extends TestCase {
29
30    /**
31     * @tests java.lang.ClassNotFoundException#ClassNotFoundException()
32     */
33    @TestTargetNew(
34        level = TestLevel.COMPLETE,
35        notes = "",
36        method = "ClassNotFoundException",
37        args = {}
38    )
39    public void test_Constructor() {
40        ClassNotFoundException e = new ClassNotFoundException();
41        assertNull(e.getMessage());
42        assertNull(e.getLocalizedMessage());
43        assertNull(e.getCause());
44    }
45
46    /**
47     * @tests java.lang.ClassNotFoundException#ClassNotFoundException(java.lang.String)
48     */
49    @TestTargetNew(
50        level = TestLevel.COMPLETE,
51        notes = "",
52        method = "ClassNotFoundException",
53        args = {java.lang.String.class}
54    )
55    public void test_ConstructorLjava_lang_String() {
56        ClassNotFoundException e = new ClassNotFoundException("fixture");
57        assertEquals("fixture", e.getMessage());
58        assertNull(e.getCause());
59    }
60
61    @TestTargetNew(
62        level = TestLevel.COMPLETE,
63        notes = "",
64        method = "ClassNotFoundException",
65        args = {java.lang.String.class, java.lang.Throwable.class}
66    )
67    public void test_ConstructorLjava_lang_StringLjava_lang_Throwable() {
68        String testMessage = "Test Message";
69        Throwable thr = new Throwable();
70        ClassNotFoundException cnfe = new ClassNotFoundException(testMessage, thr);
71        assertEquals(testMessage, cnfe.getMessage());
72        assertEquals(thr, cnfe.getException());
73
74        cnfe = new ClassNotFoundException(null, thr);
75        assertNull(cnfe.getMessage());
76        assertEquals(thr, cnfe.getException());
77
78        cnfe = new ClassNotFoundException(testMessage, null);
79        assertNull(cnfe.getException());
80        assertEquals(testMessage, cnfe.getMessage());
81
82        cnfe = new ClassNotFoundException(null, null);
83        assertNull(cnfe.getMessage());
84        assertNull(cnfe.getException());
85    }
86
87    @TestTargetNew(
88        level = TestLevel.COMPLETE,
89        notes = "",
90        method = "getCause",
91        args = {}
92    )
93    public void test_getCause() {
94        ClassNotFoundException e = new ClassNotFoundException();
95        assertNull(e.getCause());
96
97        e = new ClassNotFoundException("Message");
98        assertNull(e.getCause());
99
100        NullPointerException cause = new NullPointerException();
101        Throwable thr = new Throwable(cause);
102        e = new ClassNotFoundException("Message", thr);
103        assertEquals(thr, e.getCause());
104
105        e = new ClassNotFoundException("Message", null);
106        assertEquals(null, e.getCause());
107    }
108
109    @TestTargetNew(
110        level = TestLevel.COMPLETE,
111        notes = "",
112        method = "getException",
113        args = {}
114    )
115    public void test_getException() {
116        ClassNotFoundException e = new ClassNotFoundException();
117        assertNull(e.getException());
118
119        e = new ClassNotFoundException("Message");
120        assertNull(e.getException());
121
122        NullPointerException cause = new NullPointerException();
123        Throwable thr = new Throwable(cause);
124        e = new ClassNotFoundException("Message", thr);
125        assertEquals(thr, e.getException());
126
127        e = new ClassNotFoundException("Message", null);
128        assertEquals(null, e.getException());
129    }
130}
131