Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
54 lines
1.8 KiB
ABAP
54 lines
1.8 KiB
ABAP
CLASS {{p}}t21_test DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PRIVATE SECTION.
|
|
METHODS stats IMPORTING iv_scans TYPE string iv_lifts TYPE string
|
|
EXPORTING ev_rides TYPE i ev_passes TYPE i ev_report TYPE string.
|
|
METHODS one_pass FOR TESTING.
|
|
METHODS duplicates FOR TESTING.
|
|
METHODS unknown_lift FOR TESTING.
|
|
METHODS sorted_report FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t21_test IMPLEMENTATION.
|
|
METHOD stats.
|
|
CALL FUNCTION '{{P}}LIFT_STATS'
|
|
EXPORTING
|
|
iv_scans = iv_scans
|
|
iv_lifts = iv_lifts
|
|
IMPORTING
|
|
ev_rides = ev_rides
|
|
ev_passes = ev_passes
|
|
ev_report = ev_report
|
|
EXCEPTIONS
|
|
no_lifts = 1
|
|
OTHERS = 2.
|
|
ENDMETHOD.
|
|
|
|
METHOD one_pass.
|
|
stats( EXPORTING iv_scans = `P1;L1` iv_lifts = `L1;North`
|
|
IMPORTING ev_rides = DATA(lv_rides) ev_report = DATA(lv_report) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rides ).
|
|
cl_abap_unit_assert=>assert_equals( exp = `P1;1;1` act = lv_report ).
|
|
ENDMETHOD.
|
|
|
|
METHOD duplicates.
|
|
stats( EXPORTING iv_scans = |P1;L1\nP1;L1| iv_lifts = `L1;North`
|
|
IMPORTING ev_rides = DATA(lv_rides) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rides ).
|
|
ENDMETHOD.
|
|
|
|
METHOD unknown_lift.
|
|
stats( EXPORTING iv_scans = `P1;L9` iv_lifts = `L1;North`
|
|
IMPORTING ev_rides = DATA(lv_rides) ev_report = DATA(lv_report) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rides ).
|
|
cl_abap_unit_assert=>assert_equals( exp = `` act = lv_report ).
|
|
ENDMETHOD.
|
|
|
|
METHOD sorted_report.
|
|
stats( EXPORTING iv_scans = |P2;L1\nP1;L1| iv_lifts = `L1;North`
|
|
IMPORTING ev_report = DATA(lv_report) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = |P1;1;1\nP2;1;1| act = lv_report ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|