| package org.eclipse.emf.edapt.tests.declaration; |
| |
| import java.util.ArrayList; |
| import java.util.Collection; |
| import java.util.List; |
| |
| import org.eclipse.emf.common.util.Diagnostic; |
| import org.eclipse.emf.ecore.util.Diagnostician; |
| import org.eclipse.emf.edapt.declaration.DeclarationFactory; |
| import org.eclipse.emf.edapt.declaration.Library; |
| import org.eclipse.emf.edapt.declaration.Operation; |
| import org.eclipse.emf.edapt.declaration.Parameter; |
| import org.eclipse.emf.edapt.internal.declaration.OperationExtractor; |
| import org.eclipse.emf.edapt.internal.declaration.OperationRegistry; |
| |
| import junit.framework.Assert; |
| import junit.framework.TestCase; |
| |
| /** |
| * Tests for the {@link OperationExtractor}. |
| * |
| * @author herrmama |
| * @author $Author$ |
| * @version $Rev$ |
| * @levd.rating RED Rev: |
| */ |
| @SuppressWarnings({ "deprecation", "restriction" }) |
| public class OperationExtractorTest extends TestCase { |
| |
| /** Test the extraction of all registered operations. */ |
| public void testOperationExtraction() { |
| final OperationExtractor extractor = new OperationExtractor(); |
| final Collection<Operation> operations = OperationRegistry.getInstance() |
| .getOperations(); |
| Assert.assertEquals(71, operations.size()); |
| for (final Operation operation : operations) { |
| final Class<?> c = operation.getImplementation(); |
| final Operation extracted = extractor.extractOperation(c); |
| final Library library = DeclarationFactory.eINSTANCE.createLibrary(); |
| library.getOperations().add(extracted); |
| |
| final Diagnostic diagnostic = Diagnostician.INSTANCE.validate(extracted); |
| Assert.assertEquals(diagnostic.toString(), Diagnostic.OK, |
| diagnostic.getSeverity()); |
| |
| Assert.assertEquals(1, getMainParameters(extracted).size()); |
| } |
| } |
| |
| private List<Parameter> getMainParameters(Operation operation) { |
| final List<Parameter> mainParameters = new ArrayList<Parameter>(); |
| for (final Parameter parameter : operation.getParameters()) { |
| if (parameter.isMain()) { |
| mainParameters.add(parameter); |
| } |
| } |
| return mainParameters; |
| } |
| } |