blob: b99bd088d65c3a1f50e279cfb463b9a282885e13 [file] [log] [blame]
/**********************************************************************
* This file is part of "Object Teams Development Tooling"-Software
*
* Copyright 2010 Stephan Herrmann
*
* 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
* $Id: AllTests.java 23529 2010-02-18 23:06:04Z stephan $
*
* Please visit http://www.eclipse.org/objectteams for updates and contact.
*
* Contributors:
* Stephan Herrmann - Initial API and implementation
**********************************************************************/
package org.eclipse.objectteams.otdt.tests.otjld;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.jdt.core.tests.junit.extension.TestCase;
import org.eclipse.jdt.core.tests.util.AbstractCompilerTest;
import org.eclipse.objectteams.otdt.tests.otjld.api.Reflection;
import org.eclipse.objectteams.otdt.tests.otjld.callinbinding.BaseCalls;
import org.eclipse.objectteams.otdt.tests.otjld.callinbinding.CallinMethodBinding;
import org.eclipse.objectteams.otdt.tests.otjld.callinbinding.CallinParameterMapping_LiftingAndLowering;
import org.eclipse.objectteams.otdt.tests.otjld.callinbinding.CallinWithTranslation;
import org.eclipse.objectteams.otdt.tests.otjld.calloutbinding.CalloutMethodBinding;
import org.eclipse.objectteams.otdt.tests.otjld.calloutbinding.CalloutParameterBinding_LiftingAndLowering;
import org.eclipse.objectteams.otdt.tests.otjld.calloutbinding.CalloutToField;
import org.eclipse.objectteams.otdt.tests.otjld.calloutbinding.OverridingAccessRestrictions;
import org.eclipse.objectteams.otdt.tests.otjld.liftlower.AllSmartLiftingTests;
import org.eclipse.objectteams.otdt.tests.otjld.liftlower.DeclaredLifting;
import org.eclipse.objectteams.otdt.tests.otjld.other.AccessModifiers;
import org.eclipse.objectteams.otdt.tests.otjld.other.Exceptions;
import org.eclipse.objectteams.otdt.tests.otjld.other.Java5;
import org.eclipse.objectteams.otdt.tests.otjld.other.Java7;
import org.eclipse.objectteams.otdt.tests.otjld.other.Java8;
import org.eclipse.objectteams.otdt.tests.otjld.other.Misc;
import org.eclipse.objectteams.otdt.tests.otjld.other.Modifiers;
import org.eclipse.objectteams.otdt.tests.otjld.other.OTNullTypeAnnotationTest;
import org.eclipse.objectteams.otdt.tests.otjld.regression.CompilationOrder;
import org.eclipse.objectteams.otdt.tests.otjld.regression.ComplexStructures;
import org.eclipse.objectteams.otdt.tests.otjld.regression.DevelopmentExamples;
import org.eclipse.objectteams.otdt.tests.otjld.regression.ReportedBugs;
import org.eclipse.objectteams.otdt.tests.otjld.roleplaying.AllBindingAmbiguitiesTests;
import org.eclipse.objectteams.otdt.tests.otjld.roleplaying.BaseClassVisibility;
import org.eclipse.objectteams.otdt.tests.otjld.roleplaying.ExplicitRoleCreation;
import org.eclipse.objectteams.otdt.tests.otjld.roleplaying.GC;
import org.eclipse.objectteams.otdt.tests.otjld.roleplaying.LiftingAndLowering;
import org.eclipse.objectteams.otdt.tests.otjld.roleplaying.PlayedByRelation;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.AcquisitionAndInheritanceOfRoleClasses;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.Confinement;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.Covariance;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.ExternalizedRoles;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.FileStructure;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.ImplicitInheritance;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.InheritanceHierarchyOfTeams;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.OldExternalizedRoles;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.RegularRoleInheritance;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.RelevantRole;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.RoleObjectContainment;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.TeamNesting;
import org.eclipse.objectteams.otdt.tests.otjld.rolesandteams.ValueParameters;
import org.eclipse.objectteams.otdt.tests.otjld.syntax.Syntax;
import org.eclipse.objectteams.otdt.tests.otjld.teamactivation.ExplicitTeamActivation;
import org.eclipse.objectteams.otdt.tests.otjld.teamactivation.ImplicitTeamActivation;
import org.eclipse.objectteams.otdt.tests.otjld.teamactivation.Predicates;
/**
* @author stephan
*/
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite("All OTJLD Tests");
// 1. rolesandteams
/*1.1*/addComplianceSuite(suite, RoleObjectContainment.testClass());
/*1.1.10-*/addComplianceSuite(suite, TeamNesting.testClass());
/*1.2*/addComplianceSuite(suite, InheritanceHierarchyOfTeams.testClass());
/*1.3*/addComplianceSuite(suite, AcquisitionAndInheritanceOfRoleClasses.testClass());
/*1.4*/addComplianceSuite(suite, RegularRoleInheritance.testClass());
/*1.5*/addComplianceSuite(suite, FileStructure.testClass());
/*1.6*/addComplianceSuite(suite, ExternalizedRoles.testClass());
/*6.2*/addComplianceSuite(suite, OldExternalizedRoles.testClass());
/*1.7*/addComplianceSuite(suite, Confinement.testClass());
/*1.8*/addComplianceSuite(suite, RelevantRole.testClass());
/*1.9*/addComplianceSuite(suite, ValueParameters.testClass());
/*0.c*/addComplianceSuite(suite, ImplicitInheritance.testClass());
/*6.3*/addComplianceSuite(suite, Covariance.testClass());
// 2. roleplaying
/*2.1*/addComplianceSuite(suite, PlayedByRelation.testClass());
/*2.2*/addComplianceSuite(suite, LiftingAndLowering.testClass());
/*2.3*/addComplianceSuite(suite, ExplicitRoleCreation.testClass());
/*2.4*/addComplianceSuite(suite, BaseClassVisibility.testClass());
/*2.5*/addComplianceSuite(suite, GC.testClass());
// 3. calloutbinding
/*3.1*/addComplianceSuite(suite, CalloutMethodBinding.testClass()); // includes a few from 7.2.1
/*3.2*/addComplianceSuite(suite, CalloutParameterBinding_LiftingAndLowering.testClass());
/*3.3*/addComplianceSuite(suite, CalloutToField.testClass());
/*7.4*/addComplianceSuite(suite, OverridingAccessRestrictions.testClass());
// 4. callinbinding
/*4.1*/addComplianceSuite(suite, CallinMethodBinding.testClass()); // includes a few from 7.2.[45]
/*4.3*/addComplianceSuite(suite, CallinParameterMapping_LiftingAndLowering.testClass());
/*4.4*/addComplianceSuite(suite, CallinWithTranslation.testClass());
/*4.5*/addComplianceSuite(suite, BaseCalls.testClass());
// 5. teamactivation
/*5.2*/addComplianceSuite(suite, ExplicitTeamActivation.testClass());
/*5.3*/addComplianceSuite(suite, ImplicitTeamActivation.testClass());
/*5.4*/addComplianceSuite(suite, Predicates.testClass());
// 6.[14] liftlower
/*6.1*/addComplianceSuite(suite, DeclaredLifting.testClass());
//6.4: see below
// 7. see below
// 8. syntax
/*8.1*/addComplianceSuite(suite, Syntax.testClass());
// api:
/*9.2*/addComplianceSuite(suite, Reflection.testClass());
// other:
/*0.a*/addComplianceSuite(suite, AccessModifiers.testClass());
/*7.1*/addComplianceSuite(suite, Modifiers.testClass());
/*7.5*/addComplianceSuite(suite, Exceptions.testClass());
/*A.1*/addComplianceSuite(suite, Java5.testClass());
/*A.2*/addComplianceSuite(suite, Java7.testClass(), AbstractCompilerTest.F_1_7);
/*---*/addComplianceSuite(suite, Java8.testClass(), AbstractCompilerTest.F_1_8);
/*---*/addComplianceSuite(suite, OTNullTypeAnnotationTest.testClass(), AbstractCompilerTest.F_1_8);
/*0.m*/addComplianceSuite(suite, Misc.testClass());
// regression:
/*B.1*/addComplianceSuite(suite, ReportedBugs.testClass());
/*B.2*/addComplianceSuite(suite, CompilationOrder.testClass());
/*X.2*/addComplianceSuite(suite, DevelopmentExamples.testClass());
addComplianceSuite(suite, ComplexStructures.testClass());
/*7.3*/suite.addTest(AllBindingAmbiguitiesTests.suite());
/*6.4*/suite.addTest(AllSmartLiftingTests.suite());
return suite;
}
public static void addComplianceSuite(TestSuite suite, Class<?> testClass) {
addComplianceSuite(suite, testClass, AbstractCompilerTest.F_1_5);
}
static void addComplianceSuite(TestSuite suite, Class<?> testClass, int compliance) {
// Reset forgotten subsets tests
TestCase.TESTS_PREFIX = null;
TestCase.TESTS_NAMES = null;
TestCase.TESTS_NUMBERS= null;
TestCase.TESTS_RANGE = null;
TestCase.RUN_ONLY_ID = null;
suite.addTest(AbstractCompilerTest.buildMinimalComplianceTestSuite(testClass, compliance));
}
}