@Test
  public void testSetProperty() {
    JerseyConfiguration instance = new JerseyConfiguration();
    assertTrue(instance.getProperties().isEmpty());

    instance.setProperty("name", "value");
    assertFalse(instance.getProperties().isEmpty());
    assertEquals(1, instance.getProperties().size());
    assertEquals("value", instance.getProperty("name"));
  }
  @Test
  public void testGetProperties() {
    JerseyConfiguration instance = new JerseyConfiguration();
    Map result = instance.getProperties();
    assertNotNull(result);

    instance.setProperty("name", "value");
    assertEquals("value", result.get("name"));

    try {
      result.remove("name");
      fail("UnsupportedOperationException expected");
    } catch (UnsupportedOperationException ex) {
      // ok
    }
  }
  @Test
  public void testSnapshot() {
    JerseyConfiguration c_a = new JerseyConfiguration().setProperty("common_name", "common_value");

    JerseyConfiguration c_b = c_a.snapshot();
    assertNotNull(c_b);
    assertNotSame(c_a, c_b);
    assertEquals(c_a, c_b);
    assertEquals("common_value", c_a.getProperty("common_name"));
    assertEquals("common_value", c_b.getProperty("common_name"));

    c_b.setProperty("name", "value");

    assertFalse(c_a.equals(c_b));
    assertEquals("value", c_b.getProperty("name"));
    assertNull(c_a.getProperty("name"));
  }