/*******************************************************************************
* Copyright (c) 2010 protos software gmbh (http://www.protos.de).
* 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
*
* CONTRIBUTORS:
* Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
*
*******************************************************************************/
package org.eclipse.etrice.generator;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.HashMap;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.etrice.generator.etricegen.ETriceGenPackage;
import org.eclipse.etrice.generator.etricegen.PortInstance;
import org.eclipse.etrice.generator.etricegen.Root;
import org.junit.Before;
import org.junit.Test;
public class TestPorts extends TestInstanceModelBuilderBase {
private Root root;
@Before
public void setUp() {
prepare();
root = buildInstanceModel("ports.room");
}
@Test
public void testPortNumbers() {
HashMap<EClass, ArrayList<EObject>> instances = collectInstances(root);
assertEquals("Number of PortInstances", 3, instances.get(ETriceGenPackage.eINSTANCE.getPortInstance()).size());
}
@Test
public void testPortInstancePaths() {
PortInstance pi = root.getSubSystems().get(0).getInstances().get(0).getPorts().get(0);
assertEquals("Port Name", "/CMain/test/externalEnd", pi.getPath());
pi = root.getSubSystems().get(0).getInstances().get(0).getPorts().get(1);
assertEquals("Port Name", "/CMain/test/internalEnd", pi.getPath());
pi = root.getSubSystems().get(0).getInstances().get(0).getPorts().get(2);
assertEquals("Port Name", "/CMain/test/relay", pi.getPath());
}
}