1cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath/* Licensed to the Apache Software Foundation (ASF) under one or more 2cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * contributor license agreements. See the NOTICE file distributed with 3cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * this work for additional information regarding copyright ownership. 4cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * The ASF licenses this file to You under the Apache License, Version 2.0 5cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * (the "License"); you may not use this file except in compliance with 6cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * the License. You may obtain a copy of the License at 7cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * 8cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * http://www.apache.org/licenses/LICENSE-2.0 9cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * 10cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * Unless required by applicable law or agreed to in writing, software 11cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * distributed under the License is distributed on an "AS IS" BASIS, 12cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * See the License for the specific language governing permissions and 14cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * limitations under the License. 15cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 16cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 17ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.util; 18cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 19cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.Serializable; 20cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.IllegalFormatFlagsException; 21cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 22cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport junit.framework.TestCase; 23cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 24cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport org.apache.harmony.testframework.serialization.SerializationTest; 25cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert; 26cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 27cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathpublic class IllegalFormatFlagsExceptionTest extends TestCase { 28cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 29cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 30cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.IllegalFormatFlagsException#IllegalFormatFlagsException(String) 31cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 32cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_illegalFormatFlagsException() { 33cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 34cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath new IllegalFormatFlagsException(null); 35cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 36cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 37cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 38cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 39cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 40cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 41cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 42cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.IllegalFormatFlagsException.getFlags() 43cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 44cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_getFlags() { 45cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String flags = "TESTFLAGS"; 46cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath IllegalFormatFlagsException illegalFormatFlagsException = new IllegalFormatFlagsException( 47cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath flags); 48cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(flags, illegalFormatFlagsException.getFlags()); 49cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 50cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 51cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 52cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.IllegalFormatFlagsException.getMessage() 53cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 54cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_getMessage() { 55cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String flags = "TESTFLAGS"; 56cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath IllegalFormatFlagsException illegalFormatFlagsException = new IllegalFormatFlagsException( 57cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath flags); 58cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(null != illegalFormatFlagsException.getMessage()); 59cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 60cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 61cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 62cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // comparator for IllegalFormatFlagsException objects 63cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath private static final SerializableAssert exComparator = new SerializableAssert() { 64cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void assertDeserialized(Serializable initial, 65cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Serializable deserialized) { 66cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 67cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SerializationTest.THROWABLE_COMPARATOR.assertDeserialized(initial, 68cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath deserialized); 69cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 70cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath IllegalFormatFlagsException initEx = (IllegalFormatFlagsException) initial; 71cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath IllegalFormatFlagsException desrEx = (IllegalFormatFlagsException) deserialized; 72cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 73cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("Flags", initEx.getFlags(), desrEx.getFlags()); 74cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 75cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath }; 76cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 77cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 78cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * serialization/deserialization. 79cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 80cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void testSerializationSelf() throws Exception { 81cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 82cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SerializationTest.verifySelf(new IllegalFormatFlagsException( 83cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath "TESTFLAGS"), exComparator); 84cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 85cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 86cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 87cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * serialization/deserialization compatibility with RI. 88cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 89cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void testSerializationCompatibility() throws Exception { 90cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 91cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SerializationTest.verifyGolden(this, new IllegalFormatFlagsException( 92cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath "TESTFLAGS"), exComparator); 93cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 94cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath} 95