Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
109 lines
5.0 KiB
ABAP
109 lines
5.0 KiB
ABAP
CLASS {{p}}green_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PRIVATE SECTION.
|
|
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
|
|
CLASS-METHODS class_setup.
|
|
CLASS-METHODS class_teardown.
|
|
METHODS setup.
|
|
METHODS junior_weekday FOR TESTING.
|
|
METHODS junior_weekend FOR TESTING.
|
|
METHODS junior_unknown_day FOR TESTING.
|
|
METHODS senior_weekday FOR TESTING.
|
|
METHODS senior_weekend FOR TESTING.
|
|
METHODS senior_holiday FOR TESTING.
|
|
METHODS adult_weekday FOR TESTING.
|
|
METHODS adult_weekend FOR TESTING.
|
|
METHODS adult_holiday FOR TESTING.
|
|
METHODS unknown_member FOR TESTING.
|
|
METHODS tee_without_member FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}green_hidden IMPLEMENTATION.
|
|
METHOD class_setup.
|
|
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_GREEN_FEE' ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
go_env->destroy( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
DATA lt_mem TYPE STANDARD TABLE OF {{p}}member WITH EMPTY KEY.
|
|
DATA lt_tee TYPE STANDARD TABLE OF {{p}}tee WITH EMPTY KEY.
|
|
go_env->clear_doubles( ).
|
|
lt_mem = VALUE #( ( member_id = 'M1' member_kind = 'J' member_name = 'Junior' )
|
|
( member_id = 'M2' member_kind = 'S' member_name = 'Senior' )
|
|
( member_id = 'M3' member_kind = 'A' member_name = 'Adult' )
|
|
( member_id = 'M4' member_kind = 'X' member_name = 'Unknown' ) ).
|
|
lt_tee = VALUE #( ( tee_id = 'T01' member_id = 'M1' day_kind = 'W' player_count = 1 )
|
|
( tee_id = 'T02' member_id = 'M1' day_kind = 'E' player_count = 2 )
|
|
( tee_id = 'T03' member_id = 'M1' day_kind = 'Z' player_count = 1 )
|
|
( tee_id = 'T04' member_id = 'M2' day_kind = 'W' player_count = 1 )
|
|
( tee_id = 'T05' member_id = 'M2' day_kind = 'E' player_count = 3 )
|
|
( tee_id = 'T06' member_id = 'M2' day_kind = 'H' player_count = 1 )
|
|
( tee_id = 'T07' member_id = 'M3' day_kind = 'W' player_count = 1 )
|
|
( tee_id = 'T08' member_id = 'M3' day_kind = 'E' player_count = 1 )
|
|
( tee_id = 'T09' member_id = 'M3' day_kind = 'H' player_count = 2 )
|
|
( tee_id = 'T10' member_id = 'M4' day_kind = 'W' player_count = 1 )
|
|
( tee_id = 'T11' member_id = 'M9' day_kind = 'W' player_count = 1 ) ).
|
|
go_env->insert_test_data( lt_mem ).
|
|
go_env->insert_test_data( lt_tee ).
|
|
ENDMETHOD.
|
|
|
|
METHOD junior_weekday.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T01' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '8.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD junior_weekend.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T02' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '24.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD junior_unknown_day.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T03' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '12.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD senior_weekday.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T04' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '20.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD senior_weekend.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T05' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '90.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD senior_holiday.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T06' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '35.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD adult_weekday.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T07' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '35.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD adult_weekend.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T08' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '55.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD adult_holiday.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T09' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '120.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD unknown_member.
|
|
SELECT SINGLE green_fee FROM {{p}}i_green_fee WHERE tee_id = 'T10' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '35.00' ) act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD tee_without_member.
|
|
SELECT COUNT(*) FROM {{p}}i_green_fee INTO @DATA(lv_count).
|
|
cl_abap_unit_assert=>assert_equals( exp = 10 act = lv_count ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|