/***************************************************
 ** @author   STF 433
 ** @version  0.0.1
 ** @purpose  1:22.3.2, Ensure that getcall operations are only used on procedure based ports
 ** @verdict  pass reject
 ***************************************************/

module NegSem_220302_GetcallOperation_001 {


    type port loopbackPort message {
        inout integer
    }


    type component GeneralComp {
        port loopbackPort messagePort
    }

    testcase TC_NegSem_220302_GetcallOperation_001() runs on GeneralComp {

        messagePort.send(2);

        alt {
            [] messagePort.getcall {		//cannot use getcall on a message based port
                setverdict(pass);
            }
            [] messagePort.receive {
                setverdict(fail);
            }
        }
    }

    control{
        execute(TC_NegSem_220302_GetcallOperation_001());
    }

}
