Commit 96db1432 authored by urbant's avatar urbant
Browse files

Missing test cases for requirements specified in clause 5.4.1.1 (including...

Missing test cases for requirements specified in clause 5.4.1.1 (including several test for requirements introduced in the version 4.7.1)
parent 57ae422a
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:5.4.1.1, verify that in value formal parameters of template cannot used dash as default value
 ** @verdict  pass reject
 ***************************************************/

// The following requirement is tested:
// Formal parameters of modified templates may inherit the default values from the corresponding 
// parameters of their parent templates; this shall explicitly be denoted by using a dash (don't 
// change) symbol at the place of the modified template parameters' default value.

module NegSem_05040101_parameters_of_kind_value_001 { 

	type component GeneralComp {
	}	
    
    type record R
    {
        integer field1,
        integer field2
    }
	
    template R m_t(integer p_int1 := 3, in integer p_int2 := -) := {
        field1 := p_int1,
        field2 := p_int2
    }
}
+33 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:5.4.1.1, verify that modified template cannot used dash as default value when original value parameter had no default value
 ** @verdict  pass accept, noexecution
 ***************************************************/

// The following requirement is tested:
// Formal parameters of modified templates may inherit the default values from the corresponding 
// parameters of their parent templates; this shall explicitly be denoted by using a dash (don't 
// change) symbol at the place of the modified template parameters' default value.

module NegSem_05040101_parameters_of_kind_value_002 { 

	type component GeneralComp {
	}	
    
    type record R
    {
        integer field1,
        integer field2
    }
	
    template R m_t(integer p_int1, in integer p_int2 := 4) := {
        field1 := p_int1,
        field2 := p_int2
    }
    
    template R m_tmod(integer p_int1 := -, in integer p_int2 := 6) modifies m_t := {
        field1 := p_int1,
        field2 := p_int2
    }
}
+41 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:5.4.1.1, verify that template definitions cannot contain out value formal parameters
 ** @verdict  pass reject
 ***************************************************/

// The following requirement is tested:
// Restriction b)
// Formal value parameters of templates ... shall always be in parameters.

module NegSem_05040101_parameters_of_kind_value_003 { 
	type component GeneralComp {
	}	
    
    type record R
    {
        integer field1,
        integer field2
    }

    function f(out integer p_int) return integer {
        p_int := 2;
        return p_int;
    }
    
    template R m_t(out integer p_int) := {
        field1 := 0,
        field2 := f(p_int)
    }
    
	testcase TC_NegSem_05040101_parameters_of_kind_value_003() runs on GeneralComp {
        var integer v_int;
        log(m_t(v_int));        
        setverdict(pass);
	}

	control{
		execute(TC_NegSem_05040101_parameters_of_kind_value_003());
	}
}
+41 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:5.4.1.1, verify that template definitions cannot contain inout value formal parameters
 ** @verdict  pass reject
 ***************************************************/

// The following requirement is tested:
// Restriction b)
// Formal value parameters of templates ... shall always be in parameters.

module NegSem_05040101_parameters_of_kind_value_004 { 
	type component GeneralComp {
	}	
    
    type record R
    {
        integer field1,
        integer field2
    }

    function f(inout integer p_int) return integer {
        p_int := p_int * 2;
        return p_int;
    }
    
    template R m_t(inout integer p_int) := {
        field1 := 0,
        field2 := f(p_int)
    }
    
	testcase TC_NegSem_05040101_parameters_of_kind_value_004() runs on GeneralComp {
        var integer v_int := 1;
        log(m_t(v_int));        
        setverdict(pass);
	}

	control{
		execute(TC_NegSem_05040101_parameters_of_kind_value_004());
	}
}
+29 −0
Original line number Diff line number Diff line
/***************************************************
 ** @author   STF 487
 ** @version  0.0.1
 ** @purpose  1:5.4.1.1, verify that out value formal parameters cannot have default values
 ** @verdict  pass reject
 ***************************************************/

// The following requirement is tested:
// Restriction d)
// Default values can be provided for in parameters only.

module NegSem_05040101_parameters_of_kind_value_005 { 
	type component GeneralComp {
	}	

    function f(out integer p_int := 5) {
    }
    
	testcase TC_NegSem_05040101_parameters_of_kind_value_005() runs on GeneralComp {
        var integer v_int;
        f(v_int);
        log(v_int);
        setverdict(pass);
	}

	control{
		execute(TC_NegSem_05040101_parameters_of_kind_value_005());
	}
}
Loading