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 lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit.
|
||||
|
||||
PUBLIC SECTION.
|
||||
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.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS:
|
||||
build_default
|
||||
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,
|
||||
get_folder_logic
|
||||
RETURNING VALUE(rv_logic) TYPE string,
|
||||
* set_starting_folder
|
||||
* IMPORTING iv_path TYPE string,
|
||||
set_starting_folder
|
||||
IMPORTING iv_path TYPE string,
|
||||
get_master_language
|
||||
RETURNING VALUE(rv_language) TYPE spras,
|
||||
* set_master_language
|
||||
|
@ -220,9 +220,9 @@ CLASS lcl_dot_abapgit IMPLEMENTATION.
|
|||
rv_logic = ms_data-folder_logic.
|
||||
ENDMETHOD.
|
||||
|
||||
* METHOD set_starting_folder.
|
||||
* ms_data-starting_folder = iv_path.
|
||||
* ENDMETHOD.
|
||||
METHOD set_starting_folder.
|
||||
ms_data-starting_folder = iv_path.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_master_language.
|
||||
rv_language = ms_data-master_language.
|
||||
|
|
|
@ -92,3 +92,107 @@ CLASS lcl_folder_logic IMPLEMENTATION.
|
|||
ENDMETHOD. "class_to_path
|
||||
|
||||
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.
|
||||
|
||||
CLASS ltcl_folder_logic DEFINITION DEFERRED.
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* 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.
|
||||
CLASS-METHODS:
|
||||
|
@ -69,9 +72,9 @@ CLASS lcl_sap_package IMPLEMENTATION.
|
|||
|
||||
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.
|
||||
IF sy-subrc = 0.
|
||||
ASSERT sy-subrc = 0. " unit test should be in control
|
||||
ri_package = <ls_injected>-object.
|
||||
ELSE.
|
||||
CREATE OBJECT ri_package TYPE lcl_sap_package
|
||||
|
|
Loading…
Reference in New Issue
Block a user