1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. 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 17package org.apache.harmony.prefs.tests.java.util.prefs; 18 19import java.io.NotSerializableException; 20import java.util.prefs.PreferenceChangeEvent; 21import java.util.prefs.Preferences; 22 23import junit.framework.TestCase; 24 25import org.apache.harmony.testframework.serialization.SerializationTest; 26 27/** 28 * 29 */ 30public class PreferenceChangeEventTest extends TestCase { 31 32 PreferenceChangeEvent event; 33 34 public void testPreferenceChangeEventException() { 35 try { 36 event = new PreferenceChangeEvent(null, "key", "value"); 37 fail(); 38 } catch (IllegalArgumentException e) { 39 } 40 } 41 42 public void testConstructorNullValue() { 43 event = new PreferenceChangeEvent(Preferences.userRoot(), "key", null); 44 assertEquals("key", event.getKey()); 45 assertNull(event.getNewValue()); 46 assertSame(Preferences.userRoot(), event.getNode()); 47 assertSame(Preferences.userRoot(), event.getSource()); 48 49 event = new PreferenceChangeEvent(Preferences.userRoot(), "", null); 50 assertEquals("", event.getKey()); 51 assertNull(event.getNewValue()); 52 assertSame(Preferences.userRoot(), event.getNode()); 53 assertSame(Preferences.userRoot(), event.getSource()); 54 55 event = new PreferenceChangeEvent(Preferences.userRoot(), null, "value"); 56 assertNull(event.getKey()); 57 assertEquals("value", event.getNewValue()); 58 assertSame(Preferences.userRoot(), event.getNode()); 59 assertSame(Preferences.userRoot(), event.getSource()); 60 61 event = new PreferenceChangeEvent(Preferences.userRoot(), null, ""); 62 assertNull(event.getKey()); 63 assertEquals("", event.getNewValue()); 64 assertSame(Preferences.userRoot(), event.getNode()); 65 assertSame(Preferences.userRoot(), event.getSource()); 66 } 67 68 public void testConstructor() { 69 event = new PreferenceChangeEvent(Preferences.userRoot(), "key", 70 "value"); 71 assertEquals("key", event.getKey()); 72 assertEquals("value", event.getNewValue()); 73 assertSame(Preferences.userRoot(), event.getNode()); 74 assertSame(Preferences.userRoot(), event.getSource()); 75 } 76 77 public void testSerialization() throws Exception { 78 event = new PreferenceChangeEvent(Preferences.userRoot(), "key", 79 "value"); 80 try { 81 SerializationTest.copySerializable(event); 82 fail("No expected NotSerializableException"); 83 } catch (NotSerializableException e) { 84 } 85 } 86} 87