117 lines
4.7 KiB
ABAP
117 lines
4.7 KiB
ABAP
CLASS {{p}}kart_check_test DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PUBLIC SECTION.
|
|
INTERFACES {{p}}if_kart_check.
|
|
PRIVATE SECTION.
|
|
DATA mo_cut TYPE REF TO {{p}}if_kart_check.
|
|
METHODS setup.
|
|
METHODS reason_codes_are_fixed FOR TESTING.
|
|
METHODS limits_are_fixed FOR TESTING.
|
|
METHODS opening_times_are_fixed FOR TESTING.
|
|
METHODS reason_type_has_length_12 FOR TESTING.
|
|
METHODS booking_has_four_components FOR TESTING.
|
|
METHODS bookings_is_a_table FOR TESTING.
|
|
METHODS check_booking_returns_ok FOR TESTING.
|
|
METHODS is_open_returns_true FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}kart_check_test IMPLEMENTATION.
|
|
METHOD setup.
|
|
mo_cut = me.
|
|
ENDMETHOD.
|
|
|
|
METHOD reason_codes_are_fixed.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'OK'
|
|
act = {{p}}if_kart_check=>c_reason-ok ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'NO_NAME'
|
|
act = {{p}}if_kart_check=>c_reason-no_name ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'TOO_YOUNG'
|
|
act = {{p}}if_kart_check=>c_reason-too_young ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'TOO_OLD'
|
|
act = {{p}}if_kart_check=>c_reason-too_old ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'BAD_LAPS'
|
|
act = {{p}}if_kart_check=>c_reason-bad_laps ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'CLOSED'
|
|
act = {{p}}if_kart_check=>c_reason-closed ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'TOO_MANY'
|
|
act = {{p}}if_kart_check=>c_reason-too_many ).
|
|
ENDMETHOD.
|
|
|
|
METHOD limits_are_fixed.
|
|
cl_abap_unit_assert=>assert_equals( exp = 12
|
|
act = {{p}}if_kart_check=>c_limit-min_age ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 75
|
|
act = {{p}}if_kart_check=>c_limit-max_age ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 5
|
|
act = {{p}}if_kart_check=>c_limit-min_laps ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 30
|
|
act = {{p}}if_kart_check=>c_limit-max_laps ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 8
|
|
act = {{p}}if_kart_check=>c_limit-max_drivers ).
|
|
ENDMETHOD.
|
|
|
|
METHOD opening_times_are_fixed.
|
|
DATA lv_from TYPE t VALUE '090000'.
|
|
DATA lv_to TYPE t VALUE '220000'.
|
|
cl_abap_unit_assert=>assert_equals( exp = lv_from
|
|
act = {{p}}if_kart_check=>c_open_from ).
|
|
cl_abap_unit_assert=>assert_equals( exp = lv_to
|
|
act = {{p}}if_kart_check=>c_open_to ).
|
|
ENDMETHOD.
|
|
|
|
METHOD reason_type_has_length_12.
|
|
DATA lv_reason TYPE {{p}}if_kart_check=>ty_reason.
|
|
DATA lv_probe TYPE string.
|
|
DO 13 TIMES.
|
|
lv_probe = lv_probe && 'X'.
|
|
ENDDO.
|
|
lv_reason = lv_probe.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'XXXXXXXXXXXX'
|
|
act = lv_reason ).
|
|
ENDMETHOD.
|
|
|
|
METHOD booking_has_four_components.
|
|
DATA ls_booking TYPE {{p}}if_kart_check=>ty_booking.
|
|
DATA(lo_descr) = cl_abap_typedescr=>describe_by_data( ls_booking ).
|
|
DATA(lo_struct) = CAST cl_abap_structdescr( lo_descr ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 4
|
|
act = lines( lo_struct->components ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD bookings_is_a_table.
|
|
DATA lt_bookings TYPE {{p}}if_kart_check=>tt_bookings.
|
|
DATA(lo_descr) = cl_abap_typedescr=>describe_by_data( lt_bookings ).
|
|
cl_abap_unit_assert=>assert_equals( exp = cl_abap_typedescr=>typekind_table
|
|
act = lo_descr->type_kind ).
|
|
ENDMETHOD.
|
|
|
|
METHOD check_booking_returns_ok.
|
|
DATA ls_booking TYPE {{p}}if_kart_check=>ty_booking.
|
|
ls_booking-driver_name = 'ANNA BEISPIEL'.
|
|
ls_booking-driver_age = 25.
|
|
ls_booking-laps = 8.
|
|
ls_booking-booking_time = '100000'.
|
|
cl_abap_unit_assert=>assert_equals( exp = 'OK'
|
|
act = mo_cut->check_booking( ls_booking ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD is_open_returns_true.
|
|
DATA lv_time TYPE t VALUE '150000'.
|
|
cl_abap_unit_assert=>assert_equals( exp = abap_true
|
|
act = mo_cut->is_open( lv_time ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD {{p}}if_kart_check~check_booking.
|
|
rv_reason = {{p}}if_kart_check=>c_reason-ok.
|
|
ENDMETHOD.
|
|
|
|
METHOD {{p}}if_kart_check~check_group.
|
|
rv_reason = {{p}}if_kart_check=>c_reason-ok.
|
|
ENDMETHOD.
|
|
|
|
METHOD {{p}}if_kart_check~is_open.
|
|
rv_open = abap_true.
|
|
ENDMETHOD.
|
|
ENDCLASS.
|