Commit da9f8b3a authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ added ttcn-3 generation to standalone mode

parent 4fe2cd82
Loading
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -21,5 +21,7 @@ Require-Bundle: org.eclipse.core.runtime,
 org.eclipse.epsilon.evl.engine,
 org.etsi.mts.tdl.tools.to.docx.poi,
 org.etsi.mts.tdl.json2tdl,
 org.eclipse.emf.common
 org.eclipse.emf.common,
 org.etsi.mts.tdl.ttcn3,
 de.ugoe.cs.swe.TTCN3
Bundle-ClassPath: .
+15 −14
Original line number Diff line number Diff line
@@ -9,25 +9,26 @@ Package Wizardry {
    
    Message Gate http accepts string, integer, String, Integer
    Component node {
        gate http interface
        gate http interface1
        gate http interface2
        gate http interface3
    } 
    
    Configuration base {  
        node sut as SUT,
//        node sut as Tester,
        node sut_node as SUT,
//        node sut_node as Tester,
        node tester as Tester,
        connect sut::interface to tester::interface,
        connect sut::interface2 to tester::interface,
        connect sut::interface to tester::interface3
        connect sut_node::interface1 to tester::interface1,
        connect sut_node::interface2 to tester::interface1
        //TODO: TTCN-3 generation seems to have a problem with multiple connections on the same (system?) port..
        //connect sut_node::interface1 to tester::interface3
    }
    Test example uses base {
        tester::interface sends "hello"{string} to sut::interface
        tester::interface sends 1 {Integer} to sut::interface
        tester::interface sends 1 to sut::interface //TODO: unspecified type not resolved -> standard library Integer required
        tester::interface1 sends "hello"{string} to sut_node::interface1
        tester::interface1 sends 1 {Integer} to sut_node::interface1
        tester::interface1 sends 1 to sut_node::interface1 //TODO: unspecified type not resolved -> standard library Integer required
        //better error messages?
//        tester::interface3 receives 2 from sut::interface2
//        tester::interface3 receives 2 from sut_node::interface2
        
        
    }
@@ -50,10 +51,10 @@ Package Wizardry {
		Expected behaviour
		ensure that {
			when {
				tester::interface sends "hello" to sut::interface
				tester::interface1 sends "hello" to sut_node::interface1
			}	
			then {
				tester::interface receives "hello back" from sut::interface
				tester::interface1 receives "hello back" from sut_node::interface1
			}				
		} 		
	}		 
@@ -64,10 +65,10 @@ Package Wizardry {
		Expected behaviour
		ensure that {
			when {
				tester::interface sends "hello" to sut::interface
				tester::interface1 sends "hello" to sut_node::interface1
			}	
			then {
				tester::interface receives "hello back" from sut::interface
				tester::interface1 receives "hello back" from sut_node::interface1
			}				
		} 		
	}		
+84 −0
Original line number Diff line number Diff line
module Wizardry {
	modulepar float mp_componentElapsedTimerMaxDuration
	type charstring Wizardry_SimpleDataType
	type Wizardry_SimpleDataType TDLinteger
	type Wizardry_SimpleDataType string
	type record of TDLinteger iCol

	function setupTestConfiguration_base ( ) runs on MTC_base system SYSTEM_base {
		tester := node.create ;
		map ( system : sut_node_interface1 , tester :
		interface1_to_sut_node_interface1 ) ;
		map ( system : sut_node_interface2 , tester :
		interface1_to_sut_node_interface2 ) ;
	}

	type component MTC_base {
		var node tester ;
	}

	type component SYSTEM_base {
		port http sut_node_interface1 ;
		port http sut_node_interface2 ;
	}

	type component node {
		timer T_elapsedTimeOfComponent := mp_componentElapsedTimerMaxDuration ;
		port http interface1 ;
		port http interface2 ;
		port http interface1_to_sut_node_interface1 ;
		port http interface1_to_sut_node_interface2 ;
		port http interface3 ;
	}

	type port http message {
		inout string , TDLinteger , charstring , integer
	}

	function example ( ) runs on MTC_base {
		tester.start ( example_tester_main ( ) ) ;
	}

	function example_tester_main ( ) runs on node {
		interface1_to_sut_node_interface1.send ( "hello" ) ;
		interface1_to_sut_node_interface1.send ( 1 ) ;
		interface1_to_sut_node_interface1.send ( 1 ) ;
	}

	testcase tc_example ( ) runs on MTC_base system SYSTEM_base {
		setupTestConfiguration_base ( ) ;
		example ( ) ;
		all component.done ;
	}

	function exampl ( ) runs on MTC_base {
		tester.start ( exampl_tester_main ( ) ) ;
	}

	function exampl_tester_main ( ) runs on node {
		interface1_to_sut_node_interface1.send ( "hello" ) ;
		interface1_to_sut_node_interface1.receive ( "hello back" ) ;
	}

	testcase tc_exampl ( ) runs on MTC_base system SYSTEM_base {
		setupTestConfiguration_base ( ) ;
		exampl ( ) ;
		all component.done ;
	}

	function exampl2 ( ) runs on MTC_base {
		tester.start ( exampl2_tester_main ( ) ) ;
	}

	function exampl2_tester_main ( ) runs on node {
		interface1_to_sut_node_interface1.send ( "hello" ) ;
		interface1_to_sut_node_interface1.receive ( "hello back" ) ;
	}

	testcase tc_exampl2 ( ) runs on MTC_base system SYSTEM_base {
		setupTestConfiguration_base ( ) ;
		exampl2 ( ) ;
		all component.done ;
	}

}
 No newline at end of file
+601 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading