blob: 3d5175e8ab770e34a58febbd3c62e1abfcdb7c0e [file] [log] [blame]
/**
* Copyright (c) 2013 itemis AG 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
*
* Contributors:
* itemis AG - initial API and implementation
*/
package org.eclipse.rmf.tests.serialization.util;
import static org.junit.Assert.assertSame;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.util.Map;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.URIConverter;
import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.sphinx.emf.serialization.XMLPersistenceMappingResourceSetImpl;
import org.junit.Before;
@SuppressWarnings("nls")
public abstract class AbstractTestCase {
@Before
public void setUp() throws Exception {
}
protected EObject loadInputFile(String inputFileName, ResourceFactoryImpl resourceFactory, Map<?, ?> options) throws Exception {
URI emfURI = URI.createURI("resources/input/" + inputFileName, true);
XMLResource resource = (XMLResource) resourceFactory.createResource(emfURI);
resource.load(options);
ResourceSet resourceSet = new XMLPersistenceMappingResourceSetImpl();
resourceSet.getResources().add(resource);
assertSame(0, resource.getErrors().size());
return resource.getContents().get(0);
}
protected String loadFileAsString(InputStream inputStream) throws Exception {
inputStream = new BufferedInputStream(inputStream);
try {
byte[] buffer = new byte[1024];
int bufferLength;
StringBuilder content = new StringBuilder();
while ((bufferLength = inputStream.read(buffer)) > -1) {
content.append(new String(buffer, 0, bufferLength));
}
return content.toString();
} finally {
inputStream.close();
}
}
protected String loadWorkingFileAsString(String fileName) throws Exception {
URI emfURI = URI.createURI("working-dir/" + fileName, true);
return loadFileAsString(URIConverter.INSTANCE.createInputStream(emfURI));
}
protected String loadInputFileAsString(String fileName) throws Exception {
URI emfURI = URI.createURI("resources/input" + fileName, true);
return loadFileAsString(URIConverter.INSTANCE.createInputStream(emfURI));
}
protected void saveWorkingFile(String fileName, EObject modelRoot, ResourceFactoryImpl resourceFactory, Map<?, ?> options) throws Exception {
URI emfURI = URI.createURI("working-dir/" + fileName, true);
XMLResource resource = (XMLResource) resourceFactory.createResource(emfURI);
resource.getContents().add(modelRoot);
resource.save(options);
assertSame(0, resource.getErrors().size());
}
}