Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
CLASS ltc_keg_tour_merger DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
DATA mo_cut TYPE REF TO {{p}}keg_tour_merger.
|
||||
METHODS setup.
|
||||
METHODS merges_two_lists FOR TESTING.
|
||||
METHODS adds_same_key FOR TESTING.
|
||||
METHODS ignores_invalid_kegs FOR TESTING.
|
||||
METHODS returns_empty_list FOR TESTING.
|
||||
METHODS ranks_pubs FOR TESTING.
|
||||
METHODS limits_ranked_pubs FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltc_keg_tour_merger IMPLEMENTATION.
|
||||
METHOD setup.
|
||||
mo_cut = NEW {{p}}keg_tour_merger( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD merges_two_lists.
|
||||
DATA(lt_a) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P01' keg_type = 'LAG' kegs = 10 ) ).
|
||||
DATA(lt_b) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P02' keg_type = 'PIL' kegs = 7 ) ).
|
||||
DATA(lt_exp) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P01' keg_type = 'LAG' kegs = 10 )
|
||||
( pub_id = 'P02' keg_type = 'PIL' kegs = 7 ) ).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = lt_exp
|
||||
act = mo_cut->merge_tours( it_tour_a = lt_a it_tour_b = lt_b ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD adds_same_key.
|
||||
DATA(lt_a) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'p01' keg_type = 'lag' kegs = 4 ) ).
|
||||
DATA(lt_b) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P01' keg_type = 'LAG' kegs = 6 ) ).
|
||||
DATA(lt_exp) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P01' keg_type = 'LAG' kegs = 10 ) ).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = lt_exp
|
||||
act = mo_cut->merge_tours( it_tour_a = lt_a it_tour_b = lt_b ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ignores_invalid_kegs.
|
||||
DATA(lt_a) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P01' keg_type = 'LAG' kegs = 0 )
|
||||
( pub_id = 'P02' keg_type = 'LAG' kegs = -2 )
|
||||
( pub_id = 'P03' keg_type = 'LAG' kegs = 8 ) ).
|
||||
DATA(lt_exp) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P03' keg_type = 'LAG' kegs = 8 ) ).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = lt_exp
|
||||
act = mo_cut->merge_tours( it_tour_a = lt_a
|
||||
it_tour_b = VALUE #( ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD returns_empty_list.
|
||||
DATA(lt_act) = mo_cut->merge_tours( it_tour_a = VALUE #( )
|
||||
it_tour_b = VALUE #( ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_act ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ranks_pubs.
|
||||
DATA(lt_tour) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P01' keg_type = 'LAG' kegs = 5 )
|
||||
( pub_id = 'P02' keg_type = 'LAG' kegs = 5 )
|
||||
( pub_id = 'P03' keg_type = 'LAG' kegs = 11 ) ).
|
||||
DATA(lt_exp) = VALUE {{p}}keg_tour_merger=>tt_pub(
|
||||
( pub_id = 'P03' kegs = 11 )
|
||||
( pub_id = 'P01' kegs = 5 )
|
||||
( pub_id = 'P02' kegs = 5 ) ).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = lt_exp
|
||||
act = mo_cut->top_pubs( it_tour = lt_tour iv_count = 3 ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD limits_ranked_pubs.
|
||||
DATA(lt_tour) = VALUE {{p}}keg_tour_merger=>tt_entry(
|
||||
( pub_id = 'P01' keg_type = 'LAG' kegs = 5 )
|
||||
( pub_id = 'P02' keg_type = 'LAG' kegs = 9 ) ).
|
||||
DATA(lt_exp) = VALUE {{p}}keg_tour_merger=>tt_pub(
|
||||
( pub_id = 'P02' kegs = 9 ) ).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = lt_exp
|
||||
act = mo_cut->top_pubs( it_tour = lt_tour iv_count = 1 ) ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user