public class StimulusAdapter : TTCN3.FromTestSystem { public override TTCN3.TriStatus triMap ( TTCN3.TriPortId compPortId, TTCN3.TriPortId tsiPortId ) { if (compPortId.getPortName() == "InputPort") { CoffeeMachine.SwitchOn(); ResponseAdapter.SwitchOn(tsiPortId, compPortId.getComponentId()); } return new TTCN3.TriStatus(); } public override TTCN3.TriStatus triUnmap ( TTCN3.TriPortId compPortId, TTCN3.TriPortId tsiPortId ) { if (compPortId.getPortName() == "InputPort") { CoffeeMachine.SwitchOff(); ResponseAdapter.SwitchOff(); } return new TTCN3.TriStatus(); } public override TTCN3.TriStatus triSend ( TTCN3.TriComponentId componentId, // sending test component TTCN3.TriPortId tsiPortId, // port via which the msg is sent TTCN3.TriAddress address, // optional destination address TTCN3.TriMessage sendMessage // encoded msg to be sent ) { byte[] bytes = sendMessage.getEncodedMessage(); CoffeeMachine.Input.Enqueue(bytes); return new TTCN3.TriStatus(); } }