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.CameraRuntimeException; 212f1a2e423e0fbb64467d6fcfa4e82c6384f31210Eino-Ville Talvalaimport android.hardware.camera2.utils.UncheckedThrow; 22e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkinimport android.test.suitebuilder.annotation.SmallTest; 23e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin 24e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkinimport junit.framework.Assert; 25e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin 26e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkinpublic class CameraUtilsRuntimeExceptionTest extends junit.framework.TestCase { 27e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin 28e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin @SmallTest 29e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin public void testCameraRuntimeException1() { 30e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin try { 31e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin CameraRuntimeException runtimeExc = new CameraRuntimeException(12345); 32e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin throw runtimeExc.asChecked(); 33e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } catch (CameraAccessException e) { 34e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertEquals(12345, e.getReason()); 35e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertNull(e.getMessage()); 36e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertNull(e.getCause()); 37e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } 38e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } 39e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin 40e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin @SmallTest 41e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin public void testCameraRuntimeException2() { 42e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin try { 43e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin CameraRuntimeException runtimeExc = new CameraRuntimeException(12345, "Hello"); 44e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin throw runtimeExc.asChecked(); 45e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } catch (CameraAccessException e) { 46e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertEquals(12345, e.getReason()); 47e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertEquals("Hello", e.getMessage()); 48e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertNull(e.getCause()); 49e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } 50e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } 51e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin 52e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin @SmallTest 53e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin public void testCameraRuntimeException3() { 54e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin Throwable cause = new IllegalStateException("For great justice"); 55e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin try { 56e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin CameraRuntimeException runtimeExc = new CameraRuntimeException(12345, cause); 57e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin throw runtimeExc.asChecked(); 58e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } catch (CameraAccessException e) { 59e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertEquals(12345, e.getReason()); 60e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertNull(e.getMessage()); 61e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertEquals(cause, e.getCause()); 62e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } 63e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } 64e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin 65e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin @SmallTest 66e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin public void testCameraRuntimeException4() { 67e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin Throwable cause = new IllegalStateException("For great justice"); 68e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin try { 69e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin CameraRuntimeException runtimeExc = new CameraRuntimeException(12345, "Hello", cause); 70e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin throw runtimeExc.asChecked(); 71e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } catch (CameraAccessException e) { 72e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertEquals(12345, e.getReason()); 73e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertEquals("Hello", e.getMessage()); 74e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin assertEquals(cause, e.getCause()); 75e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } 76e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin } 77e363fbb2647aeb5ef4c87160d84c6b9ae8d45598Igor Murashkin} 78