blob: e7b24f9cebba96fa2ac840277e4f9ecf1515f486 [file] [log] [blame]
package org.eclipse.stem.tests.automaticexperiment;
/*******************************************************************************
* Copyright (c) 2008 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
import java.io.FileNotFoundException;
import java.io.IOException;
import junit.textui.TestRunner;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.stem.analysis.automaticexperiment.ErrorAnalysisAlgorithm;
import org.eclipse.stem.analysis.automaticexperiment.ErrorAnalysisAlgorithmFactory;
import org.eclipse.stem.core.STEMXMIResourceFactoryImpl;
import org.eclipse.stem.core.common.tests.IdentifiableTest;
import automaticexperiment.AutomaticExperiment;
public class AutomaticExperimentTest
extends IdentifiableTest {
private final static String AUTOMATIC_EXPERIMENT_FILE = "D:/Development/Workspaces/STEM-runtime/IsrSIRflu/experiments/sample.automaticexperiment"; //$NON-NLS-1$
public static void main(String[] args) {
TestRunner.run(AutomaticExperimentTest.class);
}
public AutomaticExperimentTest(String name) {
super(name);
}
/**
* Returns the fixture for this Experiment test case.
* <!-- begin-user-doc
* --> <!-- end-user-doc -->
* @generated
*/
@Override
protected AutomaticExperiment getFixture() {
return (AutomaticExperiment)fixture;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see junit.framework.TestCase#setUp()
* @generated NOT
*/
@Override
protected void setUp() throws Exception {
setFixture(createFixture());
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @see junit.framework.TestCase#tearDown()
* @generated
*/
@Override
protected void tearDown() throws Exception {
setFixture(null);
}
/**
* Tests the '{@link org.eclipse.stem.core.experiment.Experiment#updateScenario() <em>Update Scenario</em>}'
* operation. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.stem.core.experiment.Experiment#updateScenario()
* @generated NOT
*/
public void testAutomaticExperiment()
{
AutomaticExperiment automaticExperiment = getFixture();
assertNotNull(automaticExperiment);
String algorithmName = automaticExperiment.getErrorAnalysisAlgorithm();
ErrorAnalysisAlgorithm algorithm =
ErrorAnalysisAlgorithmFactory.INSTANCE.createErrorAnalysisAlgorithm(algorithmName);
assertNotNull(algorithm);
algorithm.init(automaticExperiment);
algorithm.execute();
}
/**
* @return an {@link AutomaticExperiment} for testing.
*/
public static AutomaticExperiment createFixture() {
return loadAutomaticExperiment(AUTOMATIC_EXPERIMENT_FILE);
}
static AutomaticExperiment loadAutomaticExperiment(final String filename) {
final ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", //$NON-NLS-1$
STEMXMIResourceFactoryImpl.INSTANCE);
resourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap().put("platform", //$NON-NLS-1$
STEMXMIResourceFactoryImpl.INSTANCE);
final Resource resource = resourceSet.getResource(URI.createFileURI(filename), true);
try
{
resource.load(null);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
AutomaticExperiment toReturn = (AutomaticExperiment)resource.getContents().get(0);
return toReturn;
}
}