mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
174 lines
4.7 KiB
ABAP
174 lines
4.7 KiB
ABAP
*----------------------------------------------------------------------*
|
|
* CLASS ltcl_convert DEFINITION
|
|
*----------------------------------------------------------------------*
|
|
*
|
|
*----------------------------------------------------------------------*
|
|
CLASS ltcl_convert DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
|
|
|
PRIVATE SECTION.
|
|
METHODS convert_int FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS split_string FOR TESTING.
|
|
METHODS convert_bitbyte FOR TESTING RAISING zcx_abapgit_exception.
|
|
METHODS string_to_xstring_utf8 FOR TESTING.
|
|
METHODS xstring_to_string_utf8 FOR TESTING.
|
|
METHODS base64_to_xstring FOR TESTING.
|
|
METHODS conversion_exit_isola_output FOR TESTING.
|
|
METHODS alpha_output FOR TESTING.
|
|
|
|
ENDCLASS.
|
|
|
|
*----------------------------------------------------------------------*
|
|
* CLASS ltcl_convert IMPLEMENTATION
|
|
*----------------------------------------------------------------------*
|
|
*
|
|
*----------------------------------------------------------------------*
|
|
CLASS ltcl_convert IMPLEMENTATION.
|
|
|
|
METHOD conversion_exit_isola_output.
|
|
|
|
DATA lv_laiso TYPE laiso.
|
|
|
|
lv_laiso = zcl_abapgit_convert=>conversion_exit_isola_output( 'E' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lv_laiso
|
|
exp = 'EN' ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD base64_to_xstring.
|
|
|
|
DATA lv_result TYPE xstring.
|
|
|
|
lv_result = zcl_abapgit_convert=>base64_to_xstring( 'YWJhcA==' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lv_result
|
|
exp = '61626170' ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD string_to_xstring_utf8.
|
|
|
|
DATA lv_result TYPE xstring.
|
|
|
|
lv_result = zcl_abapgit_convert=>string_to_xstring_utf8( 'abc' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lv_result
|
|
exp = '616263' ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD xstring_to_string_utf8.
|
|
|
|
DATA lv_result TYPE string.
|
|
|
|
lv_result = zcl_abapgit_convert=>xstring_to_string_utf8( '616263' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = lv_result
|
|
exp = 'abc' ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD alpha_output.
|
|
|
|
DATA lv_alpha TYPE c LENGTH 10 VALUE '0000001234'.
|
|
DATA lv_numc TYPE n LENGTH 6 VALUE '001234'.
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = zcl_abapgit_convert=>alpha_output( lv_alpha )
|
|
exp = '1234' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = zcl_abapgit_convert=>alpha_output( lv_numc )
|
|
exp = '1234' ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD convert_bitbyte.
|
|
|
|
DATA: lv_xstring TYPE xstring,
|
|
lv_byte TYPE x,
|
|
lv_input TYPE i,
|
|
lv_bitbyte TYPE zif_abapgit_definitions=>ty_bitbyte,
|
|
lv_byteint TYPE i,
|
|
lv_xbyteint TYPE xstring,
|
|
lv_xresult TYPE xstring,
|
|
lv_result TYPE i,
|
|
lv_offset TYPE i.
|
|
|
|
DO 1000 TIMES.
|
|
|
|
lv_result = 0.
|
|
CLEAR: lv_byteint, lv_xbyteint, lv_xresult.
|
|
|
|
lv_input = sy-index * 64.
|
|
lv_xstring = zcl_abapgit_convert=>int_to_xstring4( lv_input ).
|
|
DO 4 TIMES.
|
|
lv_offset = sy-index - 1.
|
|
lv_byte = lv_xstring+lv_offset(1).
|
|
lv_bitbyte = zcl_abapgit_convert=>x_to_bitbyte( lv_byte ).
|
|
lv_byteint = zcl_abapgit_convert=>bitbyte_to_int( lv_bitbyte ).
|
|
lv_xbyteint = lv_byteint.
|
|
CONCATENATE lv_xresult lv_xbyteint INTO lv_xresult
|
|
IN BYTE MODE.
|
|
ENDDO.
|
|
lv_result = zcl_abapgit_convert=>xstring_to_int( lv_xresult ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = lv_input
|
|
act = lv_result ).
|
|
|
|
ENDDO.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD convert_int.
|
|
|
|
DATA: lv_xstring TYPE xstring,
|
|
lv_input TYPE i,
|
|
lv_result TYPE i.
|
|
|
|
|
|
DO 1000 TIMES.
|
|
lv_input = sy-index.
|
|
lv_xstring = zcl_abapgit_convert=>int_to_xstring4( lv_input ).
|
|
lv_result = zcl_abapgit_convert=>xstring_to_int( lv_xstring ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = lv_input
|
|
act = lv_result ).
|
|
ENDDO.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD split_string.
|
|
|
|
DATA: lt_act TYPE string_table,
|
|
lt_exp TYPE string_table.
|
|
|
|
APPEND 'ABC' TO lt_exp.
|
|
APPEND '123' TO lt_exp.
|
|
|
|
" Case 1: String separated by CRLF
|
|
lt_act = zcl_abapgit_convert=>split_string( 'ABC' && cl_abap_char_utilities=>cr_lf && '123' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals( exp = lt_exp
|
|
act = lt_act
|
|
msg = ' Error during string split: CRLF' ).
|
|
|
|
CLEAR: lt_act.
|
|
|
|
" Case 2: String separated by LF
|
|
lt_act = zcl_abapgit_convert=>split_string( 'ABC' && cl_abap_char_utilities=>newline && '123' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals( exp = lt_exp
|
|
act = lt_act
|
|
msg = ' Error during string split: LF' ).
|
|
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|