mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 13:03:01 +08:00
unit tests for existing logic
This commit is contained in:
parent
9794b598c7
commit
a3fd8d8ece
|
@ -4,14 +4,14 @@
|
||||||
|
|
||||||
CLASS ltcl_dot_abapgit DEFINITION DEFERRED.
|
CLASS ltcl_dot_abapgit DEFINITION DEFERRED.
|
||||||
|
|
||||||
CONSTANTS: BEGIN OF c_folder_logic,
|
|
||||||
prefix TYPE string VALUE 'PREFIX',
|
|
||||||
full TYPE string VALUE 'FULL',
|
|
||||||
END OF c_folder_logic.
|
|
||||||
|
|
||||||
CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit.
|
CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
CONSTANTS: BEGIN OF c_folder_logic,
|
||||||
|
prefix TYPE string VALUE 'PREFIX',
|
||||||
|
full TYPE string VALUE 'FULL',
|
||||||
|
END OF c_folder_logic.
|
||||||
|
|
||||||
CLASS-METHODS:
|
CLASS-METHODS:
|
||||||
build_default
|
build_default
|
||||||
IMPORTING iv_master_language TYPE spras
|
IMPORTING iv_master_language TYPE spras
|
||||||
|
@ -39,8 +39,8 @@ CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit.
|
||||||
RETURNING VALUE(rv_path) TYPE string,
|
RETURNING VALUE(rv_path) TYPE string,
|
||||||
get_folder_logic
|
get_folder_logic
|
||||||
RETURNING VALUE(rv_logic) TYPE string,
|
RETURNING VALUE(rv_logic) TYPE string,
|
||||||
* set_starting_folder
|
set_starting_folder
|
||||||
* IMPORTING iv_path TYPE string,
|
IMPORTING iv_path TYPE string,
|
||||||
get_master_language
|
get_master_language
|
||||||
RETURNING VALUE(rv_language) TYPE spras,
|
RETURNING VALUE(rv_language) TYPE spras,
|
||||||
* set_master_language
|
* set_master_language
|
||||||
|
@ -220,9 +220,9 @@ CLASS lcl_dot_abapgit IMPLEMENTATION.
|
||||||
rv_logic = ms_data-folder_logic.
|
rv_logic = ms_data-folder_logic.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
* METHOD set_starting_folder.
|
METHOD set_starting_folder.
|
||||||
* ms_data-starting_folder = iv_path.
|
ms_data-starting_folder = iv_path.
|
||||||
* ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_master_language.
|
METHOD get_master_language.
|
||||||
rv_language = ms_data-master_language.
|
rv_language = ms_data-master_language.
|
||||||
|
|
|
@ -92,3 +92,107 @@ CLASS lcl_folder_logic IMPLEMENTATION.
|
||||||
ENDMETHOD. "class_to_path
|
ENDMETHOD. "class_to_path
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
CLASS ltcl_folder_logic DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
INTERFACES: lif_sap_package.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
CONSTANTS: lc_top TYPE devclass VALUE '$TOP',
|
||||||
|
lc_src TYPE string VALUE '/src/'.
|
||||||
|
|
||||||
|
METHODS:
|
||||||
|
setup,
|
||||||
|
teardown,
|
||||||
|
test_prefix
|
||||||
|
IMPORTING
|
||||||
|
iv_logic type string
|
||||||
|
iv_package TYPE devclass
|
||||||
|
iv_path TYPE string
|
||||||
|
RAISING lcx_exception,
|
||||||
|
prefix1 FOR TESTING RAISING lcx_exception,
|
||||||
|
prefix2 FOR TESTING RAISING lcx_exception.
|
||||||
|
|
||||||
|
ENDCLASS. "ltcl_convert DEFINITION
|
||||||
|
|
||||||
|
CLASS ltcl_folder_logic IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD lif_sap_package~list_subpackages.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD lif_sap_package~list_superpackages.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD lif_sap_package~read_parent.
|
||||||
|
rv_parentcl = '$TOP'.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD lif_sap_package~create_child.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD lif_sap_package~exists.
|
||||||
|
rv_bool = abap_true.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD setup.
|
||||||
|
FIELD-SYMBOLS: <ls_inject> LIKE LINE OF lcl_sap_package=>gt_injected.
|
||||||
|
|
||||||
|
CLEAR lcl_sap_package=>gt_injected.
|
||||||
|
|
||||||
|
APPEND INITIAL LINE TO lcl_sap_package=>gt_injected ASSIGNING <ls_inject>.
|
||||||
|
<ls_inject>-package = '$TOP'.
|
||||||
|
<ls_inject>-object = me.
|
||||||
|
|
||||||
|
APPEND INITIAL LINE TO lcl_sap_package=>gt_injected ASSIGNING <ls_inject>.
|
||||||
|
<ls_inject>-package = '$TOP_FOO'.
|
||||||
|
<ls_inject>-object = me.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD teardown.
|
||||||
|
CLEAR lcl_sap_package=>gt_injected.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD prefix1.
|
||||||
|
test_prefix( iv_logic = lcl_dot_abapgit=>c_folder_logic-prefix
|
||||||
|
iv_package = lc_top
|
||||||
|
iv_path = lc_src ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD prefix2.
|
||||||
|
test_prefix( iv_logic = lcl_dot_abapgit=>c_folder_logic-prefix
|
||||||
|
iv_package = '$TOP_FOO'
|
||||||
|
iv_path = '/src/foo/' ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD test_prefix.
|
||||||
|
|
||||||
|
DATA: lv_path TYPE string,
|
||||||
|
lv_package TYPE devclass,
|
||||||
|
lo_dot TYPE REF TO lcl_dot_abapgit.
|
||||||
|
|
||||||
|
|
||||||
|
lo_dot = lcl_dot_abapgit=>build_default( sy-langu ).
|
||||||
|
lo_dot->set_starting_folder( lc_src ).
|
||||||
|
|
||||||
|
lv_package = lcl_folder_logic=>path_to_package(
|
||||||
|
iv_top = lc_top
|
||||||
|
io_dot = lo_dot
|
||||||
|
iv_path = iv_path ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = lv_package
|
||||||
|
exp = iv_package ).
|
||||||
|
|
||||||
|
lv_path = lcl_folder_logic=>package_to_path(
|
||||||
|
iv_top = lc_top
|
||||||
|
io_dot = lo_dot
|
||||||
|
iv_package = iv_package ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = lv_path
|
||||||
|
exp = iv_path ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
|
@ -21,12 +21,15 @@ INTERFACE lif_sap_package.
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
||||||
|
CLASS ltcl_folder_logic DEFINITION DEFERRED.
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
* CLASS lcl_package DEFINITION
|
* CLASS lcl_package DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
*
|
*
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_sap_package DEFINITION FINAL CREATE PRIVATE.
|
CLASS lcl_sap_package DEFINITION FINAL CREATE PRIVATE
|
||||||
|
FRIENDS ltcl_folder_logic.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS:
|
CLASS-METHODS:
|
||||||
|
@ -69,9 +72,9 @@ CLASS lcl_sap_package IMPLEMENTATION.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_injected> LIKE LINE OF gt_injected.
|
FIELD-SYMBOLS: <ls_injected> LIKE LINE OF gt_injected.
|
||||||
|
|
||||||
|
IF lines( gt_injected ) > 0.
|
||||||
READ TABLE gt_injected ASSIGNING <ls_injected> WITH KEY package = iv_package.
|
READ TABLE gt_injected ASSIGNING <ls_injected> WITH KEY package = iv_package.
|
||||||
IF sy-subrc = 0.
|
ASSERT sy-subrc = 0. " unit test should be in control
|
||||||
ri_package = <ls_injected>-object.
|
ri_package = <ls_injected>-object.
|
||||||
ELSE.
|
ELSE.
|
||||||
CREATE OBJECT ri_package TYPE lcl_sap_package
|
CREATE OBJECT ri_package TYPE lcl_sap_package
|
||||||
|
|
Loading…
Reference in New Issue
Block a user