View Javadoc

1   package org.identityconnectors.test.common;
2   
3   import org.testng.annotations.Test;
4   import org.testng.Assert;
5   import org.testng.AssertJUnit;
6   import java.util.HashMap;
7   import java.util.Map;
8   
9   public class PropertyBagTests {
10      private PropertyBag bag = createBag();
11  
12      @Test
13      public void testGetProperty() {
14          AssertJUnit.assertEquals("value1", bag.getProperty("key1", String.class));
15          AssertJUnit.assertNull(bag.getProperty("key2", String.class));
16          AssertJUnit.assertEquals(new Integer(1), bag.getProperty("key3", Integer.class));
17          AssertJUnit.assertEquals(new Long(1), bag.getProperty("key5", Long.class));
18  
19          // try not existing
20          try {
21              bag.getProperty("key4", String.class);
22              Assert.fail("Get Property must fail for unexisting property");
23          } catch (IllegalArgumentException e) {
24          }
25  
26          // Try cast
27          try {
28              bag.getProperty("key3", Long.class);
29              Assert.fail("Get Property with incompatible type must fail on ClassCastException");
30          } catch (ClassCastException e) {
31          }
32  
33      }
34  
35      @Test
36      public void testGetPropertyWithDef() {
37          AssertJUnit.assertEquals("value1", bag.getProperty("key1", String.class, "def"));
38          AssertJUnit.assertNull(bag.getProperty("key2", String.class, "def"));
39          AssertJUnit.assertEquals("def", bag.getProperty("key4", String.class, "def"));
40          AssertJUnit.assertNull(bag.getProperty("key4", String.class, null));
41      }
42  
43      @Test
44      public void testGetStringProperty() {
45          AssertJUnit.assertEquals("value1", bag.getStringProperty("key1"));
46          AssertJUnit.assertNull(bag.getStringProperty("key2"));
47          // Try cast
48          try {
49              bag.getStringProperty("key3");
50              Assert.fail("Get Property with incompatible type must fail on ClassCastException");
51          } catch (ClassCastException e) {
52          }
53  
54      }
55  
56      private PropertyBag createBag() {
57          Map<String, Object> bag = new HashMap<String, Object>();
58          bag.put("key1", "value1");
59          bag.put("key2", null);
60          bag.put("key3", new Integer(1));
61          bag.put("key5", new Long(1));
62          return new PropertyBag(bag);
63      }
64  
65  }