abapGit/src/objects/zcl_abapgit_object_ecatt_super.clas.testclasses.abap
2018-08-03 13:32:57 +02:00

141 lines
3.2 KiB
ABAP

CLASS ltcl_changed_by DEFINITION DEFERRED.
CLASS zcl_abapgit_object_ecatt_super DEFINITION LOCAL FRIENDS ltcl_changed_by.
CLASS ltcl_changed_by DEFINITION FINAL FOR TESTING
DURATION SHORT
RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA:
ms_given_current_changed TYPE zcl_abapgit_object_ecatt_super=>ty_last_changed,
ms_given_last_changed TYPE zcl_abapgit_object_ecatt_super=>ty_last_changed,
mv_act_change_more_recent TYPE abap_bool.
METHODS:
current_more_recent_than_last FOR TESTING RAISING cx_static_check,
last_more_recent_than_current FOR TESTING RAISING cx_static_check,
same_day_current_more_recent FOR TESTING RAISING cx_static_check,
same_day_last_more_recent FOR TESTING RAISING cx_static_check,
given_currently_changed
IMPORTING
iv_ldate TYPE d
iv_ltime TYPE t,
given_last_changed
IMPORTING
iv_ldate TYPE d
iv_ltime TYPE t,
when_changed_is_checked,
then_should_be
IMPORTING
iv_exp_change_more_recent TYPE abap_bool.
ENDCLASS.
CLASS ltcl_changed_by IMPLEMENTATION.
METHOD current_more_recent_than_last.
given_currently_changed( iv_ldate = '20180403'
iv_ltime = '090101' ).
given_last_changed( iv_ldate = '20180402'
iv_ltime = '080101' ).
when_changed_is_checked( ).
then_should_be( iv_exp_change_more_recent = abap_true ).
ENDMETHOD.
METHOD last_more_recent_than_current.
given_currently_changed( iv_ldate = '20180402'
iv_ltime = '080101' ).
given_last_changed( iv_ldate = '20180403'
iv_ltime = '090101' ).
when_changed_is_checked( ).
then_should_be( iv_exp_change_more_recent = abap_false ).
ENDMETHOD.
METHOD same_day_current_more_recent.
given_currently_changed( iv_ldate = '20180402'
iv_ltime = '090103' ).
given_last_changed( iv_ldate = '20180402'
iv_ltime = '090101' ).
when_changed_is_checked( ).
then_should_be( iv_exp_change_more_recent = abap_true ).
ENDMETHOD.
METHOD same_day_last_more_recent.
given_currently_changed( iv_ldate = '20180402'
iv_ltime = '090103' ).
given_last_changed( iv_ldate = '20180402'
iv_ltime = '090104' ).
when_changed_is_checked( ).
then_should_be( iv_exp_change_more_recent = abap_false ).
ENDMETHOD.
METHOD given_currently_changed.
ms_given_current_changed-ldate = iv_ldate.
ms_given_current_changed-ltime = iv_ltime.
ENDMETHOD.
METHOD given_last_changed.
ms_given_last_changed-ldate = iv_ldate.
ms_given_last_changed-ltime = iv_ltime.
ENDMETHOD.
METHOD when_changed_is_checked.
mv_act_change_more_recent = zcl_abapgit_object_ecatt_super=>is_change_more_recent_than(
is_currently_changed = ms_given_current_changed
is_last_changed = ms_given_last_changed ).
ENDMETHOD.
METHOD then_should_be.
cl_abap_unit_assert=>assert_equals(
exp = iv_exp_change_more_recent
act = mv_act_change_more_recent ).
ENDMETHOD.
ENDCLASS.