001 package org.hackystat.sensor.xmldata.util; 002 003 import junit.framework.TestCase; 004 005 /** 006 * Tests the SensorDataPropertyMap implementation. 007 * @author Philip M. Johnson 008 * @version $Id: TestSensorDataPropertyMap.java,v 1.1.1.1 2005/10/20 23:56:44 009 * johnson Exp $ 010 */ 011 public class TestSensorDataPropertyMap extends TestCase { 012 private static final String VALUE2 = "value2"; 013 /** 014 * Tests the thread safe property map ADT. 015 * @throws Exception if problems occur. 016 */ 017 public void testThreadSafePropertyMap() throws Exception { 018 // test normal creation, adding, getting. 019 SensorDataPropertyMap map = new SensorDataPropertyMap(); 020 map.put("name1", "value1"); 021 assertEquals("testing retrieve 1", "value1", map.get("name1")); 022 map.put("name2", VALUE2); 023 assertEquals("testing retrieve 2", VALUE2, map.get("name2")); 024 String encoding = map.encode(); 025 SensorDataPropertyMap map2 = new SensorDataPropertyMap(encoding); 026 assertEquals("testing retrieve 3", "value1", map2.get("name1")); 027 assertEquals("testing retrieve 4", VALUE2, map2.get("name2")); 028 assertEquals("testing retrieve 5", null, map2.get("name3")); 029 assertEquals("testing retrieve 5", null, map2.get("name3")); 030 assertEquals("testing retrieve 6", "foo", map2.get("name3", "foo")); 031 assertEquals("testing retrieve 7", VALUE2, map2.getIgnoreCase("Name2")); 032 // Test to see that an encoded empty map is OK. 033 SensorDataPropertyMap map3 = new SensorDataPropertyMap(); 034 String emptyEncoding = map3.encode(); 035 new SensorDataPropertyMap(emptyEncoding); 036 } 037 }