/***************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:B.1.2.6, Ensure that the IUT correctly handles template matching of superset definition
 ** @verdict  pass reject
 ***************************************************/

module NegSem_B010206_superset_004 {
	type set of integer SoI;

	type SoI MessageType;

	type port loopbackPort message {
		inout MessageType;
	}


	type component GeneralComp {
		port loopbackPort messagePort;
	}

	testcase TC_NegSem_B010206_superset_004() runs on GeneralComp {

		var MessageType v_testMessage;

		template MessageType mw_matchingTemplate := superset(1,10,3) length (2..5); //error:minimal length allowed by the length attribute shall not be less than the number of the elements in the SuperSet

		v_testMessage := {1,11,5};

 messagePort.send(v_testMessage);

    alt {
     [] messagePort.receive(mw_matchingTemplate) {
        setverdict(pass);
     }
     [] messagePort.receive {
        setverdict(fail);
     }
    }

	}
	control {
		execute(TC_NegSem_B010206_superset_004());
	}
}
