ADT fallback: Accept headers for FUNC; G0189 accepted; regen2 results
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
@@ -1,220 +0,0 @@
|
||||
CLASS {{p}}t14_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES ty_orders TYPE STANDARD TABLE OF {{p}}roasts.
|
||||
TYPES ty_totals TYPE STANDARD TABLE OF {{p}}blends.
|
||||
|
||||
METHODS run
|
||||
IMPORTING it_orders TYPE ty_orders
|
||||
EXPORTING et_totals TYPE ty_totals
|
||||
ev_grand_total TYPE decfloat34
|
||||
ev_subrc TYPE sysubrc.
|
||||
|
||||
METHODS sums_per_blend FOR TESTING.
|
||||
METHODS sorted_by_total FOR TESTING.
|
||||
METHODS tie_break_by_blend FOR TESTING.
|
||||
METHODS ignores_zero FOR TESTING.
|
||||
METHODS ignores_negative FOR TESTING.
|
||||
METHODS empty_input FOR TESTING.
|
||||
METHODS no_production_line FOR TESTING.
|
||||
METHODS grand_total FOR TESTING.
|
||||
METHODS single_line FOR TESTING.
|
||||
METHODS one_blend_many_lines FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t14_hidden IMPLEMENTATION.
|
||||
|
||||
METHOD run.
|
||||
CLEAR: et_totals, ev_grand_total.
|
||||
CALL FUNCTION '{{P}}ROAST_SUM'
|
||||
EXPORTING
|
||||
it_orders = it_orders
|
||||
IMPORTING
|
||||
et_totals = et_totals
|
||||
ev_grand_total = ev_grand_total
|
||||
EXCEPTIONS
|
||||
OTHERS = 1.
|
||||
ev_subrc = sy-subrc.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD sums_per_blend.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'PILS' quantity_kg = '10.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000002' blend = 'PILS' quantity_kg = '5.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000003' blend = 'WEIZ' quantity_kg = '7.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_totals ) ).
|
||||
|
||||
DATA ls_tot TYPE {{p}}blends.
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 1.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'PILS' act = ls_tot-blend ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 15 ) act = CONV decfloat34( ls_tot-total_kg ) ).
|
||||
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 2.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'WEIZ' act = ls_tot-blend ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 7 ) act = CONV decfloat34( ls_tot-total_kg ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD sorted_by_total.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'ARAB' quantity_kg = '5.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000002' blend = 'ROBU' quantity_kg = '30.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000003' blend = 'KONA' quantity_kg = '12.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3 act = lines( lt_totals ) ).
|
||||
|
||||
DATA ls_tot TYPE {{p}}blends.
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 1.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'ROBU' act = ls_tot-blend ).
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 2.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'KONA' act = ls_tot-blend ).
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 3.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'ARAB' act = ls_tot-blend ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD tie_break_by_blend.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'ROBU' quantity_kg = '6.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000002' blend = 'ARAB' quantity_kg = '6.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_totals ) ).
|
||||
|
||||
DATA ls_tot TYPE {{p}}blends.
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 1.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'ARAB' act = ls_tot-blend ).
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 2.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'ROBU' act = ls_tot-blend ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ignores_zero.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'PILS' quantity_kg = '0.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000002' blend = 'WEIZ' quantity_kg = '4.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_totals ) ).
|
||||
|
||||
DATA ls_tot TYPE {{p}}blends.
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 1.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'WEIZ' act = ls_tot-blend ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 4 ) act = CONV decfloat34( ls_tot-total_kg ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ignores_negative.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'PILS' quantity_kg = '-3.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000002' blend = 'WEIZ' quantity_kg = '4.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_totals ) ).
|
||||
|
||||
DATA ls_tot TYPE {{p}}blends.
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 1.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'WEIZ' act = ls_tot-blend ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD empty_input.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
DATA lv_grand TYPE decfloat34 VALUE 99.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_grand_total = lv_grand ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_totals ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 0 ) act = lv_grand ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD no_production_line.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'PILS' quantity_kg = '0.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000002' blend = 'WEIZ' quantity_kg = '-8.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
DATA lv_grand TYPE decfloat34.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_grand_total = lv_grand ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_totals ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 0 ) act = lv_grand ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD grand_total.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'PILS' quantity_kg = '10.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000002' blend = 'WEIZ' quantity_kg = '2.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000003' blend = 'KOLS' quantity_kg = '8.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000004' blend = 'PILS' quantity_kg = '5.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
DATA lv_grand TYPE decfloat34.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_grand_total = lv_grand ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 25 ) act = lv_grand ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD single_line.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'KONA' quantity_kg = '3.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_totals ) ).
|
||||
|
||||
DATA ls_tot TYPE {{p}}blends.
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 1.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'KONA' act = ls_tot-blend ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 3 ) act = CONV decfloat34( ls_tot-total_kg ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD one_blend_many_lines.
|
||||
DATA lt_orders TYPE ty_orders.
|
||||
APPEND VALUE #( order_id = '0000000001' blend = 'PILS' quantity_kg = '1.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000002' blend = 'PILS' quantity_kg = '2.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000003' blend = 'PILS' quantity_kg = '3.000' ) TO lt_orders.
|
||||
APPEND VALUE #( order_id = '0000000004' blend = 'PILS' quantity_kg = '4.000' ) TO lt_orders.
|
||||
|
||||
DATA lt_totals TYPE ty_totals.
|
||||
run( EXPORTING it_orders = lt_orders
|
||||
IMPORTING et_totals = lt_totals ev_subrc = DATA(lv_subrc) ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_subrc ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_totals ) ).
|
||||
|
||||
DATA ls_tot TYPE {{p}}blends.
|
||||
READ TABLE lt_totals INTO ls_tot INDEX 1.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'PILS' act = ls_tot-blend ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 10 ) act = CONV decfloat34( ls_tot-total_kg ) ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
208
tasks_gen/eval/G0121/hidden/t41_hidden.clas.abap
Normal file
208
tasks_gen/eval/G0121/hidden/t41_hidden.clas.abap
Normal file
@@ -0,0 +1,208 @@
|
||||
CLASS {{p}}t41_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
METHODS setup.
|
||||
METHODS call
|
||||
IMPORTING
|
||||
iv_max_priority TYPE i
|
||||
EXPORTING
|
||||
ev_count TYPE i
|
||||
ev_duplicates TYPE i
|
||||
ev_first_call_id TYPE string
|
||||
ev_first_district TYPE string
|
||||
ev_last_call_id TYPE string
|
||||
ev_subrc TYPE sysubrc.
|
||||
METHODS add_a
|
||||
IMPORTING
|
||||
iv_id TYPE {{P}}ALERT_A-CALL_ID
|
||||
iv_prio TYPE {{P}}ALERT_A-PRIORITY
|
||||
iv_date TYPE {{P}}ALERT_A-CALL_DATE
|
||||
iv_time TYPE {{P}}ALERT_A-CALL_TIME
|
||||
iv_district TYPE {{P}}ALERT_A-DISTRICT.
|
||||
METHODS add_b
|
||||
IMPORTING
|
||||
iv_id TYPE {{P}}ALERT_B-CALL_ID
|
||||
iv_prio TYPE {{P}}ALERT_B-PRIORITY
|
||||
iv_date TYPE {{P}}ALERT_B-CALL_DATE
|
||||
iv_time TYPE {{P}}ALERT_B-CALL_TIME
|
||||
iv_district TYPE {{P}}ALERT_B-DISTRICT.
|
||||
METHODS merges_both_tables FOR TESTING.
|
||||
METHODS keeps_earliest_call FOR TESTING.
|
||||
METHODS keeps_a_on_tie FOR TESTING.
|
||||
METHODS sorts_by_priority FOR TESTING.
|
||||
METHODS sorts_by_time FOR TESTING.
|
||||
METHODS sorts_by_call_id FOR TESTING.
|
||||
METHODS filters_by_priority FOR TESTING.
|
||||
METHODS counts_duplicates FOR TESTING.
|
||||
METHODS empty_tables FOR TESTING.
|
||||
METHODS rejects_bad_max FOR TESTING.
|
||||
METHODS rejects_bad_priority FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t41_hidden IMPLEMENTATION.
|
||||
METHOD setup.
|
||||
DELETE FROM {{P}}ALERT_A.
|
||||
DELETE FROM {{P}}ALERT_B.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD call.
|
||||
CALL FUNCTION '{{P}}ALERT_MERGE'
|
||||
EXPORTING
|
||||
iv_max_priority = iv_max_priority
|
||||
IMPORTING
|
||||
ev_count = ev_count
|
||||
ev_duplicates = ev_duplicates
|
||||
ev_first_call_id = ev_first_call_id
|
||||
ev_first_district = ev_first_district
|
||||
ev_last_call_id = ev_last_call_id
|
||||
EXCEPTIONS
|
||||
invalid_priority = 1
|
||||
OTHERS = 2.
|
||||
ev_subrc = sy-subrc.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD add_a.
|
||||
DATA ls_call TYPE {{P}}ALERT_A.
|
||||
ls_call-call_id = iv_id.
|
||||
ls_call-priority = iv_prio.
|
||||
ls_call-call_date = iv_date.
|
||||
ls_call-call_time = iv_time.
|
||||
ls_call-district = iv_district.
|
||||
MODIFY {{P}}ALERT_A FROM @ls_call.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD add_b.
|
||||
DATA ls_call TYPE {{P}}ALERT_B.
|
||||
ls_call-call_id = iv_id.
|
||||
ls_call-priority = iv_prio.
|
||||
ls_call-call_date = iv_date.
|
||||
ls_call-call_time = iv_time.
|
||||
ls_call-district = iv_district.
|
||||
MODIFY {{P}}ALERT_B FROM @ls_call.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD merges_both_tables.
|
||||
add_a( iv_id = 'C1' iv_prio = 2 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
add_b( iv_id = 'C2' iv_prio = 1 iv_date = '20240101' iv_time = '090000' iv_district = 'SUED' ).
|
||||
call( EXPORTING iv_max_priority = 5
|
||||
IMPORTING ev_count = DATA(lv_count)
|
||||
ev_first_call_id = DATA(lv_first)
|
||||
ev_last_call_id = DATA(lv_last) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_count ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C2' act = lv_first ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C1' act = lv_last ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD keeps_earliest_call.
|
||||
add_a( iv_id = 'C1' iv_prio = 2 iv_date = '20240101' iv_time = '100000' iv_district = 'NORD' ).
|
||||
add_b( iv_id = 'C1' iv_prio = 2 iv_date = '20240101' iv_time = '090000' iv_district = 'SUED' ).
|
||||
call( EXPORTING iv_max_priority = 5
|
||||
IMPORTING ev_count = DATA(lv_count)
|
||||
ev_duplicates = DATA(lv_dup)
|
||||
ev_first_district = DATA(lv_district) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_count ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_dup ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'SUED' act = lv_district ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD keeps_a_on_tie.
|
||||
add_a( iv_id = 'C1' iv_prio = 2 iv_date = '20240101' iv_time = '090000' iv_district = 'NORD' ).
|
||||
add_b( iv_id = 'C1' iv_prio = 3 iv_date = '20240101' iv_time = '090000' iv_district = 'SUED' ).
|
||||
call( EXPORTING iv_max_priority = 5
|
||||
IMPORTING ev_count = DATA(lv_count)
|
||||
ev_first_call_id = DATA(lv_first)
|
||||
ev_first_district = DATA(lv_district) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_count ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C1' act = lv_first ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'NORD' act = lv_district ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD sorts_by_priority.
|
||||
add_a( iv_id = 'C3' iv_prio = 3 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
add_a( iv_id = 'C1' iv_prio = 1 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
add_a( iv_id = 'C2' iv_prio = 2 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
call( EXPORTING iv_max_priority = 5
|
||||
IMPORTING ev_count = DATA(lv_count)
|
||||
ev_first_call_id = DATA(lv_first)
|
||||
ev_last_call_id = DATA(lv_last) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_count ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C1' act = lv_first ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C3' act = lv_last ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD sorts_by_time.
|
||||
add_a( iv_id = 'C1' iv_prio = 1 iv_date = '20240102' iv_time = '080000' iv_district = 'NORD' ).
|
||||
add_a( iv_id = 'C2' iv_prio = 1 iv_date = '20240101' iv_time = '120000' iv_district = 'NORD' ).
|
||||
add_a( iv_id = 'C3' iv_prio = 1 iv_date = '20240101' iv_time = '060000' iv_district = 'NORD' ).
|
||||
call( EXPORTING iv_max_priority = 5
|
||||
IMPORTING ev_first_call_id = DATA(lv_first)
|
||||
ev_last_call_id = DATA(lv_last) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C3' act = lv_first ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C1' act = lv_last ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD sorts_by_call_id.
|
||||
add_a( iv_id = 'C9' iv_prio = 1 iv_date = '20240101' iv_time = '060000' iv_district = 'NORD' ).
|
||||
add_a( iv_id = 'C0' iv_prio = 1 iv_date = '20240101' iv_time = '060000' iv_district = 'NORD' ).
|
||||
call( EXPORTING iv_max_priority = 5
|
||||
IMPORTING ev_first_call_id = DATA(lv_first)
|
||||
ev_last_call_id = DATA(lv_last) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C0' act = lv_first ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C9' act = lv_last ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD filters_by_priority.
|
||||
add_a( iv_id = 'C1' iv_prio = 1 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
add_a( iv_id = 'C2' iv_prio = 2 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
add_a( iv_id = 'C3' iv_prio = 3 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
call( EXPORTING iv_max_priority = 2
|
||||
IMPORTING ev_count = DATA(lv_count)
|
||||
ev_duplicates = DATA(lv_dup)
|
||||
ev_last_call_id = DATA(lv_last) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lv_count ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_dup ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C2' act = lv_last ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD counts_duplicates.
|
||||
add_a( iv_id = 'C1' iv_prio = 1 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
add_a( iv_id = 'C2' iv_prio = 2 iv_date = '20240102' iv_time = '080000' iv_district = 'NORD' ).
|
||||
add_b( iv_id = 'C2' iv_prio = 2 iv_date = '20240101' iv_time = '080000' iv_district = 'SUED' ).
|
||||
add_b( iv_id = 'C3' iv_prio = 3 iv_date = '20240103' iv_time = '080000' iv_district = 'NORD' ).
|
||||
call( EXPORTING iv_max_priority = 5
|
||||
IMPORTING ev_count = DATA(lv_count)
|
||||
ev_duplicates = DATA(lv_dup)
|
||||
ev_first_call_id = DATA(lv_first)
|
||||
ev_last_call_id = DATA(lv_last) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_count ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_dup ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C1' act = lv_first ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'C3' act = lv_last ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD empty_tables.
|
||||
call( EXPORTING iv_max_priority = 5
|
||||
IMPORTING ev_count = DATA(lv_count)
|
||||
ev_duplicates = DATA(lv_dup)
|
||||
ev_first_call_id = DATA(lv_first)
|
||||
ev_last_call_id = DATA(lv_last) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_count ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_dup ).
|
||||
cl_abap_unit_assert=>assert_initial( act = lv_first ).
|
||||
cl_abap_unit_assert=>assert_initial( act = lv_last ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_bad_max.
|
||||
call( EXPORTING iv_max_priority = 0 IMPORTING ev_subrc = DATA(lv_rc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc ).
|
||||
call( EXPORTING iv_max_priority = 6 IMPORTING ev_subrc = DATA(lv_rc6) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc6 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_bad_priority.
|
||||
add_a( iv_id = 'C1' iv_prio = 9 iv_date = '20240101' iv_time = '080000' iv_district = 'NORD' ).
|
||||
call( EXPORTING iv_max_priority = 5 IMPORTING ev_subrc = DATA(lv_rc) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user