Das Testprogramm
Um den aus der Entscheidungstabelle generierten Programmcode testen zu können, wird ein Testprogramm "YLFET_TEST_COMPARE" erstellt:
REPORTylfet_test_compare.
-
TEST UNITS (Modultest)
CLASSlcl_testDEFINITION FORTESTING.
"#AU Risk_Level Harmless
"#AU Duration Short
PRIVATE SECTION.
DATA:
mo_utilTYPE REF TOycl_lfet_util,
mo_compareTYPE REF TOycl_lfet_compare.
METHODS:
setup,
teardown,
test_suite1FORTESTING,
runtestcaseIMPORTINGid_s1TYPEstring
id_s2TYPEstring
id_expectedresultTYPEstring.
ENDCLASS.
CLASSlcl_testIMPLEMENTATION.
METHODsetup.
CREATEOBJECT mo_compare.
CREATEOBJECT mo_util.
mo_util→setup(id_repid=sy-repid).
ENDMETHOD.
METHODtest_suite1.
runtestcase(id_s1='a’id_s2='b'
id_expectedresult=ycl_lfet_compare⇒mc_s1_lt_s2).
runtestcase(id_s1=' 'id_s2='b'
id_expectedresult=ycl_lfet_compare⇒mc_s1_lt_s2).
runtestcase(id_s1=''id_s2='b'
id_expectedresult=ycl_lfet_compare⇒mc_s1_lt_s2).
runtestcase(id_s1='a’id_s2='a'
id_expectedresult=ycl_lfet_compare⇒mc_s1_eq_s2).
runtestcase(id_s1=' 'id_s2=' '
id_expectedresult=ycl_lfet_compare⇒mc_s1_eq_s2).
runtestcase(id_s1=''id_s2=' '
id_expectedresult=ycl_lfet_compare⇒mc_s1_eq_s2).
runtestcase(id_s1=' 'id_s2=''
id_expectedresult=ycl_lfet_compare⇒mc_s1_eq_s2).
runtestcase(id_s1='a’id_s2=''
id_expectedresult=ycl_lfet_compare⇒mc_s1_gt_s2).
runtestcase(id_s1='a’id_s2=' '
id_expectedresult=ycl_lfet_compare⇒mc_s1_gt_s2).
runtestcase(id_s1='b’id_s2='a'
id_expectedresult=ycl_lfet_compare⇒mc_s1_gt_s2).
ENDMETHOD.
METHODruntestcase.
DATA:
lt_context_infoTYPE TABLE OFstring,
ld_context_infoLIKE LINE OFlt_context_info,
ld_resultTYPEstring.
ld_result=mo_compare→compare(id_str1=id_s1 id_str2=id_s2).
CONCATENATE’s1='id_s1INTOld_context_infoSEPARATED BYspace.
APPENDld_context_infoTOlt_context_info.
CONCATENATE’s2='id_s2INTOld_context_infoSEPARATED BYspace.
APPENDld_context_infoTOlt_context_info.
CALL METHODmo_util→check_result
EXPORTING
it_context_info=lt_context_info
id_result=ld_result
id_expectedresult=id_expectedresult.
ENDMETHOD.
METHODteardown.
CALL METHODmo_util→teardown
EXPORTING
id_filename='D:\Projekte\LF‑ET-Demo\ABAP\TestCompare.log'
EXCEPTIONS
write_error=1
OTHERS=2.
IFsy-subrc <>0.
MESSAGE IDsy-msgidTYPE’S’NUMBERsy-msgno
WITHsy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
DISPLAYLIKEsy-msgty.
ENDIF.
ENDMETHOD.
ENDCLASS.