jsonconfigmappropertyeditortests.java
来自「java 和flex的整合,主要是spring和flex的整合,不可多得啊」· Java 代码 · 共 166 行
JAVA
166 行
/* * Copyright 2002-2009 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.springframework.flex.config.json;import java.util.ArrayList;import java.util.List;import junit.framework.TestCase;import flex.messaging.config.ConfigMap;public class JsonConfigMapPropertyEditorTests extends TestCase { JsonConfigMapPropertyEditor editor = new JsonConfigMapPropertyEditor(); public void testArrayProperty() { String props = "{ \"foo\" : [ \"bar\", \"baz\", \"boo\" ] }"; this.editor.setValue(null); this.editor.setAsText(props); ConfigMap result = (ConfigMap) this.editor.getValue(); assertNotNull(result); List<String> expected = new ArrayList<String>(); expected.add("bar"); expected.add("baz"); expected.add("boo"); assertEquals(expected, result.getPropertyAsList("foo", null)); } public void testBooleanProperty() { String props = "{\"foo\": true}"; this.editor.setValue(null); this.editor.setAsText(props); ConfigMap result = (ConfigMap) this.editor.getValue(); assertNotNull(result); assertEquals(true, result.getPropertyAsBoolean("foo", false)); } public void testComplexElement() { String props = "{ \"foo\" : { \"bar\" : \"baz\" } }"; this.editor.setValue(null); this.editor.setAsText(props); ConfigMap result = (ConfigMap) this.editor.getValue(); assertNotNull(result); ConfigMap foo = result.getPropertyAsMap("foo", null); assertNotNull(foo); assertEquals("baz", foo.getProperty("bar")); } public void testComplexNestedElements() { String props = "{ \"network\" : { \"throttle-inbound\" : { \"policy\" : \"ERROR\", \"max-frequency\" : 50 }, " + "\"throttle-outbound\" : { \"policy\" : \"ERROR\", \"max-frequency\" : 500 } } }"; this.editor.setValue(null); this.editor.setAsText(props); ConfigMap result = (ConfigMap) this.editor.getValue(); assertNotNull(result); ConfigMap network = result.getPropertyAsMap("network", null); assertNotNull(network); ConfigMap throttleInbound = network.getPropertyAsMap("throttle-inbound", null); assertNotNull(throttleInbound); assertEquals("ERROR", throttleInbound.getProperty("policy")); assertEquals(50, throttleInbound.getPropertyAsInt("max-frequency", -1)); ConfigMap throttleOutbound = network.getPropertyAsMap("throttle-outbound", null); assertNotNull(throttleOutbound); assertEquals("ERROR", throttleOutbound.getProperty("policy")); assertEquals(500, throttleOutbound.getPropertyAsInt("max-frequency", -1)); } public void testInvalidJson() { String props = "foo : bar"; this.editor.setValue(null); try { this.editor.setAsText(props); fail("IllegalArgumentException expected"); } catch (IllegalArgumentException ex) { // Expected } } public void testInvalidObjectStructure() { String props = "\"foo\" : \"bar\""; this.editor.setValue(null); try { this.editor.setAsText(props); fail("IllegalArgumentException expected"); } catch (IllegalArgumentException ex) { // Expected } } public void testMissingPropertyName() { String props = "{{\"foo\" : \"bar\"}}"; this.editor.setValue(null); try { this.editor.setAsText(props); fail("IllegalArgumentException expected"); } catch (IllegalArgumentException ex) { // Expected } } public void testNumericProperty() { String props = "{\"foo\" : 100}"; this.editor.setValue(null); this.editor.setAsText(props); ConfigMap result = (ConfigMap) this.editor.getValue(); assertNotNull(result); assertEquals(100, result.getPropertyAsInt("foo", -1)); } public void testSimpleProperty() { String props = "{\"foo\":\"bar\"}"; this.editor.setValue(null); this.editor.setAsText(props); ConfigMap result = (ConfigMap) this.editor.getValue(); assertNotNull(result); assertEquals("bar", result.getProperty("foo")); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?