mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00

* remove unused * remove fstate * remove * false * AVAS, delete method insert_links * fstate * sotr * WAPA * ssfo * ddls mock
238 lines
5.5 KiB
ABAP
238 lines
5.5 KiB
ABAP
*"* use this source file for your ABAP unit test classes
|
|
|
|
CLASS ltcl_get_patch_data 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_patch_missing_file FOR TESTING RAISING cx_static_check,
|
|
invalid_patch_missing_index FOR TESTING RAISING cx_static_check.
|
|
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS ltcl_is_patch_line_possible DEFINITION FINAL FOR TESTING
|
|
DURATION SHORT
|
|
RISK LEVEL HARMLESS.
|
|
|
|
PRIVATE SECTION.
|
|
DATA:
|
|
mv_is_patch_line_possible TYPE abap_bool,
|
|
ms_diff_line TYPE zif_abapgit_definitions=>ty_diff,
|
|
mv_fstate TYPE char1.
|
|
|
|
METHODS:
|
|
initial_diff_line FOR TESTING RAISING cx_static_check,
|
|
for_update_patch_shd_be_possbl FOR TESTING RAISING cx_static_check,
|
|
for_insert_patch_shd_be_possbl FOR TESTING RAISING cx_static_check,
|
|
for_delete_patch_shd_be_possbl FOR TESTING RAISING cx_static_check,
|
|
|
|
given_diff_line
|
|
IMPORTING
|
|
is_diff_line TYPE zif_abapgit_definitions=>ty_diff OPTIONAL,
|
|
|
|
given_fstate
|
|
IMPORTING
|
|
iv_fstate TYPE char1,
|
|
|
|
when_is_patch_line_possible,
|
|
|
|
then_patch_shd_be_possible,
|
|
then_patch_shd_not_be_possible.
|
|
|
|
ENDCLASS.
|
|
|
|
CLASS zcl_abapgit_gui_page_patch DEFINITION LOCAL FRIENDS ltcl_is_patch_line_possible.
|
|
|
|
CLASS ltcl_get_patch_data IMPLEMENTATION.
|
|
|
|
METHOD get_patch_data_add.
|
|
|
|
DATA: lv_file_name TYPE string,
|
|
lv_line_index TYPE string.
|
|
|
|
zcl_abapgit_gui_page_patch=>get_patch_data(
|
|
EXPORTING
|
|
iv_patch = |patch_line_zcl_test_git_add_p.clas.abap_0_19|
|
|
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_patch=>get_patch_data(
|
|
EXPORTING
|
|
iv_patch = |patch_line_ztest_patch.prog.abap_0_39|
|
|
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_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_patch=>get_patch_data(
|
|
EXPORTING
|
|
iv_patch = |patch_39|
|
|
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_patch=>get_patch_data(
|
|
EXPORTING
|
|
iv_patch = |patch_ztest_patch.prog.abap|
|
|
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.
|
|
|
|
|
|
|
|
CLASS ltcl_is_patch_line_possible IMPLEMENTATION.
|
|
|
|
METHOD initial_diff_line.
|
|
|
|
given_diff_line( ).
|
|
when_is_patch_line_possible( ).
|
|
then_patch_shd_not_be_possible( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD for_update_patch_shd_be_possbl.
|
|
|
|
DATA: ls_diff_line TYPE zif_abapgit_definitions=>ty_diff.
|
|
|
|
ls_diff_line-result = zif_abapgit_definitions=>c_diff-update.
|
|
|
|
given_diff_line( ls_diff_line ).
|
|
when_is_patch_line_possible( ).
|
|
then_patch_shd_be_possible( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD for_insert_patch_shd_be_possbl.
|
|
|
|
DATA: ls_diff_line TYPE zif_abapgit_definitions=>ty_diff.
|
|
|
|
ls_diff_line-result = zif_abapgit_definitions=>c_diff-insert.
|
|
|
|
given_diff_line( ls_diff_line ).
|
|
when_is_patch_line_possible( ).
|
|
then_patch_shd_be_possible( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD for_delete_patch_shd_be_possbl.
|
|
|
|
DATA: ls_diff_line TYPE zif_abapgit_definitions=>ty_diff.
|
|
|
|
ls_diff_line-result = zif_abapgit_definitions=>c_diff-delete.
|
|
|
|
given_diff_line( ls_diff_line ).
|
|
when_is_patch_line_possible( ).
|
|
then_patch_shd_be_possible( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD when_is_patch_line_possible.
|
|
|
|
mv_is_patch_line_possible = zcl_abapgit_gui_page_patch=>is_patch_line_possible( ms_diff_line ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD then_patch_shd_be_possible.
|
|
|
|
cl_abap_unit_assert=>assert_not_initial(
|
|
act = mv_is_patch_line_possible
|
|
msg = |Patch should be possible| ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD then_patch_shd_not_be_possible.
|
|
|
|
cl_abap_unit_assert=>assert_initial(
|
|
act = mv_is_patch_line_possible
|
|
msg = |Patch should not be possible| ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD given_diff_line.
|
|
|
|
ms_diff_line = is_diff_line.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD given_fstate.
|
|
|
|
mv_fstate = iv_fstate.
|
|
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|