1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * you may not use this file except in compliance with the License.
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * You may obtain a copy of the License at
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License.
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
17789c3a2e66efcf45c5b1c3cfd457dda7ce4f4ad8Jesse Wilsonpackage libcore.java.util;
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase;
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Formattable;
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Formatter;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
24789c3a2e66efcf45c5b1c3cfd457dda7ce4f4ad8Jesse Wilsonpublic class OldFormattableTest extends TestCase {
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    class Mock_Formattable implements Formattable {
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        boolean flag = false;
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        public void formatTo(Formatter arg0, int arg1, int arg2, int arg3) {
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            StringBuilder sb = new StringBuilder();
31f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            if (arg3 == 1) {
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                sb.append("single precision ");
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            if (arg3 == 2) {
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                sb.append("double precision ");
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            arg0.format(sb.toString());
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            flag = true;
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
42f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        public boolean isFormatToCalled() {
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            return flag;
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
47f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testFormatTo() {
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Formatter fmt = new Formatter();
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Mock_Formattable mf = new Mock_Formattable();
51f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue(fmt.format("%1.1s", mf).toString().equals("single precision "));
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue(fmt.format("%2.1s", mf).toString().equals("single precision single precision "));
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue(fmt.format("%2.2s", mf).toString().equals("single precision single precision double precision "));
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue(mf.isFormatToCalled());
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
59