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.deskclock.uidata;
18 
19 import android.content.Context;
20 
21 import androidx.test.InstrumentationRegistry;
22 import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner;
23 
24 import org.junit.After;
25 import org.junit.Before;
26 import org.junit.Test;
27 import org.junit.runner.RunWith;
28 
29 import static org.junit.Assert.assertEquals;
30 
31 @RunWith(AndroidJUnit4ClassRunner.class)
32 public class FormattedStringModelTest {
33 
34     private FormattedStringModel model;
35 
36     @Before
setUp()37     public void setUp() {
38         Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
39         model = new FormattedStringModel(context);
40     }
41 
42     @After
tearDown()43     public void tearDown() {
44         model = null;
45     }
46 
47     @Test
positiveFormattedNumberWithNoPadding()48     public void positiveFormattedNumberWithNoPadding() {
49         assertEquals("0", model.getFormattedNumber(0));
50         assertEquals("9", model.getFormattedNumber(9));
51         assertEquals("10", model.getFormattedNumber(10));
52         assertEquals("99", model.getFormattedNumber(99));
53         assertEquals("100", model.getFormattedNumber(100));
54     }
55 
56     @Test
positiveFormattedNumber()57     public void positiveFormattedNumber() {
58         assertEquals("0", model.getFormattedNumber(false, 0, 1));
59         assertEquals("00", model.getFormattedNumber(false, 0, 2));
60         assertEquals("000", model.getFormattedNumber(false, 0, 3));
61 
62         assertEquals("9", model.getFormattedNumber(false, 9, 1));
63         assertEquals("09", model.getFormattedNumber(false, 9, 2));
64         assertEquals("009", model.getFormattedNumber(false, 9, 3));
65 
66         assertEquals("90", model.getFormattedNumber(false, 90, 2));
67         assertEquals("090", model.getFormattedNumber(false, 90, 3));
68 
69         assertEquals("999", model.getFormattedNumber(false, 999, 3));
70     }
71 
72     @Test
negativeFormattedNumber()73     public void negativeFormattedNumber() {
74         assertEquals("−0", model.getFormattedNumber(true, 0, 1));
75         assertEquals("−00", model.getFormattedNumber(true, 0, 2));
76         assertEquals("−000", model.getFormattedNumber(true, 0, 3));
77 
78         assertEquals("−9", model.getFormattedNumber(true, 9, 1));
79         assertEquals("−09", model.getFormattedNumber(true, 9, 2));
80         assertEquals("−009", model.getFormattedNumber(true, 9, 3));
81 
82         assertEquals("−90", model.getFormattedNumber(true, 90, 2));
83         assertEquals("−090", model.getFormattedNumber(true, 90, 3));
84 
85         assertEquals("−999", model.getFormattedNumber(true, 999, 3));
86     }
87 }
88