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
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
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
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 }