/** | |
******************************************************************************** | |
* Copyright (c) 2015-2020 Robert Bosch GmbH and others. | |
* | |
* This program and the accompanying materials are made | |
* available under the terms of the Eclipse Public License 2.0 | |
* which is available at https://www.eclipse.org/legal/epl-2.0/ | |
* | |
* SPDX-License-Identifier: EPL-2.0 | |
* | |
* Contributors: | |
* Robert Bosch GmbH - initial API and implementation | |
******************************************************************************** | |
*/ | |
package org.eclipse.app4mc.amalthea.converters093.tests; | |
import static org.junit.Assert.assertEquals; | |
import java.util.ArrayList; | |
import java.util.Arrays; | |
import java.util.Collection; | |
import java.util.List; | |
import org.eclipse.app4mc.amalthea.converters.common.base.ICache; | |
import org.eclipse.app4mc.amalthea.converters.common.converter.NamespaceConverter; | |
import org.eclipse.app4mc.amalthea.converters.common.utils.AmaltheaNamespaceRegistry; | |
import org.eclipse.app4mc.amalthea.converters.common.utils.HelperUtil; | |
import org.eclipse.app4mc.amalthea.converters.common.utils.ModelVersion; | |
import org.eclipse.app4mc.amalthea.converters093.impl.OsConverter; | |
import org.eclipse.app4mc.amalthea.converters093.impl.SwConverter; | |
import org.eclipse.app4mc.amalthea.converters093.utils.HWCacheBuilder; | |
import org.jdom2.Document; | |
import org.jdom2.Element; | |
import org.junit.FixMethodOrder; | |
import org.junit.Test; | |
import org.junit.runner.RunWith; | |
import org.junit.runners.MethodSorters; | |
import org.junit.runners.Parameterized; | |
@FixMethodOrder(MethodSorters.NAME_ASCENDING) | |
@RunWith(Parameterized.class) | |
public class TransmissionPolicyConverterTest extends Abstract093ConverterTest { | |
@Parameterized.Parameters(name = "{index}: Test file: {0}") | |
public static Collection<Object[]> getTestData() { | |
return Arrays.asList(new Object[][] { { "/transmissionPolicy/default.amxmi", true } }); | |
} | |
public TransmissionPolicyConverterTest(final String xmlFileRelativeLocation, final boolean canExecuteTestCase) { | |
super(canExecuteTestCase, xmlFileRelativeLocation); | |
} | |
@Test | |
public void testConversion() { | |
super.testConversion(NamespaceConverter.class, SwConverter.class,OsConverter.class); | |
} | |
@Override | |
protected List<ICache> buildCaches() { | |
final List<ICache> caches = new ArrayList<ICache>(); | |
HWCacheBuilder cacheBuilder=new HWCacheBuilder(); | |
caches.add(cacheBuilder); | |
for (final ICache iCache : caches) { | |
iCache.buildCache(this.fileDocumentMapping); | |
} | |
return caches; | |
} | |
@Override | |
@Test | |
public void verification() { | |
super.verification(); | |
} | |
@Override | |
protected void modelFileVerificationHook(Document document) { | |
super.modelFileVerificationHook(document); | |
final StringBuilder xpathBuilder = new StringBuilder(); | |
xpathBuilder.append(".//*[@chunkProcessingTicks]"); | |
final List<Element> transmissionPolicyElements = HelperUtil.getXpathResult( | |
document.getRootElement(), | |
xpathBuilder.toString(), | |
Element.class, | |
AmaltheaNamespaceRegistry.getNamespace(ModelVersion._093, "am"), | |
AmaltheaNamespaceRegistry.getGenericNamespace("xsi")); | |
assertEquals("unable to migrate all chunkProcessingInstructions to chunkProcessingTicks", 4, transmissionPolicyElements.size()); | |
} | |
} |