@Test
public void testPolicy() {

    // Setup test data
    System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "xacml.pap.properties");
    PolicyRestAdapter adapter = Mockito.mock(PolicyRestAdapter.class);
    Policy policy = new ConfigPolicy(adapter);
    Path path = Paths.get("src/test/resources");
    // Test set and get
    policy.setFinalPolicyPath(path);
    assertEquals(path, policy.getFinalPolicyPath());
    // Test misc methods
    assertNotNull(policy.createMatch("testKey", "testVal"));
    assertNotNull(policy.createDynamicMatch("testKey", "testVal"));
    assertNotNull(policy.getNextFilename(path, "Config", "SampleTest1206", 1));
    assertNull(policy.getNextLoopFilename(path, "Config", "ClosedLoop_PM", "foo", 1));
    assertNull(policy.getNextLoopFilename(path, "Config", "ClosedLoop_Fault", "foo", 1));
    assertNull(policy.getNextLoopFilename(path, "Config", "Micro Service", "foo", 1));
    assertNull(policy.getNextLoopFilename(path, "Config", "Optimization", "foo", 1));
    // Test create
    Object policyData = null;
    assertEquals(0, policy.createPolicy(null, policyData).size());
    policyData = new PolicyType();
    assertEquals(1, policy.createPolicy(null, policyData).size());
    // Test remaining set and get
    assertNotNull(Policy.getConfigHome());
    assertEquals(true, policy.validateConfigForm());
    policy.setPreparedToSave(true);
    assertEquals(true, policy.isPreparedToSave());
    policy.setPolicyExists(true);
    assertEquals(true, policy.isPolicyExists());
}