/*******************************************************************************
 * Copyright (c) 2018 Willink Transformations and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v20.html
 *
 * Contributors:
 *     E.D.Willink - Initial API and implementation
 *******************************************************************************/
package org.eclipse.ocl.compatibility.tests;

//import org.eclipse.ocl.examples.impactanalyzer.tests.ImpactAnalyzerAllTests;
//import org.eclipse.ocl.examples.impactanalyzer.tests.helper.ExampleApp;

/** Activating these tests has a stupid obstinate non-on-classpath problem */
public class CompatibilityImpactAnalyzerTests //extends ImpactAnalyzerAllTests
{
	protected CompatibilityImpactAnalyzerTests(String name) {
		//		super(name);
		//		ExampleApp.class.getName();
	}
}
