1 /*
2  * Copyright (C) 2021 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  */
16 
17 import android.net.ParseException
18 import android.os.Build
19 import androidx.test.ext.junit.runners.AndroidJUnit4
20 import androidx.test.filters.SmallTest
21 import com.android.testutils.DevSdkIgnoreRule
22 import junit.framework.Assert.assertEquals
23 import junit.framework.Assert.assertNull
24 import org.junit.Rule
25 import org.junit.Test
26 import org.junit.runner.RunWith
27 
28 @SmallTest
29 @RunWith(AndroidJUnit4::class)
30 class ParseExceptionTest {
31     @get:Rule
32     val ignoreRule = DevSdkIgnoreRule(ignoreClassUpTo = Build.VERSION_CODES.R)
33 
34     @Test
35     fun testConstructor_WithCause() {
36         val testMessage = "Test message"
37         val base = Exception("Test")
38         val exception = ParseException(testMessage, base)
39 
40         assertEquals(testMessage, exception.response)
41         assertEquals(base, exception.cause)
42     }
43 
44     @Test
45     fun testConstructor_NoCause() {
46         val testMessage = "Test message"
47         val exception = ParseException(testMessage)
48 
49         assertEquals(testMessage, exception.response)
50         assertNull(exception.cause)
51     }
52 }