1a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson/*
2a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * Licensed to the Apache Software Foundation (ASF) under one or more
3a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * contributor license agreements.  See the NOTICE file distributed with
4a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * this work for additional information regarding copyright ownership.
5a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0
6a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * (the "License"); you may not use this file except in compliance with
7a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * the License.  You may obtain a copy of the License at
8a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson *
9a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson *     http://www.apache.org/licenses/LICENSE-2.0
10a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson *
11a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * Unless required by applicable law or agreed to in writing, software
12a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
13a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * See the License for the specific language governing permissions and
15a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson * limitations under the License.
16a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson */
17a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
18a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonpackage libcore.java.text;
19a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
20a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.text.AttributedCharacterIterator;
21a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.text.FieldPosition;
22a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.text.Format;
23a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.text.ParseException;
24a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport java.text.ParsePosition;
25a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonimport junit.framework.TestCase;
26a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
27a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
28a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilsonpublic class OldFormatTest extends TestCase {
29a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    private class MockFormat extends Format {
30a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
31a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        public StringBuffer format(Object obj, StringBuffer toAppendTo,
32a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson                FieldPosition pos) {
33a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            // it is a fake
34a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            if (obj == null)
35a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson                throw new NullPointerException("obj is null");
36a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            return new StringBuffer("");
37a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        }
38a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
39a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        public Object parseObject(String source, ParsePosition pos) {
40a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            // it is a fake
41a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            return null;
42a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        }
43a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    }
44a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
45a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    public void test_Constructor() {
46a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        new MockFormat();
47a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    }
48a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
49a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    /**
50229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom     * java.text.Format#clone() Test of method java.text.Format#clone().
51a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson     *        Compare of internal variables of cloned objects.
52a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson     */
53a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    public void test_clone() {
54a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        // Compare of internal variables of cloned objects
55a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        Format fm = new MockFormat();
56a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        Format fmc = (Format) fm.clone();
57a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        assertEquals(fm.getClass(), fmc.getClass());
58a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    }
59a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
60a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    public void test_formatLjava_lang_Object() {
61a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        MockFormat mf = new MockFormat();
62a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        assertEquals("", mf.format(""));
63a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        assertTrue("It calls an abstract metod format", true);
64a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    }
65a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
66a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    public void test_formatToCharacterIteratorLjava_lang_Object() {
67a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        MockFormat mf = new MockFormat();
68a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        AttributedCharacterIterator aci = mf.formatToCharacterIterator("Test 123 Test");
69a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
70a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        assertEquals(0, aci.getBeginIndex());
71a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
72a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        try {
73a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            mf.formatToCharacterIterator(null);
74a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            fail("NullPointerException was not thrown.");
75a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        } catch(NullPointerException npe) {
76a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            //expected
77a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        }
78a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
79a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        try {
80a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            mf.formatToCharacterIterator("");
81a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        } catch(IllegalArgumentException  iae) {
82a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            //expected
83a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        }
84a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    }
85a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson
86a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    public void test_parseObjectLjava_lang_String() {
87a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        MockFormat mf = new MockFormat();
88a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        try {
89a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            assertNull(mf.parseObject(""));
90a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            fail("ParseException was not thrown.");
91a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        } catch (ParseException e) {
92a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson            //expected
93a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson        }
94a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson    }
95a055b2a5d62f7e8f879d2704edb261d43c3ac46cJesse Wilson}
96