@Test public void testRecognizedSystemProperties() throws Exception { EnginePreferences test = new EnginePreferences("test2"); String KEY = "test2.key"; // Recognized key, because it starts with "test2." try { assertNull(System.getProperty(KEY)); test.put(KEY, "B"); assertEquals(null, System.getProperty(KEY)); assertEquals("B", test.get(KEY, null)); assertEquals("B", test.get(KEY, "A")); assertEquals("B", test.getProperties().getProperty(KEY)); System.setProperty(KEY, "C"); assertEquals("C", System.getProperty(KEY)); assertEquals("C", test.get(KEY, null)); // System property has higher precedence assertEquals("C", test.get(KEY, "A")); // System property has higher precedence assertEquals("B", test.getProperties().getProperty(KEY)); test.put(KEY, "D"); // System property will change as well assertEquals("D", System.getProperty(KEY)); // System property changed!!! assertEquals("D", test.get(KEY, null)); assertEquals("D", test.get(KEY, "A")); assertEquals("D", test.getProperties().getProperty(KEY)); } finally { System.clearProperty(KEY); } }
@Test public void testIgnoredSystemProperties() throws Exception { EnginePreferences test = new EnginePreferences("test3"); String KEY = "org.esa.snap.test3.key"; // Ignored key, because it does not start with "test3." try { assertNull(System.getProperty(KEY)); assertEquals(null, System.getProperty(KEY)); assertEquals(null, test.get(KEY, null)); assertEquals("A", test.get(KEY, "A")); assertEquals(null, test.getProperties().getProperty(KEY)); System.setProperty(KEY, "E"); assertEquals("E", System.getProperty(KEY)); // System property NOT changed!!! assertEquals(null, test.get(KEY, null)); assertEquals("A", test.get(KEY, "A")); assertEquals(null, test.getProperties().getProperty(KEY)); } finally { System.clearProperty(KEY); } }
@Test public void testGetPutRemove() throws Exception { EnginePreferences test = new EnginePreferences("test"); String KEY = "test.key"; assertEquals(null, test.get(KEY, null)); assertEquals("A", test.get(KEY, "A")); assertEquals(null, test.getProperties().getProperty(KEY)); test.put(KEY, "B"); assertEquals("B", test.get(KEY, null)); assertEquals("B", test.get(KEY, "A")); assertEquals("B", test.getProperties().getProperty(KEY)); test.remove(KEY); assertEquals(null, test.get(KEY, null)); assertEquals("A", test.get(KEY, "A")); assertEquals(null, test.getProperties().getProperty(KEY)); }