1e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin/*
2e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * Copyright (C) 2013 The Android Open Source Project
3e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin *
4e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * Licensed under the Apache License, Version 2.0 (the "License");
5e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * you may not use this file except in compliance with the License.
6e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * You may obtain a copy of the License at
7e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin *
8e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin *      http://www.apache.org/licenses/LICENSE-2.0
9e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin *
10e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * Unless required by applicable law or agreed to in writing, software
11e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * distributed under the License is distributed on an "AS IS" BASIS,
12e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * See the License for the specific language governing permissions and
14e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin * limitations under the License.
15e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin */
16e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin
17e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkinpackage com.android.mediaframeworktest.unit;
18e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin
192f1a2e423e0fbb64467d6fcfa4e82c6384f31210Eino-Ville Talvalaimport android.hardware.camera2.CameraAccessException;
202f1a2e423e0fbb64467d6fcfa4e82c6384f31210Eino-Ville Talvalaimport android.hardware.camera2.utils.UncheckedThrow;
21e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkinimport android.test.suitebuilder.annotation.SmallTest;
22e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin
23e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkinimport junit.framework.Assert;
24e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin
25e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkinpublic class CameraUtilsUncheckedThrowTest extends junit.framework.TestCase {
26e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin
27e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin    private void fakeNeverThrowsCameraAccess() throws CameraAccessException {
28e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin    }
29e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin
30e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin    @SmallTest
31e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin    public void testUncheckedThrow() {
32e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin        try {
33e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin            UncheckedThrow.throwAnyException(new CameraAccessException(
34e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin                    CameraAccessException.CAMERA_DISCONNECTED));
35e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin            Assert.fail("unreachable");
36e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin            fakeNeverThrowsCameraAccess();
37e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin        } catch (CameraAccessException e) {
38e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin        }
39e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin    }
40e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin}
41