| /********************************************************************** |
| * 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)); |
| } |
| } |