103 lines
4.1 KiB
ABAP
103 lines
4.1 KiB
ABAP
CLASS {{p}}visit_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 fee_of_one_visit FOR TESTING.
|
|
METHODS fee_of_two_hours FOR TESTING.
|
|
METHODS fee_of_zero_hours FOR TESTING.
|
|
METHODS cancelled_visit_hidden FOR TESTING.
|
|
METHODS orphan_visit_hidden FOR TESTING.
|
|
METHODS open_visits_shown FOR TESTING.
|
|
METHODS area_name_shown FOR TESTING.
|
|
METHODS guest_shown FOR TESTING.
|
|
METHODS num_hours_shown FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}visit_hidden IMPLEMENTATION.
|
|
METHOD class_setup.
|
|
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_VISIT_FEE' ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
go_env->destroy( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD setup.
|
|
DATA lt_area TYPE STANDARD TABLE OF {{p}}area WITH EMPTY KEY.
|
|
DATA lt_visit TYPE STANDARD TABLE OF {{p}}visit WITH EMPTY KEY.
|
|
go_env->clear_doubles( ).
|
|
lt_area = VALUE #( ( area_id = 'A1' area_name = 'Window' seats = 4 )
|
|
( area_id = 'A2' area_name = 'Corner' seats = 2 ) ).
|
|
lt_visit = VALUE #( ( visit_id = 'V1' area_id = 'A1' guest = 'ANNA' num_hours = 3 visit_state = 'O' )
|
|
( visit_id = 'V2' area_id = 'A2' guest = 'BEN' num_hours = 2 visit_state = 'O' )
|
|
( visit_id = 'V3' area_id = 'A1' guest = 'CARA' num_hours = 5 visit_state = 'C' )
|
|
( visit_id = 'V4' area_id = 'A2' guest = 'DAN' num_hours = 0 visit_state = 'O' )
|
|
( visit_id = 'V5' area_id = 'A9' guest = 'EVE' num_hours = 4 visit_state = 'O' ) ).
|
|
go_env->insert_test_data( lt_area ).
|
|
go_env->insert_test_data( lt_visit ).
|
|
ENDMETHOD.
|
|
|
|
METHOD fee_of_one_visit.
|
|
SELECT SINGLE fee FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V1' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '22.50' )
|
|
act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD fee_of_two_hours.
|
|
SELECT SINGLE fee FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V2' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '15.00' )
|
|
act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD fee_of_zero_hours.
|
|
SELECT COUNT(*) FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V4' INTO @DATA(lv_rows).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rows ).
|
|
SELECT SINGLE fee FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V4' INTO @DATA(lv_fee).
|
|
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '0.00' )
|
|
act = CONV decfloat34( lv_fee ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD cancelled_visit_hidden.
|
|
SELECT COUNT(*) FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V3' INTO @DATA(lv_rows).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rows ).
|
|
ENDMETHOD.
|
|
|
|
METHOD orphan_visit_hidden.
|
|
SELECT COUNT(*) FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V5' INTO @DATA(lv_rows).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rows ).
|
|
ENDMETHOD.
|
|
|
|
METHOD open_visits_shown.
|
|
SELECT COUNT(*) FROM {{p}}i_visit_fee( p_rate = '7.50' ) INTO @DATA(lv_rows).
|
|
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_rows ).
|
|
ENDMETHOD.
|
|
|
|
METHOD area_name_shown.
|
|
SELECT SINGLE area_name FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V1' INTO @DATA(lv_name).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'Window' act = lv_name ).
|
|
ENDMETHOD.
|
|
|
|
METHOD guest_shown.
|
|
SELECT SINGLE guest FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V2' INTO @DATA(lv_guest).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'BEN' act = lv_guest ).
|
|
ENDMETHOD.
|
|
|
|
METHOD num_hours_shown.
|
|
SELECT SINGLE num_hours FROM {{p}}i_visit_fee( p_rate = '7.50' )
|
|
WHERE visit_id = 'V1' INTO @DATA(lv_hours).
|
|
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_hours ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|