blob: c1384f584e25ec3e75c7f1f72d5aa06430997a91 [file] [log] [blame]
/**
********************************************************************************
* 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());
}
}