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.tests.java.util.prefs; 18 19import java.io.NotSerializableException; 20import java.util.prefs.PreferenceChangeEvent; 21import java.util.prefs.Preferences; 22import junit.framework.TestCase; 23import org.apache.harmony.testframework.serialization.SerializationTest; 24 25/** 26 * 27 */ 28public class PreferenceChangeEventTest extends TestCase { 29 30 PreferenceChangeEvent event; 31 32 public void testPreferenceChangeEventException() { 33 try { 34 event = new PreferenceChangeEvent(null, "key", "value"); 35 fail(); 36 } catch (IllegalArgumentException e) { 37 } 38 } 39 40 public void testConstructorNullValue() { 41 event = new PreferenceChangeEvent(Preferences.userRoot(), "key", null); 42 assertEquals("key", event.getKey()); 43 assertNull(event.getNewValue()); 44 assertSame(Preferences.userRoot(), event.getNode()); 45 assertSame(Preferences.userRoot(), event.getSource()); 46 47 event = new PreferenceChangeEvent(Preferences.userRoot(), "", null); 48 assertEquals("", event.getKey()); 49 assertNull(event.getNewValue()); 50 assertSame(Preferences.userRoot(), event.getNode()); 51 assertSame(Preferences.userRoot(), event.getSource()); 52 53 event = new PreferenceChangeEvent(Preferences.userRoot(), null, "value"); 54 assertNull(event.getKey()); 55 assertEquals("value", event.getNewValue()); 56 assertSame(Preferences.userRoot(), event.getNode()); 57 assertSame(Preferences.userRoot(), event.getSource()); 58 59 event = new PreferenceChangeEvent(Preferences.userRoot(), null, ""); 60 assertNull(event.getKey()); 61 assertEquals("", event.getNewValue()); 62 assertSame(Preferences.userRoot(), event.getNode()); 63 assertSame(Preferences.userRoot(), event.getSource()); 64 } 65 66 public void testConstructor() { 67 event = new PreferenceChangeEvent(Preferences.userRoot(), "key", 68 "value"); 69 assertEquals("key", event.getKey()); 70 assertEquals("value", event.getNewValue()); 71 assertSame(Preferences.userRoot(), event.getNode()); 72 assertSame(Preferences.userRoot(), event.getSource()); 73 } 74 75 public void testSerialization() throws Exception { 76 event = new PreferenceChangeEvent(Preferences.userRoot(), "key", 77 "value"); 78 try { 79 SerializationTest.copySerializable(event); 80 fail("No expected NotSerializableException"); 81 } catch (NotSerializableException e) { 82 } 83 } 84} 85