/*****************************************************************
 ** @author   STF 451
 ** @version  0.0.1
 ** @purpose  1:21.3.2, Ensure that non-alive ptc cannot start again
 ** @verdict  pass reject
 *****************************************************************/
//Non alive test component cannot start another function behavior
module NegSem_210302_Start_test_component_001 {

    type component GeneralComp { }
	function f() runs on GeneralComp {}
	function f2() runs on GeneralComp {}

    testcase TC_NegSem_210302_Start_test_component_001() runs on GeneralComp system GeneralComp {
        var GeneralComp ptc;
		ptc:=GeneralComp.create;

		ptc.start(f());
		ptc.done;
		ptc.start(f2()); // test case error, ptc is non-alive

        setverdict(pass);
    }

    control {
        execute(TC_NegSem_210302_Start_test_component_001());
    }
}