mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
106 lines
2.5 KiB
ABAP
106 lines
2.5 KiB
ABAP
CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL.
|
|
|
|
PRIVATE SECTION.
|
|
DATA mv_json TYPE string.
|
|
DATA ms_config TYPE zif_abapgit_data_config=>ty_config.
|
|
|
|
METHODS setup.
|
|
METHODS double_add_config FOR TESTING RAISING cx_static_check.
|
|
METHODS to_json FOR TESTING RAISING cx_static_check.
|
|
METHODS from_json
|
|
IMPORTING it_files TYPE zif_abapgit_git_definitions=>ty_files_tt
|
|
RAISING cx_static_check.
|
|
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS ltcl_test IMPLEMENTATION.
|
|
|
|
METHOD setup.
|
|
|
|
mv_json = |\{\n| &&
|
|
| "name": "DUMMY",\n| &&
|
|
| "skip_initial": false,\n| &&
|
|
| "type": "TABU",\n| &&
|
|
| "where": [\n| &&
|
|
| "DUMMY"\n| &&
|
|
| ]\n| &&
|
|
|\}|.
|
|
|
|
ms_config-type = zif_abapgit_data_config=>c_data_type-tabu.
|
|
ms_config-name = 'DUMMY'.
|
|
APPEND 'DUMMY' TO ms_config-where.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD double_add_config.
|
|
|
|
DATA li_config TYPE REF TO zif_abapgit_data_config.
|
|
DATA ls_config TYPE zif_abapgit_data_config=>ty_config.
|
|
|
|
CREATE OBJECT li_config TYPE zcl_abapgit_data_config.
|
|
|
|
ls_config-name = 'HELLO'.
|
|
ls_config-type = zif_abapgit_data_config=>c_data_type-tabu.
|
|
APPEND 'foo' TO ls_config-where.
|
|
|
|
li_config->add_config( ls_config ).
|
|
|
|
CLEAR ls_config-where.
|
|
APPEND 'bar' TO ls_config-where.
|
|
li_config->add_config( ls_config ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lines( li_config->get_configs( ) )
|
|
exp = 1 ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD to_json.
|
|
|
|
DATA li_config TYPE REF TO zif_abapgit_data_config.
|
|
DATA lt_files TYPE zif_abapgit_git_definitions=>ty_files_tt.
|
|
DATA ls_file LIKE LINE OF lt_files.
|
|
DATA lv_json TYPE string.
|
|
|
|
|
|
CREATE OBJECT li_config TYPE zcl_abapgit_data_config.
|
|
li_config->add_config( ms_config ).
|
|
|
|
lt_files = li_config->to_json( ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lines( lt_files )
|
|
exp = 1 ).
|
|
|
|
READ TABLE lt_files INDEX 1 INTO ls_file.
|
|
cl_abap_unit_assert=>assert_subrc( ).
|
|
|
|
cl_abap_unit_assert=>assert_not_initial( ls_file-data ).
|
|
|
|
lv_json = zcl_abapgit_convert=>xstring_to_string_utf8( ls_file-data ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lv_json
|
|
exp = mv_json ).
|
|
|
|
from_json( lt_files ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD from_json.
|
|
|
|
DATA li_config TYPE REF TO zif_abapgit_data_config.
|
|
|
|
CREATE OBJECT li_config TYPE zcl_abapgit_data_config.
|
|
|
|
li_config->from_json( it_files ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lines( li_config->get_configs( ) )
|
|
exp = 1 ).
|
|
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|