/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package test;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Result</b></em>'.
 * <!-- end-user-doc -->
 *
 *
 * @see test.TestPackage#getTestResult()
 * @model abstract="true"
 * @generated
 */
public interface TestResult extends EObject {
} // TestResult
