Snapshot: new training tasks (balanced generation), docs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
203
tasks_gen/train/G1919/hidden/t20_hidden.clas.abap
Normal file
203
tasks_gen/train/G1919/hidden/t20_hidden.clas.abap
Normal file
@@ -0,0 +1,203 @@
|
||||
CLASS {{p}}t20_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
CLASS-DATA go_env TYPE REF TO if_osql_test_environment.
|
||||
CLASS-METHODS class_setup.
|
||||
CLASS-METHODS class_teardown.
|
||||
CLASS-METHODS get_fields RETURNING VALUE(rt_fields) TYPE ddfields.
|
||||
CLASS-METHODS field_of
|
||||
IMPORTING iv_name TYPE fieldname
|
||||
RETURNING VALUE(rs_field) TYPE dfies.
|
||||
CLASS-METHODS not_null_flag
|
||||
IMPORTING iv_name TYPE fieldname
|
||||
RETURNING VALUE(rv_flag) TYPE abap_bool.
|
||||
METHODS setup.
|
||||
METHODS field_names FOR TESTING.
|
||||
METHODS key_fields FOR TESTING.
|
||||
METHODS field_types FOR TESTING.
|
||||
METHODS field_lengths FOR TESTING.
|
||||
METHODS decimals FOR TESTING.
|
||||
METHODS not_null_fields FOR TESTING.
|
||||
METHODS store_and_read FOR TESTING.
|
||||
METHODS duplicate_key FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t20_hidden IMPLEMENTATION.
|
||||
|
||||
METHOD class_setup.
|
||||
go_env = cl_osql_test_environment=>create( i_dependency_list = VALUE #( ( '{{P}}RESCUE' ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD class_teardown.
|
||||
go_env->destroy( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD setup.
|
||||
go_env->clear_doubles( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_fields.
|
||||
DATA lo_struct TYPE REF TO cl_abap_structdescr.
|
||||
lo_struct ?= cl_abap_typedescr=>describe_by_name( '{{P}}RESCUE' ).
|
||||
rt_fields = lo_struct->get_ddic_field_list( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD field_of.
|
||||
DATA(lt_fields) = get_fields( ).
|
||||
LOOP AT lt_fields INTO DATA(ls_field) WHERE fieldname = iv_name.
|
||||
rs_field = ls_field.
|
||||
RETURN.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD not_null_flag.
|
||||
SELECT SINGLE notnull FROM dd03l
|
||||
WHERE tabname = '{{P}}RESCUE' AND fieldname = @iv_name AND as4local = 'A'
|
||||
INTO @rv_flag.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD field_names.
|
||||
DATA(lt_fields) = get_fields( ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 9 act = lines( lt_fields ) ).
|
||||
DATA(ls_field) = field_of( 'CLIENT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'CLIENT' act = ls_field-fieldname ).
|
||||
ls_field = field_of( 'CALLOUT_ID' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'CALLOUT_ID' act = ls_field-fieldname ).
|
||||
ls_field = field_of( 'CALLOUT_DATE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'CALLOUT_DATE' act = ls_field-fieldname ).
|
||||
ls_field = field_of( 'LOCATION' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'LOCATION' act = ls_field-fieldname ).
|
||||
ls_field = field_of( 'DURATION_MIN' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'DURATION_MIN' act = ls_field-fieldname ).
|
||||
ls_field = field_of( 'TEAM_SIZE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'TEAM_SIZE' act = ls_field-fieldname ).
|
||||
ls_field = field_of( 'RESCUED_COUNT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'RESCUED_COUNT' act = ls_field-fieldname ).
|
||||
ls_field = field_of( 'FEE_AMOUNT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'FEE_AMOUNT' act = ls_field-fieldname ).
|
||||
ls_field = field_of( 'CURRENCY_CODE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'CURRENCY_CODE' act = ls_field-fieldname ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD key_fields.
|
||||
DATA(ls_field) = field_of( 'CLIENT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'X' act = ls_field-keyflag ).
|
||||
ls_field = field_of( 'CALLOUT_ID' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'X' act = ls_field-keyflag ).
|
||||
ls_field = field_of( 'CALLOUT_DATE' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_field-keyflag ).
|
||||
ls_field = field_of( 'LOCATION' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_field-keyflag ).
|
||||
ls_field = field_of( 'DURATION_MIN' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_field-keyflag ).
|
||||
ls_field = field_of( 'TEAM_SIZE' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_field-keyflag ).
|
||||
ls_field = field_of( 'RESCUED_COUNT' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_field-keyflag ).
|
||||
ls_field = field_of( 'FEE_AMOUNT' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_field-keyflag ).
|
||||
ls_field = field_of( 'CURRENCY_CODE' ).
|
||||
cl_abap_unit_assert=>assert_initial( act = ls_field-keyflag ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD field_types.
|
||||
DATA(ls_field) = field_of( 'CLIENT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'CLNT' act = ls_field-datatype ).
|
||||
ls_field = field_of( 'CALLOUT_ID' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'CHAR' act = ls_field-datatype ).
|
||||
ls_field = field_of( 'CALLOUT_DATE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'DATS' act = ls_field-datatype ).
|
||||
ls_field = field_of( 'LOCATION' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'CHAR' act = ls_field-datatype ).
|
||||
ls_field = field_of( 'DURATION_MIN' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'INT4' act = ls_field-datatype ).
|
||||
ls_field = field_of( 'TEAM_SIZE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'INT4' act = ls_field-datatype ).
|
||||
ls_field = field_of( 'RESCUED_COUNT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'INT4' act = ls_field-datatype ).
|
||||
ls_field = field_of( 'FEE_AMOUNT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'DEC' act = ls_field-datatype ).
|
||||
ls_field = field_of( 'CURRENCY_CODE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'CUKY' act = ls_field-datatype ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD field_lengths.
|
||||
DATA(ls_field) = field_of( 'CLIENT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3 act = CONV i( ls_field-leng ) ).
|
||||
ls_field = field_of( 'CALLOUT_ID' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 10 act = CONV i( ls_field-leng ) ).
|
||||
ls_field = field_of( 'CALLOUT_DATE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 8 act = CONV i( ls_field-leng ) ).
|
||||
ls_field = field_of( 'LOCATION' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 30 act = CONV i( ls_field-leng ) ).
|
||||
ls_field = field_of( 'DURATION_MIN' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 10 act = CONV i( ls_field-leng ) ).
|
||||
ls_field = field_of( 'TEAM_SIZE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 10 act = CONV i( ls_field-leng ) ).
|
||||
ls_field = field_of( 'RESCUED_COUNT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 10 act = CONV i( ls_field-leng ) ).
|
||||
ls_field = field_of( 'FEE_AMOUNT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 13 act = CONV i( ls_field-leng ) ).
|
||||
ls_field = field_of( 'CURRENCY_CODE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 5 act = CONV i( ls_field-leng ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD decimals.
|
||||
DATA(ls_field) = field_of( 'FEE_AMOUNT' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = CONV i( ls_field-decimals ) ).
|
||||
ls_field = field_of( 'DURATION_MIN' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = CONV i( ls_field-decimals ) ).
|
||||
ls_field = field_of( 'CURRENCY_CODE' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = CONV i( ls_field-decimals ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD not_null_fields.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'X' act = not_null_flag( 'CLIENT' ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'X' act = not_null_flag( 'CALLOUT_ID' ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'X' act = not_null_flag( 'CALLOUT_DATE' ) ).
|
||||
cl_abap_unit_assert=>assert_initial( act = not_null_flag( 'LOCATION' ) ).
|
||||
cl_abap_unit_assert=>assert_initial( act = not_null_flag( 'DURATION_MIN' ) ).
|
||||
cl_abap_unit_assert=>assert_initial( act = not_null_flag( 'TEAM_SIZE' ) ).
|
||||
cl_abap_unit_assert=>assert_initial( act = not_null_flag( 'RESCUED_COUNT' ) ).
|
||||
cl_abap_unit_assert=>assert_initial( act = not_null_flag( 'FEE_AMOUNT' ) ).
|
||||
cl_abap_unit_assert=>assert_initial( act = not_null_flag( 'CURRENCY_CODE' ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD store_and_read.
|
||||
DATA ls_rescue TYPE {{p}}rescue.
|
||||
ls_rescue-client = sy-mandt.
|
||||
ls_rescue-callout_id = 'C0001'.
|
||||
ls_rescue-callout_date = '20250115'.
|
||||
ls_rescue-location = 'NORTH RIDGE'.
|
||||
ls_rescue-duration_min = 95.
|
||||
ls_rescue-team_size = 6.
|
||||
ls_rescue-rescued_count = 2.
|
||||
ls_rescue-fee_amount = '1250.50'.
|
||||
ls_rescue-currency_code = 'EUR'.
|
||||
INSERT {{p}}rescue FROM @ls_rescue.
|
||||
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
||||
|
||||
DATA ls_read TYPE {{p}}rescue.
|
||||
SELECT SINGLE * FROM {{p}}rescue WHERE callout_id = 'C0001' INTO @ls_read.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'NORTH RIDGE' act = ls_read-location ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = '20250115' act = ls_read-callout_date ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 95 act = ls_read-duration_min ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 6 act = ls_read-team_size ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = ls_read-rescued_count ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '1250.50' )
|
||||
act = CONV decfloat34( ls_read-fee_amount ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'EUR' act = ls_read-currency_code ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD duplicate_key.
|
||||
DATA ls_rescue TYPE {{p}}rescue.
|
||||
ls_rescue-client = sy-mandt.
|
||||
ls_rescue-callout_id = 'C0002'.
|
||||
ls_rescue-callout_date = '20250116'.
|
||||
INSERT {{p}}rescue FROM @ls_rescue.
|
||||
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
|
||||
INSERT {{p}}rescue FROM @ls_rescue.
|
||||
cl_abap_unit_assert=>assert_subrc( exp = 4 ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user