/*****************************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:21.3.7, variable of incorrect type used for storing verdict in done operation
 ** @verdict  pass reject
 *****************************************************************/

// The following requirements are tested:
// The variable used in the (optional) value clause for storing the final local verdict
// of a PTC shall be of the type verdicttype.

module NegSem_210307_done_operation_007 {

    type component GeneralComp {}

	function f() runs on GeneralComp {
		setverdict(pass);
	}

    testcase TC_NegSem_210307_done_operation_007() runs on GeneralComp system GeneralComp {
        var GeneralComp v_ptc := GeneralComp.create;
        var boolean v_verdict;
        v_ptc.start(f());
		alt {
			[] v_ptc.done -> value v_verdict {
                setverdict(pass);
            }
		}
    }

    control {
        execute(TC_NegSem_210307_done_operation_007(), 5.0);
    }
}