Files
abap-llm/tasks_gen/train/G1038/hidden/t_mkt_hidden.clas.abap

100 lines
3.5 KiB
ABAP

CLASS {{p}}t_mkt_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS call
IMPORTING iv_size TYPE string
iv_days TYPE i
iv_power TYPE abap_bool
EXPORTING ev_fee TYPE decfloat34
ev_subrc TYPE sysubrc.
METHODS small_one_day FOR TESTING.
METHODS medium_two_days_power FOR TESTING.
METHODS large_one_day FOR TESTING.
METHODS no_reduction_four_days FOR TESTING.
METHODS reduction_five_days FOR TESTING.
METHODS reduction_rounding FOR TESTING.
METHODS reduction_large_six_days FOR TESTING.
METHODS invalid_days_zero FOR TESTING.
METHODS invalid_days_negative FOR TESTING.
METHODS invalid_size FOR TESTING.
ENDCLASS.
CLASS {{p}}t_mkt_hidden IMPLEMENTATION.
METHOD call.
ev_fee = 0.
CALL FUNCTION '{{P}}MKT_STALL_FEE'
EXPORTING
iv_stall_size = iv_size
iv_days = iv_days
iv_power = iv_power
IMPORTING
ev_fee = ev_fee
EXCEPTIONS
invalid_days = 1
invalid_size = 2
OTHERS = 3.
ev_subrc = sy-subrc.
ENDMETHOD.
METHOD small_one_day.
call( EXPORTING iv_size = 'S' iv_days = 1 iv_power = abap_false
IMPORTING ev_fee = DATA(lv_fee) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '12.00' ) act = lv_fee ).
ENDMETHOD.
METHOD medium_two_days_power.
call( EXPORTING iv_size = 'M' iv_days = 2 iv_power = abap_true
IMPORTING ev_fee = DATA(lv_fee) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '45.00' ) act = lv_fee ).
ENDMETHOD.
METHOD large_one_day.
call( EXPORTING iv_size = 'L' iv_days = 1 iv_power = abap_false
IMPORTING ev_fee = DATA(lv_fee) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '35.00' ) act = lv_fee ).
ENDMETHOD.
METHOD no_reduction_four_days.
call( EXPORTING iv_size = 'M' iv_days = 4 iv_power = abap_false
IMPORTING ev_fee = DATA(lv_fee) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '80.00' ) act = lv_fee ).
ENDMETHOD.
METHOD reduction_five_days.
call( EXPORTING iv_size = 'S' iv_days = 5 iv_power = abap_false
IMPORTING ev_fee = DATA(lv_fee) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '51.00' ) act = lv_fee ).
ENDMETHOD.
METHOD reduction_rounding.
call( EXPORTING iv_size = 'S' iv_days = 5 iv_power = abap_true
IMPORTING ev_fee = DATA(lv_fee) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '61.62' ) act = lv_fee ).
ENDMETHOD.
METHOD reduction_large_six_days.
call( EXPORTING iv_size = 'L' iv_days = 6 iv_power = abap_true
IMPORTING ev_fee = DATA(lv_fee) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '191.25' ) act = lv_fee ).
ENDMETHOD.
METHOD invalid_days_zero.
call( EXPORTING iv_size = 'S' iv_days = 0 iv_power = abap_false
IMPORTING ev_subrc = DATA(lv_subrc) ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_subrc ).
ENDMETHOD.
METHOD invalid_days_negative.
call( EXPORTING iv_size = 'M' iv_days = -3 iv_power = abap_false
IMPORTING ev_subrc = DATA(lv_subrc) ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_subrc ).
ENDMETHOD.
METHOD invalid_size.
call( EXPORTING iv_size = 'X' iv_days = 3 iv_power = abap_false
IMPORTING ev_subrc = DATA(lv_subrc) ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_subrc ).
ENDMETHOD.
ENDCLASS.