1 /*
2  * Copyright (C) 2024 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.systemui.screenrecord.data.model
18 
19 import androidx.test.ext.junit.runners.AndroidJUnit4
20 import androidx.test.filters.SmallTest
21 import com.android.systemui.SysuiTestCase
22 import com.android.systemui.screenrecord.data.model.ScreenRecordModel.Starting.Companion.toCountdownSeconds
23 import com.google.common.truth.Truth.assertThat
24 import org.junit.runner.RunWith
25 import kotlin.test.Test
26 
27 @SmallTest
28 @RunWith(AndroidJUnit4::class)
29 class ScreenRecordModelTest : SysuiTestCase() {
30     @Test
countdownSeconds_millis0_is0null31     fun countdownSeconds_millis0_is0() {
32         assertThat(0L.toCountdownSeconds()).isEqualTo(0)
33         assertThat(ScreenRecordModel.Starting(0L).countdownSeconds).isEqualTo(0)
34     }
35 
36     @Test
countdownSeconds_millis500_isOnenull37     fun countdownSeconds_millis500_isOne() {
38         assertThat(500L.toCountdownSeconds()).isEqualTo(1)
39         assertThat(ScreenRecordModel.Starting(500L).countdownSeconds).isEqualTo(1)
40     }
41 
42     @Test
countdownSeconds_millis999_isOnenull43     fun countdownSeconds_millis999_isOne() {
44         assertThat(999L.toCountdownSeconds()).isEqualTo(1)
45         assertThat(ScreenRecordModel.Starting(999L).countdownSeconds).isEqualTo(1)
46     }
47 
48     @Test
countdownSeconds_millis1000_isOnenull49     fun countdownSeconds_millis1000_isOne() {
50         assertThat(1000L.toCountdownSeconds()).isEqualTo(1)
51         assertThat(ScreenRecordModel.Starting(1000L).countdownSeconds).isEqualTo(1)
52     }
53 
54     @Test
countdownSeconds_millis1499_isOnenull55     fun countdownSeconds_millis1499_isOne() {
56         assertThat(1499L.toCountdownSeconds()).isEqualTo(1)
57         assertThat(ScreenRecordModel.Starting(1499L).countdownSeconds).isEqualTo(1)
58     }
59 
60     @Test
countdownSeconds_millis1500_isTwonull61     fun countdownSeconds_millis1500_isTwo() {
62         assertThat(1500L.toCountdownSeconds()).isEqualTo(2)
63         assertThat(ScreenRecordModel.Starting(1500L).countdownSeconds).isEqualTo(2)
64     }
65 
66     @Test
countdownSeconds_millis1999_isTwonull67     fun countdownSeconds_millis1999_isTwo() {
68         assertThat(1599L.toCountdownSeconds()).isEqualTo(2)
69         assertThat(ScreenRecordModel.Starting(1599L).countdownSeconds).isEqualTo(2)
70     }
71 
72     @Test
countdownSeconds_millis2000_isTwonull73     fun countdownSeconds_millis2000_isTwo() {
74         assertThat(2000L.toCountdownSeconds()).isEqualTo(2)
75         assertThat(ScreenRecordModel.Starting(2000L).countdownSeconds).isEqualTo(2)
76     }
77 
78     @Test
countdownSeconds_millis2500_isThreenull79     fun countdownSeconds_millis2500_isThree() {
80         assertThat(2500L.toCountdownSeconds()).isEqualTo(3)
81         assertThat(ScreenRecordModel.Starting(2500L).countdownSeconds).isEqualTo(3)
82     }
83 
84     @Test
countdownSeconds_millis2999_isThreenull85     fun countdownSeconds_millis2999_isThree() {
86         assertThat(2999L.toCountdownSeconds()).isEqualTo(3)
87         assertThat(ScreenRecordModel.Starting(2999L).countdownSeconds).isEqualTo(3)
88     }
89 
90     @Test
countdownSeconds_millis3000_isThreenull91     fun countdownSeconds_millis3000_isThree() {
92         assertThat(3000L.toCountdownSeconds()).isEqualTo(3)
93         assertThat(ScreenRecordModel.Starting(3000L).countdownSeconds).isEqualTo(3)
94     }
95 }
96