diff --git a/src/zlib/zcl_abapgit_zlib_convert.clas.abap b/src/zlib/zcl_abapgit_zlib_convert.clas.abap index 6aa88a8fd..5102f7257 100644 --- a/src/zlib/zcl_abapgit_zlib_convert.clas.abap +++ b/src/zlib/zcl_abapgit_zlib_convert.clas.abap @@ -1,17 +1,24 @@ -CLASS zcl_abapgit_zlib_convert DEFINITION PUBLIC CREATE PUBLIC. +CLASS zcl_abapgit_zlib_convert DEFINITION + PUBLIC + CREATE PUBLIC . PUBLIC SECTION. - CLASS-METHODS: - hex_to_bits - IMPORTING iv_hex TYPE xsequence - RETURNING VALUE(rv_bits) TYPE string, - bits_to_int - IMPORTING iv_bits TYPE clike - RETURNING VALUE(rv_int) TYPE i, - int_to_hex - IMPORTING iv_int TYPE i - RETURNING VALUE(rv_hex) TYPE xstring. + CLASS-METHODS hex_to_bits + IMPORTING + !iv_hex TYPE xsequence + RETURNING + VALUE(rv_bits) TYPE string . + CLASS-METHODS bits_to_int + IMPORTING + !iv_bits TYPE clike + RETURNING + VALUE(rv_int) TYPE i . + CLASS-METHODS int_to_hex + IMPORTING + !iv_int TYPE i + RETURNING + VALUE(rv_hex) TYPE xstring . ENDCLASS. diff --git a/src/zlib/zcl_abapgit_zlib_convert.clas.testclasses.abap b/src/zlib/zcl_abapgit_zlib_convert.clas.testclasses.abap new file mode 100644 index 000000000..7eed45add --- /dev/null +++ b/src/zlib/zcl_abapgit_zlib_convert.clas.testclasses.abap @@ -0,0 +1,61 @@ + +CLASS ltcl_test DEFINITION FOR TESTING + DURATION SHORT + RISK LEVEL HARMLESS FINAL. + + PRIVATE SECTION. + DATA: + mo_cut TYPE REF TO zcl_abapgit_zlib_convert. + + METHODS: + setup, + bits_to_int FOR TESTING, + hex_to_bits FOR TESTING, + int_to_hex FOR TESTING. + +ENDCLASS. + + +CLASS ltcl_test IMPLEMENTATION. + + METHOD setup. + CREATE OBJECT mo_cut. + ENDMETHOD. + + METHOD bits_to_int. + + DATA: lv_result TYPE i. + + lv_result = mo_cut->bits_to_int( '111' ). + + cl_abap_unit_assert=>assert_equals( + act = lv_result + exp = 7 ). + + ENDMETHOD. + + METHOD hex_to_bits. + + DATA: lv_bits TYPE string. + + lv_bits = mo_cut->hex_to_bits( '0101' ). + + cl_abap_unit_assert=>assert_equals( + act = lv_bits + exp = '0000000100000001' ). + + ENDMETHOD. + + METHOD int_to_hex. + + DATA: lv_hex TYPE xstring. + + lv_hex = mo_cut->int_to_hex( 64 ). + + cl_abap_unit_assert=>assert_equals( + act = lv_hex + exp = '40' ). + + ENDMETHOD. + +ENDCLASS. diff --git a/src/zlib/zcl_abapgit_zlib_convert.clas.xml b/src/zlib/zcl_abapgit_zlib_convert.clas.xml index 595a5e39e..e768dcf2f 100644 --- a/src/zlib/zcl_abapgit_zlib_convert.clas.xml +++ b/src/zlib/zcl_abapgit_zlib_convert.clas.xml @@ -6,12 +6,13 @@ ZCL_ABAPGIT_ZLIB_CONVERT 1 E - abapGit + zlib conversion routines 2 1 X X X + X diff --git a/src/zlib/zcl_abapgit_zlib_stream.clas.abap b/src/zlib/zcl_abapgit_zlib_stream.clas.abap index 8467eaa5b..8ecf6468d 100644 --- a/src/zlib/zcl_abapgit_zlib_stream.clas.abap +++ b/src/zlib/zcl_abapgit_zlib_stream.clas.abap @@ -3,18 +3,23 @@ CLASS zcl_abapgit_zlib_stream DEFINITION CREATE PUBLIC . PUBLIC SECTION. - METHODS: - constructor - IMPORTING iv_data TYPE xstring, - take_bits - IMPORTING iv_length TYPE i - RETURNING VALUE(rv_bits) TYPE string, - take_int - IMPORTING iv_length TYPE i - RETURNING VALUE(rv_int) TYPE i, - remaining - RETURNING VALUE(rv_length) TYPE i. + METHODS constructor + IMPORTING + !iv_data TYPE xstring . + METHODS take_bits + IMPORTING + !iv_length TYPE i + RETURNING + VALUE(rv_bits) TYPE string . + METHODS take_int + IMPORTING + !iv_length TYPE i + RETURNING + VALUE(rv_int) TYPE i . + METHODS remaining + RETURNING + VALUE(rv_length) TYPE i . PRIVATE SECTION. DATA: mv_compressed TYPE xstring, mv_bits TYPE string. diff --git a/src/zlib/zcl_abapgit_zlib_stream.clas.testclasses.abap b/src/zlib/zcl_abapgit_zlib_stream.clas.testclasses.abap new file mode 100644 index 000000000..eba3361d2 --- /dev/null +++ b/src/zlib/zcl_abapgit_zlib_stream.clas.testclasses.abap @@ -0,0 +1,46 @@ + +CLASS ltcl_test DEFINITION FOR TESTING + DURATION SHORT + RISK LEVEL HARMLESS FINAL. + + PRIVATE SECTION. + METHODS: test FOR TESTING. + +ENDCLASS. "ltcl_Test + + +CLASS ltcl_test IMPLEMENTATION. + + METHOD test. + + DATA: lo_stream TYPE REF TO zcl_abapgit_zlib_stream, + lv_remaining TYPE i, + lv_int TYPE i, + lv_bits TYPE string. + + + CREATE OBJECT lo_stream + EXPORTING + iv_data = '112233445566'. + + lv_bits = lo_stream->take_bits( 8 ). + + cl_abap_unit_assert=>assert_equals( + act = lv_bits + exp = '00010001' ). + + lv_remaining = lo_stream->remaining( ). + + cl_abap_unit_assert=>assert_equals( + act = lv_remaining + exp = 6 ). + + lv_int = lo_stream->take_int( 8 ). + + cl_abap_unit_assert=>assert_equals( + act = lv_int + exp = 34 ). + + ENDMETHOD. + +ENDCLASS. diff --git a/src/zlib/zcl_abapgit_zlib_stream.clas.xml b/src/zlib/zcl_abapgit_zlib_stream.clas.xml index 6a7da3333..4ac4bed81 100644 --- a/src/zlib/zcl_abapgit_zlib_stream.clas.xml +++ b/src/zlib/zcl_abapgit_zlib_stream.clas.xml @@ -12,6 +12,7 @@ X X X + X