+
+ @Test
+ public void testPDP() {
+ // Set up test data
+ String id = "testID";
+ String value = "testVal";
+ Properties props = new Properties();
+ props.setProperty(id + ".name", value);
+ props.setProperty(id + ".description", value);
+ props.setProperty(id + ".jmxport", "0");
+ Set<PDPPIPConfig> pipConfigs = new HashSet<PDPPIPConfig>();
+ Set<PDPPolicy> policies = new HashSet<PDPPolicy>();
+
+ // Test constructors
+ StdPDP pdp = new StdPDP(id, 0);
+ assertNotNull(pdp);
+ StdPDP pdp2 = new StdPDP(id, value, 0);
+ assertNotNull(pdp2);
+ StdPDP pdp3 = new StdPDP(id, value, value, 0);
+ assertNotNull(pdp3);
+ StdPDP pdp4 = new StdPDP(id, props);
+ assertNotNull(pdp4);
+ StdPDP pdp5 = new StdPDP(id, props);
+ assertNotNull(pdp5);
+
+ // Test set and get
+ pdp.setPipConfigs(pipConfigs);
+ assertEquals(pipConfigs, pdp.getPipConfigs());
+ pdp.setPolicies(policies);
+ assertEquals(policies, pdp.getPolicies());
+
+ // Test equals combinations
+ assertEquals(true, pdp4.equals(pdp5));
+ assertEquals(true, pdp4.equals(pdp4));
+ assertEquals(false, pdp4.equals(null));
+ assertEquals(false, pdp4.equals(value));
+ pdp4.setId(null);
+ assertEquals(false, pdp4.equals(value));
+ pdp5.setId(id);
+ assertEquals(false, pdp4.equals(pdp5));
+ pdp4.setId(value);
+ assertEquals(false, pdp4.equals(pdp5));
+ assertThat(pdp.hashCode(), is(not(0)));
+
+ // Test compare
+ assertEquals(-1, pdp4.compareTo(null));
+ assertEquals(0, pdp4.compareTo(pdp4));
+ pdp5.setName(null);
+ assertEquals(-1, pdp4.compareTo(pdp5));
+ pdp4.setName(null);
+ pdp5.setName(value);
+ assertEquals(1, pdp4.compareTo(pdp5));
+
+ // Test toString
+ assertThat(pdp.toString().length(), is(not(0)));