/******************************************************************************* * 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 *******************************************************************************/ package org.eclipse.etrice.runtime.java.modelbase; import org.eclipse.etrice.runtime.java.messaging.Address; import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; import org.eclipse.etrice.runtime.java.messaging.IRTObject; import org.eclipse.etrice.runtime.java.messaging.Message; import org.eclipse.etrice.runtime.java.messaging.MessageService; import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver; import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; import org.eclipse.etrice.runtime.java.modelbase.PortBase; import junit.framework.TestCase; public class PortBaseTest extends TestCase { public class TestActor extends ActorClassBase { public TestActor(IRTObject parent, String name) { super(parent, name, null); } public void receive(Message msg) { } public Address getAddress() { return null; } public void receiveEvent(InterfaceItemBase ifitem, int evt, Object... data) { } @Override public void init() {} @Override public void start() {} @Override public void stop() {} @Override public void destroy() {} } class MyPortBase extends PortBase { public MyPortBase(IEventReceiver parent, String name, int localId, int idx, Address address, Address peerAddress, IMessageReceiver msgReceiver) { super(parent, name, localId, idx, address, peerAddress); } public void receive(Message msg) { } } protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } public void testPortBase() { MessageService msgService = new MessageService(null, new Address(4, 5, 6), "MessageService1"); Address portAddress = new Address(1, 2, 3); Address peerAddress = new Address(3, 2, 1); PortBase port = new MyPortBase(null, "Port1", 0, 0, portAddress, peerAddress, msgService); assertEquals(msgService, port.getMsgReceiver()); assertEquals(portAddress, port.getAddress()); assertEquals(peerAddress, port.getPeerAddress()); } public void testSetGetPeerAddress() { Address peerAddress = new Address(3, 2, 1); PortBase port = new MyPortBase(null, "", 0, 0, null, peerAddress, null); assertEquals(peerAddress, port.getPeerAddress()); } public void testSetGetMsgService() { MessageService msgService = new MessageService(null, new Address(4, 5, 6), "MessageService1"); Address portAddress = new Address(1, 2, 3); PortBase port = new MyPortBase(null, "", 0, 0, portAddress, null, msgService); assertEquals(msgService, port.getMsgReceiver()); } public void testSetInstanceId() { PortBase port = new MyPortBase(null, "Port1", 0, 0, null, null, null); assertEquals("/Port1", port.getInstancePath()); } public void testGetLocalId() { PortBase port = new MyPortBase(null, "Port1", 123, 0, null, null, null); assertEquals(123, port.getLocalId()); } public void testGetIdx() { PortBase port = new MyPortBase(null, "Port1", 0, 456, null, null, null); assertEquals(456, port.getIdx()); } public void testSetGetParentObject(){ ActorClassBase actor = new TestActor(null, "Actor1"); PortBase port = new MyPortBase(actor, "Port1", 0, 0, null, null, null); assertEquals("/Actor1/Port1", port.getInstancePath()); assertEquals(actor, port.getActor()); } }