1a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath/* Licensed to the Apache Software Foundation (ASF) under one or more
2a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * contributor license agreements.  See the NOTICE file distributed with
3a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * this work for additional information regarding copyright ownership.
4a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * The ASF licenses this file to You under the Apache License, Version 2.0
5a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * (the "License"); you may not use this file except in compliance with
6a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * the License.  You may obtain a copy of the License at
7a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath *
8a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath *     http://www.apache.org/licenses/LICENSE-2.0
9a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath *
10a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * Unless required by applicable law or agreed to in writing, software
11a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * distributed under the License is distributed on an "AS IS" BASIS,
12a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * See the License for the specific language governing permissions and
14a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath * limitations under the License.
15a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath */
16a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
17a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamathpackage org.apache.harmony.tests.java.util.prefs;
18a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
19a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamathimport java.util.prefs.InvalidPreferencesFormatException;
20a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamathimport junit.framework.TestCase;
21a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamathimport org.apache.harmony.testframework.serialization.SerializationTest;
22a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
23a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath/**
24a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath *
25a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath */
26a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamathpublic class InvalidPreferencesFormatExceptionTest extends TestCase {
27a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
28a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    /*
29a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     * Class under test for void InvalidPreferencesFormatException(String)
30a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     */
31a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    public void testInvalidPreferencesFormatExceptionString() {
32a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        InvalidPreferencesFormatException e = new InvalidPreferencesFormatException(
33a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath                "msg");
34a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertNull(e.getCause());
35a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertEquals("msg", e.getMessage());
36a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    }
37a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
38a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    /*
39a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     * Class under test for void InvalidPreferencesFormatException(String,
40a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     * Throwable)
41a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     */
42a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    public void testInvalidPreferencesFormatExceptionStringThrowable() {
43a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        Throwable t = new Throwable("root");
44a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        InvalidPreferencesFormatException e = new InvalidPreferencesFormatException(
45a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath                "msg", t);
46a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertSame(t, e.getCause());
47a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertTrue(e.getMessage().indexOf("root") < 0);
48a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertTrue(e.getMessage().indexOf(t.getClass().getName()) < 0);
49a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertTrue(e.getMessage().indexOf("msg") >= 0);
50a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    }
51a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
52a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    /*
53a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     * Class under test for void InvalidPreferencesFormatException(Throwable)
54a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     */
55a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    public void testInvalidPreferencesFormatExceptionThrowable() {
56a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        Throwable t = new Throwable("root");
57a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        InvalidPreferencesFormatException e = new InvalidPreferencesFormatException(
58a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath                t);
59a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertSame(t, e.getCause());
60a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertTrue(e.getMessage().indexOf("root") >= 0);
61a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        assertTrue(e.getMessage().indexOf(t.getClass().getName()) >= 0);
62a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    }
63a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
64a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    /**
65a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     * @tests serialization/deserialization.
66a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     */
67a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    public void testSerializationSelf() throws Exception {
68a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
69a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        SerializationTest.verifySelf(new InvalidPreferencesFormatException(
70a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath                "msg"));
71a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    }
72a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
73a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    /**
74a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     * @tests serialization/deserialization compatibility with RI.
75a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath     */
76a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    public void testSerializationCompatibility() throws Exception {
77a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath
78a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath        SerializationTest.verifyGolden(this,
79a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath                new InvalidPreferencesFormatException("msg"));
80a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath    }
81a152f62d4d81ef6500b3e02dbc381e2414f9a11fNarayan Kamath}
82