1 /* 2 * Copyright (C) 2020 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 package com.android.server.tv; 18 19 import static android.media.tv.TvInputManager.VIDEO_UNAVAILABLE_REASON_BUFFERING; 20 import static android.media.tv.TvInputManager.VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN; 21 import static android.media.tv.TvInputManager.VIDEO_UNAVAILABLE_REASON_TUNING; 22 import static android.media.tv.TvInputManager.VIDEO_UNAVAILABLE_REASON_UNKNOWN; 23 24 import static com.google.common.truth.Truth.assertThat; 25 26 import android.platform.test.annotations.Presubmit; 27 28 import com.android.internal.util.FrameworkStatsLog; 29 30 import org.junit.Test; 31 import org.junit.runner.RunWith; 32 import org.junit.runners.JUnit4; 33 34 35 /** 36 * Tests for {@link TvInputManagerService}. 37 */ 38 @Presubmit 39 @RunWith(JUnit4.class) 40 public class TvInputServiceManagerTest { 41 42 @Test getVideoUnavailableReasonForStatsd_tuning()43 public void getVideoUnavailableReasonForStatsd_tuning() { 44 assertThat(TvInputManagerService.getVideoUnavailableReasonForStatsd( 45 VIDEO_UNAVAILABLE_REASON_TUNING 46 )).isEqualTo( 47 FrameworkStatsLog.TIF_TUNE_STATE_CHANGED__STATE__VIDEO_UNAVAILABLE_REASON_TUNING); 48 } 49 50 @Test getVideoUnavailableReasonForStatsd_unknown()51 public void getVideoUnavailableReasonForStatsd_unknown() { 52 assertThat(TvInputManagerService.getVideoUnavailableReasonForStatsd( 53 VIDEO_UNAVAILABLE_REASON_UNKNOWN 54 )).isEqualTo( 55 FrameworkStatsLog.TIF_TUNE_STATE_CHANGED__STATE__VIDEO_UNAVAILABLE_REASON_UNKNOWN); 56 } 57 58 59 @Test getVideoUnavailableReasonForStatsd_casBuffering()60 public void getVideoUnavailableReasonForStatsd_casBuffering() { 61 assertThat(TvInputManagerService.getVideoUnavailableReasonForStatsd( 62 VIDEO_UNAVAILABLE_REASON_BUFFERING 63 )).isEqualTo( 64 FrameworkStatsLog 65 .TIF_TUNE_STATE_CHANGED__STATE__VIDEO_UNAVAILABLE_REASON_BUFFERING); 66 } 67 68 @Test getVideoUnavailableReasonForStatsd_casUnknown()69 public void getVideoUnavailableReasonForStatsd_casUnknown() { 70 assertThat(TvInputManagerService.getVideoUnavailableReasonForStatsd( 71 VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN 72 )).isEqualTo( 73 FrameworkStatsLog 74 .TIF_TUNE_STATE_CHANGED__STATE__VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN); 75 } 76 77 @Test getVideoUnavailableReasonForStatsd_negative()78 public void getVideoUnavailableReasonForStatsd_negative() { 79 assertThat(TvInputManagerService.getVideoUnavailableReasonForStatsd( 80 -1 81 )).isEqualTo( 82 FrameworkStatsLog.TIF_TUNE_STATE_CHANGED__STATE__VIDEO_UNAVAILABLE_REASON_UNKNOWN); 83 } 84 85 @Test getVideoUnavailableReasonForStatsd_oneBelow()86 public void getVideoUnavailableReasonForStatsd_oneBelow() { 87 assertThat(TvInputManagerService.getVideoUnavailableReasonForStatsd( 88 VIDEO_UNAVAILABLE_REASON_UNKNOWN - 1 89 )).isEqualTo( 90 FrameworkStatsLog.TIF_TUNE_STATE_CHANGED__STATE__VIDEO_UNAVAILABLE_REASON_UNKNOWN); 91 } 92 93 @Test getVideoUnavailableReasonForStatsd_oneAbove()94 public void getVideoUnavailableReasonForStatsd_oneAbove() { 95 assertThat(TvInputManagerService.getVideoUnavailableReasonForStatsd( 96 VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN + 1 97 )).isEqualTo( 98 FrameworkStatsLog.TIF_TUNE_STATE_CHANGED__STATE__VIDEO_UNAVAILABLE_REASON_UNKNOWN); 99 } 100 101 } 102