Loading ttcn/LibSmartAppliances/SmartAppliances_Pics.ttcn +2 −0 Original line number Diff line number Diff line Loading @@ -11,5 +11,7 @@ module SmartAppliances_Pics { modulepar boolean PICS_SAP_AE := true; modulepar boolean PICS_SAP_SERVICE := true; modulepar boolean PICS_SAP_DEVICE := true; modulepar boolean PICS_SAP_FUNCTION := true; modulepar boolean PICS_SAP_COMMAND := true; } No newline at end of file ttcn/SmartAppliances_TestControl.ttcn +34 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,40 @@ module SmartAppliances_TestControl { execute(TC_SAP_SAREF_BV_007_01()); execute(TC_SAP_SAREF_BV_007_02()); } if(PICS_SAP_FUNCTION == true) { execute(TC_SAP_SAREF_BV_008_01()); execute(TC_SAP_SAREF_BV_008_02()); execute(TC_SAP_SAREF_BV_008_03()); execute(TC_SAP_SAREF_BV_008_04()); execute(TC_SAP_SAREF_BV_008_05()); execute(TC_SAP_SAREF_BV_008_06()); execute(TC_SAP_SAREF_BV_008_07()); execute(TC_SAP_SAREF_BV_008_08()); } if(PICS_SAP_FUNCTION == true) { execute(TC_SAP_SAREF_BV_009_01()); execute(TC_SAP_SAREF_BV_009_02()); execute(TC_SAP_SAREF_BV_009_03()); execute(TC_SAP_SAREF_BV_009_04()); execute(TC_SAP_SAREF_BV_009_05()); execute(TC_SAP_SAREF_BV_009_06()); execute(TC_SAP_SAREF_BV_009_07()); execute(TC_SAP_SAREF_BV_009_08()); execute(TC_SAP_SAREF_BV_009_09()); execute(TC_SAP_SAREF_BV_009_10()); execute(TC_SAP_SAREF_BV_009_11()); execute(TC_SAP_SAREF_BV_009_12()); execute(TC_SAP_SAREF_BV_009_13()); execute(TC_SAP_SAREF_BV_009_14()); execute(TC_SAP_SAREF_BV_009_15()); execute(TC_SAP_SAREF_BV_009_16()); execute(TC_SAP_SAREF_BV_009_17()); execute(TC_SAP_SAREF_BV_009_18()); execute(TC_SAP_SAREF_BV_009_19()); execute(TC_SAP_SAREF_BV_009_20()); } } } Loading ttcn/SmartAppliances_Testcases.ttcn +641 −5 Original line number Diff line number Diff line Loading @@ -261,6 +261,7 @@ module SmartAppliances_Testcases { /** * @desc Check that the IUT creates for an instantiation of a Device class or subclass * <semanticDescriptor> resource * @param p_expectedRfDescriptor Expected RDF descriptor content (template) * @see SmartM2M 103 268-3 - TP/SAP/SAREF/BV/006 */ function f_SAP_SAREF_BV_006(in template RdfDocument p_expectedRfDescriptor) runs on SmartAppliancesTester system SmartAppliancesSystem { Loading Loading @@ -312,6 +313,10 @@ module SmartAppliances_Testcases { } // end f_SAP_SAREF_BV_006 /** * @desc Permutation #1 of TP/SAP/SAREF/BV/006: saref:Device * @see f_SAP_SAREF_BV_006 */ testcase TC_SAP_SAREF_BV_006_01() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local templates Loading @@ -330,6 +335,7 @@ module SmartAppliances_Testcases { /** * @desc Check that the IUT instantiates the required <semanticDescriptor> for a Service class or * subclass. * @param p_expectedRfDescriptor Expected RDF descriptor content (template) * @see SmartM2M 103 268-3 - TP/SAP/SAREF/BV/007 */ function f_SAP_SAREF_BV_007(in template RdfDocument p_expectedRfDescriptor) runs on SmartAppliancesTester system SmartAppliancesSystem { Loading Loading @@ -381,6 +387,10 @@ module SmartAppliances_Testcases { } // end f_SAP_SAREF_BV_007 /** * @desc Permutation #1 of TP/SAP/SAREF/BV/007: saref:Service * @see f_SAP_SAREF_BV_007 */ testcase TC_SAP_SAREF_BV_007_01() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const Loading @@ -389,12 +399,16 @@ module SmartAppliances_Testcases { // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_service, ?, ?} ) ); f_SAP_SAREF_BV_007(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_007_01 /** * @desc Permutation #2 of TP/SAP/SAREF/BV/007: saref:SwitchOnService * @see f_SAP_SAREF_BV_007 */ testcase TC_SAP_SAREF_BV_007_02() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const Loading @@ -403,7 +417,7 @@ module SmartAppliances_Testcases { // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_service, ?, ?} ) ); f_SAP_SAREF_BV_007(m_rdfDescriptor); Loading @@ -411,5 +425,627 @@ module SmartAppliances_Testcases { } // end g_SAP_SAREF_BV_007 group g_SAP_SAREF_BV_008 { /** * @desc Check that the IUT instantiates the required <semanticDescriptor> for a Functionality class or * subclass. * @param p_expectedRfDescriptor Expected RDF descriptor content (template) * @see SmartM2M 103 268-3 - TP/SAP/SAREF/BV/008 */ function f_SAP_SAREF_BV_008(in template RdfDocument p_expectedRfDescriptor) runs on SmartAppliancesTester system SmartAppliancesSystem { // Local variables var MsgIn v_request; var verdicttype v_verdict; var charstring v_verdictMsg; // Test control if(not (PICS_SAP_AE and PICS_SAP_FUNCTION)) { setverdict(none, testcasename() & ": ERROR: PICS_SAP_AE and PICS_SAP_FUNCTION required for executing the TC"); stop; } // Test component configuration f_cf03Up(); // Test adapter configuration // Preamble f_ae_preamble_registerAe(); // Test Body tc_ac.start; alt { // TODO: check Name, From and To fields [] mcaPort.receive(mw_request(mw_createSemanticDescriptor)) -> value v_request{ tc_ac.stop; v_verdict := f_checkRdfDescriptor(v_request.primitive.requestPrimitive.primitiveContent.any_1[0].SemanticDescriptor_optional.descriptor, p_expectedRfDescriptor, v_verdictMsg); setverdict(v_verdict, testcasename() & ": " & v_verdictMsg); } [] mcaPort.receive(mw_request(?)) { tc_ac.stop; setverdict(fail, testcasename() & ": ERROR: Incorrect request received"); } [] tc_ac.timeout { setverdict(inconc, testcasename() & ": TIMEOUT: No CREATE request received"); } } // Postamble f_ae_postamble_default(); // Tear down f_cf03Down(); } // end f_SAP_SAREF_BV_008 /** * @desc Permutation #1 of TP/SAP/SAREF/BV/008: saref:Function * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_01() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "Function"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_01 /** * @desc Permutation #2 of TP/SAP/SAREF/BV/008: saref:ActuatingFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_02() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "ActuatingFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_02 /** * @desc Permutation #3 of TP/SAP/SAREF/BV/008: saref:OnOffFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_03() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "OnOffFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_03 /** * @desc Permutation #4 of TP/SAP/SAREF/BV/008: saref:OpenCloseFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_04() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "OpenCloseFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_04 /** * @desc Permutation #5 of TP/SAP/SAREF/BV/008: saref:StartStopFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_05() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "StartStopFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_05 /** * @desc Permutation #6 of TP/SAP/SAREF/BV/008: saref:EventFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_06() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "EventFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_06 /** * @desc Permutation #7 of TP/SAP/SAREF/BV/008: saref:MeteringFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_07() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "MeteringFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_07 /** * @desc Permutation #8 of TP/SAP/SAREF/BV/008: saref:SensingFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_08() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "SensingFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_08 } // end g_SAP_SAREF_BV_008 group g_SAP_SAREF_BV_009 { /** * @desc Check that the IUT instantiates the required <semanticDescriptor> for a Command class or * subclass. * @param p_expectedRfDescriptor Expected RDF descriptor content (template) * @see SmartM2M 103 268-3 - TP/SAP/SAREF/BV/009 */ function f_SAP_SAREF_BV_009(in template RdfDocument p_expectedRfDescriptor) runs on SmartAppliancesTester system SmartAppliancesSystem { // Local variables var MsgIn v_request; var verdicttype v_verdict; var charstring v_verdictMsg; // Test control if(not (PICS_SAP_AE and PICS_SAP_COMMAND)) { setverdict(none, testcasename() & ": ERROR: PICS_SAP_AE and PICS_SAP_COMMAND required for executing the TC"); stop; } // Test component configuration f_cf03Up(); // Test adapter configuration // Preamble f_ae_preamble_registerAe(); // Test Body tc_ac.start; alt { // TODO: check Name, From and To fields [] mcaPort.receive(mw_request(mw_createSemanticDescriptor)) -> value v_request{ tc_ac.stop; v_verdict := f_checkRdfDescriptor(v_request.primitive.requestPrimitive.primitiveContent.any_1[0].SemanticDescriptor_optional.descriptor, p_expectedRfDescriptor, v_verdictMsg); setverdict(v_verdict, testcasename() & ": " & v_verdictMsg); } [] mcaPort.receive(mw_request(?)) { tc_ac.stop; setverdict(fail, testcasename() & ": ERROR: Incorrect request received"); } [] tc_ac.timeout { setverdict(inconc, testcasename() & ": TIMEOUT: No CREATE request received"); } } // Postamble f_ae_postamble_default(); // Tear down f_cf03Down(); } // end f_SAP_SAREF_BV_009 /** * @desc Permutation #1 of TP/SAP/SAREF/BV/009: saref:Command * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_01() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "Command"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_01 /** * @desc Permutation #2 of TP/SAP/SAREF/BV/009: saref:CloseCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_02() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "CloseCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_02 /** * @desc Permutation #3 of TP/SAP/SAREF/BV/009: saref:GetCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_03() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_03 /** * @desc Permutation #4 of TP/SAP/SAREF/BV/009: saref:GetCurrentMeterValueCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_04() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetCurrentMeterValueCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_04 /** * @desc Permutation #5 of TP/SAP/SAREF/BV/009: saref:GetMeterDataCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_05() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetMeterDataCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_05 /** * @desc Permutation #6 of TP/SAP/SAREF/BV/009: saref:GetMeterHistoryCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_06() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetMeterHistoryCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_06 /** * @desc Permutation #7 of TP/SAP/SAREF/BV/009: saref:GetSensingDataCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_07() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetSensingDataCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_07 /** * @desc Permutation #8 of TP/SAP/SAREF/BV/009: saref:NotifyCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_08() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "NotifyCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_08 /** * @desc Permutation #9 of TP/SAP/SAREF/BV/009: saref:OffCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_09() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "OffCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_09 /** * @desc Permutation #10 of TP/SAP/SAREF/BV/009: saref:OnCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_10() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "OnCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_10 /** * @desc Permutation #11 of TP/SAP/SAREF/BV/009: saref:OpenCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_11() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "OpenCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_11 /** * @desc Permutation #12 of TP/SAP/SAREF/BV/009: saref:PauseCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_12() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "PauseCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_12 /** * @desc Permutation #13 of TP/SAP/SAREF/BV/009: saref:SetLevelCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_13() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "SetLevelCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_13 /** * @desc Permutation #14 of TP/SAP/SAREF/BV/009: saref:SetAbsoluteLevelCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_14() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "SetAbsoluteLevelCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_14 /** * @desc Permutation #15 of TP/SAP/SAREF/BV/009: saref:SetRelativeLevelCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_15() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "SetRelativeLevelCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_15 /** * @desc Permutation #16 of TP/SAP/SAREF/BV/009: saref:StartCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_16() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "StartCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_16 /** * @desc Permutation #17 of TP/SAP/SAREF/BV/009: saref:StepDownCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_17() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "StepDownCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_17 /** * @desc Permutation #18 of TP/SAP/SAREF/BV/009: saref:StepUpCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_18() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "StepUpCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_18 /** * @desc Permutation #19 of TP/SAP/SAREF/BV/009: saref:StopCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_19() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "StopCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_19 /** * @desc Permutation #20 of TP/SAP/SAREF/BV/009: saref:ToggleCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_20() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "ToggleCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_20 } // end g_SAP_SAREF_BV_009 } // end g_saref } No newline at end of file Loading
ttcn/LibSmartAppliances/SmartAppliances_Pics.ttcn +2 −0 Original line number Diff line number Diff line Loading @@ -11,5 +11,7 @@ module SmartAppliances_Pics { modulepar boolean PICS_SAP_AE := true; modulepar boolean PICS_SAP_SERVICE := true; modulepar boolean PICS_SAP_DEVICE := true; modulepar boolean PICS_SAP_FUNCTION := true; modulepar boolean PICS_SAP_COMMAND := true; } No newline at end of file
ttcn/SmartAppliances_TestControl.ttcn +34 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,40 @@ module SmartAppliances_TestControl { execute(TC_SAP_SAREF_BV_007_01()); execute(TC_SAP_SAREF_BV_007_02()); } if(PICS_SAP_FUNCTION == true) { execute(TC_SAP_SAREF_BV_008_01()); execute(TC_SAP_SAREF_BV_008_02()); execute(TC_SAP_SAREF_BV_008_03()); execute(TC_SAP_SAREF_BV_008_04()); execute(TC_SAP_SAREF_BV_008_05()); execute(TC_SAP_SAREF_BV_008_06()); execute(TC_SAP_SAREF_BV_008_07()); execute(TC_SAP_SAREF_BV_008_08()); } if(PICS_SAP_FUNCTION == true) { execute(TC_SAP_SAREF_BV_009_01()); execute(TC_SAP_SAREF_BV_009_02()); execute(TC_SAP_SAREF_BV_009_03()); execute(TC_SAP_SAREF_BV_009_04()); execute(TC_SAP_SAREF_BV_009_05()); execute(TC_SAP_SAREF_BV_009_06()); execute(TC_SAP_SAREF_BV_009_07()); execute(TC_SAP_SAREF_BV_009_08()); execute(TC_SAP_SAREF_BV_009_09()); execute(TC_SAP_SAREF_BV_009_10()); execute(TC_SAP_SAREF_BV_009_11()); execute(TC_SAP_SAREF_BV_009_12()); execute(TC_SAP_SAREF_BV_009_13()); execute(TC_SAP_SAREF_BV_009_14()); execute(TC_SAP_SAREF_BV_009_15()); execute(TC_SAP_SAREF_BV_009_16()); execute(TC_SAP_SAREF_BV_009_17()); execute(TC_SAP_SAREF_BV_009_18()); execute(TC_SAP_SAREF_BV_009_19()); execute(TC_SAP_SAREF_BV_009_20()); } } } Loading
ttcn/SmartAppliances_Testcases.ttcn +641 −5 Original line number Diff line number Diff line Loading @@ -261,6 +261,7 @@ module SmartAppliances_Testcases { /** * @desc Check that the IUT creates for an instantiation of a Device class or subclass * <semanticDescriptor> resource * @param p_expectedRfDescriptor Expected RDF descriptor content (template) * @see SmartM2M 103 268-3 - TP/SAP/SAREF/BV/006 */ function f_SAP_SAREF_BV_006(in template RdfDocument p_expectedRfDescriptor) runs on SmartAppliancesTester system SmartAppliancesSystem { Loading Loading @@ -312,6 +313,10 @@ module SmartAppliances_Testcases { } // end f_SAP_SAREF_BV_006 /** * @desc Permutation #1 of TP/SAP/SAREF/BV/006: saref:Device * @see f_SAP_SAREF_BV_006 */ testcase TC_SAP_SAREF_BV_006_01() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local templates Loading @@ -330,6 +335,7 @@ module SmartAppliances_Testcases { /** * @desc Check that the IUT instantiates the required <semanticDescriptor> for a Service class or * subclass. * @param p_expectedRfDescriptor Expected RDF descriptor content (template) * @see SmartM2M 103 268-3 - TP/SAP/SAREF/BV/007 */ function f_SAP_SAREF_BV_007(in template RdfDocument p_expectedRfDescriptor) runs on SmartAppliancesTester system SmartAppliancesSystem { Loading Loading @@ -381,6 +387,10 @@ module SmartAppliances_Testcases { } // end f_SAP_SAREF_BV_007 /** * @desc Permutation #1 of TP/SAP/SAREF/BV/007: saref:Service * @see f_SAP_SAREF_BV_007 */ testcase TC_SAP_SAREF_BV_007_01() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const Loading @@ -389,12 +399,16 @@ module SmartAppliances_Testcases { // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_service, ?, ?} ) ); f_SAP_SAREF_BV_007(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_007_01 /** * @desc Permutation #2 of TP/SAP/SAREF/BV/007: saref:SwitchOnService * @see f_SAP_SAREF_BV_007 */ testcase TC_SAP_SAREF_BV_007_02() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const Loading @@ -403,7 +417,7 @@ module SmartAppliances_Testcases { // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_service, ?, ?} ) ); f_SAP_SAREF_BV_007(m_rdfDescriptor); Loading @@ -411,5 +425,627 @@ module SmartAppliances_Testcases { } // end g_SAP_SAREF_BV_007 group g_SAP_SAREF_BV_008 { /** * @desc Check that the IUT instantiates the required <semanticDescriptor> for a Functionality class or * subclass. * @param p_expectedRfDescriptor Expected RDF descriptor content (template) * @see SmartM2M 103 268-3 - TP/SAP/SAREF/BV/008 */ function f_SAP_SAREF_BV_008(in template RdfDocument p_expectedRfDescriptor) runs on SmartAppliancesTester system SmartAppliancesSystem { // Local variables var MsgIn v_request; var verdicttype v_verdict; var charstring v_verdictMsg; // Test control if(not (PICS_SAP_AE and PICS_SAP_FUNCTION)) { setverdict(none, testcasename() & ": ERROR: PICS_SAP_AE and PICS_SAP_FUNCTION required for executing the TC"); stop; } // Test component configuration f_cf03Up(); // Test adapter configuration // Preamble f_ae_preamble_registerAe(); // Test Body tc_ac.start; alt { // TODO: check Name, From and To fields [] mcaPort.receive(mw_request(mw_createSemanticDescriptor)) -> value v_request{ tc_ac.stop; v_verdict := f_checkRdfDescriptor(v_request.primitive.requestPrimitive.primitiveContent.any_1[0].SemanticDescriptor_optional.descriptor, p_expectedRfDescriptor, v_verdictMsg); setverdict(v_verdict, testcasename() & ": " & v_verdictMsg); } [] mcaPort.receive(mw_request(?)) { tc_ac.stop; setverdict(fail, testcasename() & ": ERROR: Incorrect request received"); } [] tc_ac.timeout { setverdict(inconc, testcasename() & ": TIMEOUT: No CREATE request received"); } } // Postamble f_ae_postamble_default(); // Tear down f_cf03Down(); } // end f_SAP_SAREF_BV_008 /** * @desc Permutation #1 of TP/SAP/SAREF/BV/008: saref:Function * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_01() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "Function"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_01 /** * @desc Permutation #2 of TP/SAP/SAREF/BV/008: saref:ActuatingFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_02() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "ActuatingFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_02 /** * @desc Permutation #3 of TP/SAP/SAREF/BV/008: saref:OnOffFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_03() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "OnOffFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_03 /** * @desc Permutation #4 of TP/SAP/SAREF/BV/008: saref:OpenCloseFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_04() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "OpenCloseFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_04 /** * @desc Permutation #5 of TP/SAP/SAREF/BV/008: saref:StartStopFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_05() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "StartStopFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_05 /** * @desc Permutation #6 of TP/SAP/SAREF/BV/008: saref:EventFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_06() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "EventFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_06 /** * @desc Permutation #7 of TP/SAP/SAREF/BV/008: saref:MeteringFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_07() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "MeteringFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_07 /** * @desc Permutation #8 of TP/SAP/SAREF/BV/008: saref:SensingFunction * @see f_SAP_SAREF_BV_008 */ testcase TC_SAP_SAREF_BV_008_08() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_function := "SensingFunction"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_function, ?, ?} ); f_SAP_SAREF_BV_008(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_008_08 } // end g_SAP_SAREF_BV_008 group g_SAP_SAREF_BV_009 { /** * @desc Check that the IUT instantiates the required <semanticDescriptor> for a Command class or * subclass. * @param p_expectedRfDescriptor Expected RDF descriptor content (template) * @see SmartM2M 103 268-3 - TP/SAP/SAREF/BV/009 */ function f_SAP_SAREF_BV_009(in template RdfDocument p_expectedRfDescriptor) runs on SmartAppliancesTester system SmartAppliancesSystem { // Local variables var MsgIn v_request; var verdicttype v_verdict; var charstring v_verdictMsg; // Test control if(not (PICS_SAP_AE and PICS_SAP_COMMAND)) { setverdict(none, testcasename() & ": ERROR: PICS_SAP_AE and PICS_SAP_COMMAND required for executing the TC"); stop; } // Test component configuration f_cf03Up(); // Test adapter configuration // Preamble f_ae_preamble_registerAe(); // Test Body tc_ac.start; alt { // TODO: check Name, From and To fields [] mcaPort.receive(mw_request(mw_createSemanticDescriptor)) -> value v_request{ tc_ac.stop; v_verdict := f_checkRdfDescriptor(v_request.primitive.requestPrimitive.primitiveContent.any_1[0].SemanticDescriptor_optional.descriptor, p_expectedRfDescriptor, v_verdictMsg); setverdict(v_verdict, testcasename() & ": " & v_verdictMsg); } [] mcaPort.receive(mw_request(?)) { tc_ac.stop; setverdict(fail, testcasename() & ": ERROR: Incorrect request received"); } [] tc_ac.timeout { setverdict(inconc, testcasename() & ": TIMEOUT: No CREATE request received"); } } // Postamble f_ae_postamble_default(); // Tear down f_cf03Down(); } // end f_SAP_SAREF_BV_009 /** * @desc Permutation #1 of TP/SAP/SAREF/BV/009: saref:Command * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_01() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "Command"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_01 /** * @desc Permutation #2 of TP/SAP/SAREF/BV/009: saref:CloseCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_02() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "CloseCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_02 /** * @desc Permutation #3 of TP/SAP/SAREF/BV/009: saref:GetCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_03() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_03 /** * @desc Permutation #4 of TP/SAP/SAREF/BV/009: saref:GetCurrentMeterValueCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_04() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetCurrentMeterValueCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_04 /** * @desc Permutation #5 of TP/SAP/SAREF/BV/009: saref:GetMeterDataCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_05() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetMeterDataCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_05 /** * @desc Permutation #6 of TP/SAP/SAREF/BV/009: saref:GetMeterHistoryCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_06() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetMeterHistoryCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_06 /** * @desc Permutation #7 of TP/SAP/SAREF/BV/009: saref:GetSensingDataCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_07() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "GetSensingDataCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_07 /** * @desc Permutation #8 of TP/SAP/SAREF/BV/009: saref:NotifyCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_08() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "NotifyCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_08 /** * @desc Permutation #9 of TP/SAP/SAREF/BV/009: saref:OffCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_09() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "OffCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_09 /** * @desc Permutation #10 of TP/SAP/SAREF/BV/009: saref:OnCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_10() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "OnCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_10 /** * @desc Permutation #11 of TP/SAP/SAREF/BV/009: saref:OpenCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_11() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "OpenCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_11 /** * @desc Permutation #12 of TP/SAP/SAREF/BV/009: saref:PauseCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_12() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "PauseCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_12 /** * @desc Permutation #13 of TP/SAP/SAREF/BV/009: saref:SetLevelCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_13() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "SetLevelCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_13 /** * @desc Permutation #14 of TP/SAP/SAREF/BV/009: saref:SetAbsoluteLevelCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_14() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "SetAbsoluteLevelCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_14 /** * @desc Permutation #15 of TP/SAP/SAREF/BV/009: saref:SetRelativeLevelCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_15() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "SetRelativeLevelCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_15 /** * @desc Permutation #16 of TP/SAP/SAREF/BV/009: saref:StartCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_16() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "StartCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_16 /** * @desc Permutation #17 of TP/SAP/SAREF/BV/009: saref:StepDownCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_17() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "StepDownCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_17 /** * @desc Permutation #18 of TP/SAP/SAREF/BV/009: saref:StepUpCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_18() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "StepUpCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_18 /** * @desc Permutation #19 of TP/SAP/SAREF/BV/009: saref:StopCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_19() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "StopCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_19 /** * @desc Permutation #20 of TP/SAP/SAREF/BV/009: saref:ToggleCommand * @see f_SAP_SAREF_BV_009 */ testcase TC_SAP_SAREF_BV_009_20() runs on SmartAppliancesTester system SmartAppliancesSystem { // Local const const charstring c_command := "ToggleCommand"; // Local templates template RdfDocument m_rdfDescriptor := superset( {PX_DEVICE_URI & "*" & c_command, ?, ?} ); f_SAP_SAREF_BV_009(m_rdfDescriptor); } // end TC_SAP_SAREF_BV_009_20 } // end g_SAP_SAREF_BV_009 } // end g_saref } No newline at end of file