Pipeline controller: plan 2 (hard +, error +50 %), backlog throttle, 2 trajectory workers, stop rules, summaries every 50; budget reserve
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
143
tasks_gen/train/G1016/hidden/t02_hidden.clas.abap
Normal file
143
tasks_gen/train/G1016/hidden/t02_hidden.clas.abap
Normal file
@@ -0,0 +1,143 @@
|
||||
CLASS {{p}}t02_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
TYPES ty_reason TYPE c LENGTH 10.
|
||||
|
||||
DATA mo_cut TYPE REF TO {{p}}return_checker.
|
||||
DATA mo_env TYPE REF TO if_osql_test_environment.
|
||||
|
||||
METHODS setup.
|
||||
METHODS teardown.
|
||||
METHODS valid_return
|
||||
RETURNING VALUE(rs_return) TYPE {{p}}return_checker=>ty_return_data.
|
||||
METHODS expect_reason
|
||||
IMPORTING is_data TYPE {{p}}return_checker=>ty_return_data
|
||||
iv_reason TYPE ty_reason.
|
||||
|
||||
METHODS ok_return FOR TESTING.
|
||||
METHODS rejects_no_data FOR TESTING.
|
||||
METHODS rejects_empty_date FOR TESTING.
|
||||
METHODS rejects_date_order FOR TESTING.
|
||||
METHODS rejects_mileage FOR TESTING.
|
||||
METHODS rejects_fuel FOR TESTING.
|
||||
METHODS rejects_damage FOR TESTING.
|
||||
METHODS rejects_unknown FOR TESTING.
|
||||
METHODS rejects_too_long FOR TESTING.
|
||||
METHODS accepts_max_duration FOR TESTING.
|
||||
METHODS checks_data_before_master FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t02_hidden IMPLEMENTATION.
|
||||
METHOD setup.
|
||||
mo_env = cl_osql_test_environment=>create( VALUE #( ( '{{P}}VEHICLE' ) ) ).
|
||||
DATA lt_vehicle TYPE STANDARD TABLE OF {{p}}vehicle WITH EMPTY KEY.
|
||||
lt_vehicle = VALUE #( ( mandt = sy-mandt
|
||||
vehicle_id = 'V-1001'
|
||||
max_days = 5 )
|
||||
( mandt = sy-mandt
|
||||
vehicle_id = 'V-1002'
|
||||
max_days = 30 ) ).
|
||||
mo_env->insert_test_data( lt_vehicle ).
|
||||
mo_cut = NEW {{p}}return_checker( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD teardown.
|
||||
mo_env->destroy( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD valid_return.
|
||||
rs_return = VALUE #( rental_id = 'R-4711'
|
||||
vehicle_id = 'V-1001'
|
||||
start_date = '20240101'
|
||||
return_date = '20240103'
|
||||
start_mileage = 10000
|
||||
end_mileage = 10250
|
||||
fuel_percent = 80
|
||||
damage_code = ''
|
||||
is_damaged = abap_false ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD expect_reason.
|
||||
TRY.
|
||||
mo_cut->check( is_data ).
|
||||
cl_abap_unit_assert=>fail( msg = |no exception, expected { iv_reason }| ).
|
||||
CATCH {{p}}cx_return_error INTO DATA(lo_error).
|
||||
cl_abap_unit_assert=>assert_equals( exp = iv_reason act = lo_error->mv_reason ).
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ok_return.
|
||||
TRY.
|
||||
mo_cut->check( valid_return( ) ).
|
||||
CATCH {{p}}cx_return_error INTO DATA(lo_error).
|
||||
cl_abap_unit_assert=>fail( msg = |unexpected reason { lo_error->mv_reason }| ).
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_no_data.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
CLEAR ls_return-rental_id.
|
||||
expect_reason( is_data = ls_return iv_reason = 'NO_DATA' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_empty_date.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
CLEAR ls_return-start_date.
|
||||
expect_reason( is_data = ls_return iv_reason = 'NO_DATA' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_date_order.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
ls_return-return_date = '20231231'.
|
||||
expect_reason( is_data = ls_return iv_reason = 'DATE_ORDER' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_mileage.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
ls_return-end_mileage = ls_return-start_mileage - 1.
|
||||
expect_reason( is_data = ls_return iv_reason = 'MILEAGE' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_fuel.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
ls_return-fuel_percent = 101.
|
||||
expect_reason( is_data = ls_return iv_reason = 'FUEL' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_damage.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
ls_return-is_damaged = abap_true.
|
||||
CLEAR ls_return-damage_code.
|
||||
expect_reason( is_data = ls_return iv_reason = 'DAMAGE' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_unknown.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
ls_return-vehicle_id = 'V-9999'.
|
||||
expect_reason( is_data = ls_return iv_reason = 'UNKNOWN' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rejects_too_long.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
ls_return-return_date = '20240110'.
|
||||
expect_reason( is_data = ls_return iv_reason = 'TOO_LONG' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD accepts_max_duration.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
ls_return-return_date = '20240105'.
|
||||
TRY.
|
||||
mo_cut->check( ls_return ).
|
||||
CATCH {{p}}cx_return_error INTO DATA(lo_error).
|
||||
cl_abap_unit_assert=>fail( msg = |unexpected reason { lo_error->mv_reason }| ).
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD checks_data_before_master.
|
||||
DATA(ls_return) = valid_return( ).
|
||||
ls_return-vehicle_id = 'V-9999'.
|
||||
ls_return-fuel_percent = 150.
|
||||
expect_reason( is_data = ls_return iv_reason = 'FUEL' ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user