/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.apache.synapse.util;
import junit.framework.TestCase;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.AXIOMUtil;
import java.util.Map;
public class SimpleMapTest extends TestCase {
public void testConstructionFromXML() throws Exception {
String xml = "<map xmlns=\"http://ws.apache.org/commons/ns/payload\">" +
"<entry name=\"key1\" type=\"int\">525</entry>" +
"<entry name=\"key2\" type=\"char\">d</entry>" +
"<entry name=\"key3\" type=\"double\">23.45</entry>" +
"<entry name=\"key4\" type=\"float\">-3.45</entry>" +
"<entry name=\"key5\" type=\"long\">1234567890</entry>" +
"<entry name=\"key6\" type=\"short\">123</entry>" +
"<entry name=\"key7\" type=\"byte\">a</entry>" +
"<entry name=\"key8\" type=\"string\">hello world</entry>" +
"</map>";
OMElement mapElement = AXIOMUtil.stringToOM(xml);
SimpleMap map = new SimpleMapImpl(mapElement);
assertEquals(525, map.getInt("key1"));
assertEquals('d', map.getChar("key2"));
assertEquals(23.45D, map.getDouble("key3"));
assertEquals(-3.45F, map.getFloat("key4"));
assertEquals(1234567890L, map.getLong("key5"));
assertEquals(123, map.getShort("key6"));
assertEquals("a".getBytes()[0], map.getByte("key7"));
assertEquals("hello world", map.getString("key8"));
map.putString("key1", "test");
assertEquals("test", map.getString("key1"));
}
public void testSerialization() {
SimpleMapImpl map = new SimpleMapImpl();
map.putInt("key1", 123);
map.putDouble("key2", 23.45D);
map.putString("key3", "hello");
map.putByte("key4", "s".getBytes()[0]);
OMElement mapElement = map.getOMElement();
System.out.println(mapElement.toString());
SimpleMap copy = new SimpleMapImpl(mapElement);
assertEquals(map.size(), copy.size());
for (Object entryObj : map.entrySet()) {
Map.Entry entry = (Map.Entry) entryObj;
assertTrue(copy.containsKey(entry.getKey()) && entry.getValue().equals(
map.get(entry.getKey())));
}
}
}