/*******************************************************************************
* Copyright (c) 2005 - 2009 itemis AG (http://www.itemis.eu) and others.
* 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
*
*******************************************************************************/
package org.eclipse.xtend.typesystem.xsd.tests.loadschema;
import java.util.Map;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.xtend.typesystem.xsd.tests.AbstractTestCase;
/**
* @author Moritz Eysholdt - Initial contribution
*/
public abstract class AbstractLoadSchemaTestCase extends AbstractTestCase {
protected void assertDevice(Object obj) {
assertInstanceOf(obj, EObject.class);
EObject e = (EObject) obj;
assertEquals("Device", e.eClass().getName());
assertEquals("Magicwash", eGet(e, "name"));
@SuppressWarnings("unchecked")
EList<EObject> ml = eGet(e, "mode", EList.class);
assertTrue(ml.size() > 0);
assertEquals("30", eGet(ml.get(0), "name"));
}
protected void assertGlobalPackage(String name) {
for (Object o : EPackage.Registry.INSTANCE.values())
if (o instanceof EPackage)
if (name.equals(((EPackage) o).getName()))
return;
fail("Package '" + name + "' has not been registered globally.");
}
protected void assertLoadcurve(Object obj) {
assertLoadcurve(obj, "LoadCurve");
}
protected void assertLoadcurve(Object obj, String rootType) {
assertInstanceOf(obj, EObject.class);
EObject e = (EObject) obj;
assertEquals(rootType, e.eClass().getName());
assertEquals("MyLoadcurve", eGet(e, "name"));
@SuppressWarnings("unchecked")
EList<EObject> ml = eGet(e, "measurement", EList.class);
assertTrue(ml.size() > 0);
assertEquals(new Integer(5), eGet(ml.get(0), "time"));
}
protected Object load(String xml) {
@SuppressWarnings("unchecked")
Map<String, String> p = createWFParams();
p.put("xmlfile", xml);
Object o = runWorkflow("LoadXML.oaw", "model", p);
assertNotNull(o);
return o;
}
protected Object load(String xml, String xsd) {
@SuppressWarnings("unchecked")
Map<String, String> p = createWFParams();
p.put("xmlfile", xml);
p.put("xsdfile", xsd);
Object o = runWorkflow("LoadXML-withOneMM.oaw", "model", p);
assertNotNull(o);
return o;
}
protected Object load(String xml, String xsd1, String xsd2) {
@SuppressWarnings("unchecked")
Map<String, String> p = createWFParams();
p.put("xmlfile", xml);
p.put("xsdfile1", xsd1);
p.put("xsdfile2", xsd2);
Object o = runWorkflow("LoadXML-withTwoMM.oaw", "model", p);
assertNotNull(o);
return o;
}
protected void loadExpectFailure(String xml) {
@SuppressWarnings("unchecked")
Map<String, String> p = createWFParams();
p.put("xmlfile", xml);
failWorkflow("LoadXML.oaw", "model", p);
}
protected void loadExpectFailure(String xml, String xsd) {
@SuppressWarnings("unchecked")
Map<String, String> p = createWFParams();
p.put("xmlfile", xml);
p.put("xsdfile", xsd);
failWorkflow("LoadXML-withOneMM.oaw", "model", p);
}
}