abapGit/src/ui/zcl_abapgit_gui_page_diff.clas.testclasses.abap
2018-11-09 11:55:47 +01:00

137 lines
3.5 KiB
ABAP

*"* use this source file for your ABAP unit test classes
CLASS ltcl_patch DEFINITION FINAL FOR TESTING
DURATION SHORT
RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS:
get_patch_data_add FOR TESTING RAISING cx_static_check,
get_patch_data_remove FOR TESTING RAISING cx_static_check,
invalid_action FOR TESTING RAISING cx_static_check,
invalid_patch_missing_file FOR TESTING RAISING cx_static_check,
invalid_patch_missing_index FOR TESTING RAISING cx_static_check.
ENDCLASS.
CLASS zcl_abapgit_gui_page_diff DEFINITION LOCAL FRIENDS ltcl_patch.
CLASS ltcl_patch IMPLEMENTATION.
METHOD get_patch_data_add.
DATA: lv_file_name TYPE string,
lv_line_index TYPE string.
zcl_abapgit_gui_page_diff=>get_patch_data(
EXPORTING
iv_patch = |add_patch_zcl_test_git_add_p.clas.abap_19|
iv_action = |add|
IMPORTING
ev_filename = lv_file_name
ev_line_index = lv_line_index ).
cl_abap_unit_assert=>assert_equals(
exp = |zcl_test_git_add_p.clas.abap|
act = lv_file_name ).
cl_abap_unit_assert=>assert_equals(
exp = |19|
act = lv_line_index ).
ENDMETHOD.
METHOD get_patch_data_remove.
DATA: lv_file_name TYPE string,
lv_line_index TYPE string.
zcl_abapgit_gui_page_diff=>get_patch_data(
EXPORTING
iv_patch = |remove_patch_ztest_patch.prog.abap_39|
iv_action = |remove|
IMPORTING
ev_filename = lv_file_name
ev_line_index = lv_line_index ).
cl_abap_unit_assert=>assert_equals(
exp = |ztest_patch.prog.abap|
act = lv_file_name ).
cl_abap_unit_assert=>assert_equals(
exp = |39|
act = lv_line_index ).
ENDMETHOD.
METHOD invalid_action.
DATA: lx_error TYPE REF TO zcx_abapgit_exception.
TRY.
zcl_abapgit_gui_page_diff=>get_patch_data(
iv_patch = |remove_patch_ztest_patch.prog.abap_39|
iv_action = |mix| ).
cl_abap_unit_assert=>fail( ).
CATCH zcx_abapgit_exception INTO lx_error.
cl_abap_unit_assert=>assert_equals(
exp = |Invalid action mix|
act = lx_error->get_text( ) ).
ENDTRY.
ENDMETHOD.
METHOD invalid_patch_missing_file.
DATA: lv_file_name TYPE string,
lv_line_index TYPE string,
lx_error TYPE REF TO zcx_abapgit_exception.
TRY.
zcl_abapgit_gui_page_diff=>get_patch_data(
EXPORTING
iv_patch = |add_patch_39|
iv_action = |add|
IMPORTING
ev_filename = lv_file_name
ev_line_index = lv_line_index ).
cl_abap_unit_assert=>fail( ).
CATCH zcx_abapgit_exception INTO lx_error.
cl_abap_unit_assert=>assert_equals(
exp = |Invalid patch|
act = lx_error->get_text( ) ).
ENDTRY.
ENDMETHOD.
METHOD invalid_patch_missing_index.
DATA: lv_file_name TYPE string,
lv_line_index TYPE string,
lx_error TYPE REF TO zcx_abapgit_exception.
TRY.
zcl_abapgit_gui_page_diff=>get_patch_data(
EXPORTING
iv_patch = |remove_patch_ztest_patch.prog.abap|
iv_action = |remove|
IMPORTING
ev_filename = lv_file_name
ev_line_index = lv_line_index ).
cl_abap_unit_assert=>fail( ).
CATCH zcx_abapgit_exception INTO lx_error.
cl_abap_unit_assert=>assert_equals(
exp = |Invalid patch|
act = lx_error->get_text( ) ).
ENDTRY.
ENDMETHOD.
ENDCLASS.