Files
abap-llm/tasks_gen/train/G1069/reference/league_table.testclasses.abap
2026-10-05 18:02:52 +02:00

48 lines
1.9 KiB
ABAP

CLASS ltc_league_table DEFINITION FINAL FOR TESTING
DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{p}}league_table.
METHODS setup.
METHODS empty_input_is_empty FOR TESTING.
METHODS counts_points FOR TESTING.
METHODS ignores_invalid_match FOR TESTING.
METHODS ranks_ties_equal FOR TESTING.
ENDCLASS.
CLASS ltc_league_table IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}league_table( ).
ENDMETHOD.
METHOD empty_input_is_empty.
DATA(lt_table) = mo_cut->evaluate( VALUE {{p}}league_table=>tt_match( ) ).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_table ) ).
ENDMETHOD.
METHOD counts_points.
DATA(lt_table) = mo_cut->evaluate( VALUE {{p}}league_table=>tt_match(
( home_team = 'A' away_team = 'B' home_goals = 2 away_goals = 0 )
( home_team = 'B' away_team = 'A' home_goals = 2 away_goals = 2 ) ) ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_table ) ).
cl_abap_unit_assert=>assert_equals( exp = 'A' act = lt_table[ 1 ]-team ).
cl_abap_unit_assert=>assert_equals( exp = 4 act = lt_table[ 1 ]-points ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lt_table[ 2 ]-points ).
ENDMETHOD.
METHOD ignores_invalid_match.
DATA(lt_table) = mo_cut->evaluate( VALUE {{p}}league_table=>tt_match(
( home_team = 'A' away_team = 'A' home_goals = 1 away_goals = 0 ) ) ).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_table ) ).
ENDMETHOD.
METHOD ranks_ties_equal.
DATA(lt_table) = mo_cut->evaluate( VALUE {{p}}league_table=>tt_match(
( home_team = 'A' away_team = 'B' home_goals = 1 away_goals = 1 ) ) ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_table ) ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lt_table[ 1 ]-rank ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lt_table[ 2 ]-rank ).
ENDMETHOD.
ENDCLASS.