public void testContainedWithNamespace() throws Exception {
    // test contained annotation value setting/updating

    ICompilationUnit cu = createPackageInfoWithSchemaTypes();
    JavaResourcePackage resourcePackage = buildJavaResourcePackage(cu);

    XmlSchemaTypeAnnotation containedAnnotation =
        (XmlSchemaTypeAnnotation) resourcePackage.getAnnotation(0, JAXB.XML_SCHEMA_TYPE);

    containedAnnotation.setNamespace(TEST_NAMESPACE);
    assertEquals(TEST_NAMESPACE, containedAnnotation.getNamespace());
    assertSourceContains(
        "@XmlSchemaTypes({@XmlSchemaType(namespace = \"" + TEST_NAMESPACE + "\"),@XmlSchemaType})",
        cu);

    containedAnnotation.setNamespace(null);
    assertNull(containedAnnotation.getNamespace());
    assertSourceContains("@XmlSchemaTypes({@XmlSchemaType,@XmlSchemaType})", cu);
  }
  public void testNamespace() throws Exception {
    ICompilationUnit cu = createPackageInfoWithSchemaTypeAndNamespace();
    JavaResourcePackage resourcePackage = buildJavaResourcePackage(cu);

    XmlSchemaTypeAnnotation annotation =
        (XmlSchemaTypeAnnotation) resourcePackage.getAnnotation(0, JAXB.XML_SCHEMA_TYPE);
    assertTrue(annotation != null);
    assertEquals(TEST_NAMESPACE, annotation.getNamespace());
    assertSourceContains("@XmlSchemaType(namespace = \"" + TEST_NAMESPACE + "\")", cu);

    annotation.setNamespace(TEST_NAMESPACE_2);
    assertEquals(TEST_NAMESPACE_2, annotation.getNamespace());
    assertSourceContains("@XmlSchemaType(namespace = \"" + TEST_NAMESPACE_2 + "\")", cu);

    annotation.setNamespace(null);
    assertEquals(null, annotation.getNamespace());
    assertSourceContains("@XmlSchemaType", cu);

    annotation.setNamespace(TEST_NAMESPACE);
    assertEquals(TEST_NAMESPACE, annotation.getNamespace());
    assertSourceContains("@XmlSchemaType(namespace = \"" + TEST_NAMESPACE + "\")", cu);
  }