Das Testprogramm

Um den aus der Ent­schei­dungs­ta­belle gene­rier­ten 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.