blob: b56725ab5d67502ad9fb11b998cf089890529411 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
package org.eclipse.jpt.jaxb.core.tests.internal.resource.java;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.jaxb.core.resource.java.JAXB;
import org.eclipse.jpt.jaxb.core.resource.java.JavaResourcePackage;
import org.eclipse.jpt.jaxb.core.resource.java.XmlAccessOrder;
import org.eclipse.jpt.jaxb.core.resource.java.XmlAccessorOrderAnnotation;
@SuppressWarnings("nls")
public class XmlAccessorOrderPackageAnnotationTests
extends JaxbJavaResourceModelTestCase {
public XmlAccessorOrderPackageAnnotationTests(String name) {
super(name);
}
private ICompilationUnit createPackageInfoWithAccessorOrder() throws CoreException {
return createTestPackageInfo(
"@XmlAccessorOrder(XmlAccessOrder.UNDEFINED)",
JAXB.XML_ACCESS_ORDER, JAXB.XML_ACCESSOR_ORDER);
}
public void testValue()
throws Exception {
ICompilationUnit cu = createPackageInfoWithAccessorOrder();
JavaResourcePackage resourcePackage = buildJavaResourcePackage(cu);
XmlAccessorOrderAnnotation annotation =
(XmlAccessorOrderAnnotation) resourcePackage.getAnnotation(JAXB.XML_ACCESSOR_ORDER);
assertNotNull(annotation);
assertEquals(XmlAccessOrder.UNDEFINED, annotation.getValue());
annotation.setValue(XmlAccessOrder.ALPHABETICAL);
assertEquals(XmlAccessOrder.ALPHABETICAL, annotation.getValue());
assertSourceContains("@XmlAccessorOrder(ALPHABETICAL)", cu);
annotation.setValue(null);
annotation = (XmlAccessorOrderAnnotation) resourcePackage.getAnnotation(JAXB.XML_ACCESSOR_ORDER);
assertNull(annotation.getValue());
assertSourceDoesNotContain("@XmlAccessorOrder(", cu);
// TODO uncomment when bug 328400 is addressed
// annotation = (XmlAccessorOrderAnnotation) packageResource.addAnnotation(JAXB.XML_ACCESSOR_ORDER);
// annotation.setValue(XmlAccessOrder.UNDEFINED);
// assertEquals(XmlAccessOrder.UNDEFINED, annotation.getValue());
// assertSourceContains("@XmlAccessorOrder(UNDEFINED)", cu);
}
}