CLASS {{p}}cl_sail_repair_test DEFINITION PUBLIC FINAL CREATE PUBLIC FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. PRIVATE SECTION. METHODS reason_codes FOR TESTING. METHODS code_lists FOR TESTING. METHODS limits FOR TESTING. METHODS type_lengths FOR TESTING. METHODS method_signature FOR TESTING. ENDCLASS. CLASS {{p}}cl_sail_repair_test IMPLEMENTATION. METHOD reason_codes. cl_abap_unit_assert=>assert_equals( exp = 'OK' act = {{p}}if_sail_repair=>c_reason-ok ). cl_abap_unit_assert=>assert_equals( exp = 'EMPTY' act = {{p}}if_sail_repair=>c_reason-empty ). cl_abap_unit_assert=>assert_equals( exp = 'DAMAGE' act = {{p}}if_sail_repair=>c_reason-damage ). cl_abap_unit_assert=>assert_equals( exp = 'CLOTH' act = {{p}}if_sail_repair=>c_reason-cloth ). cl_abap_unit_assert=>assert_equals( exp = 'LENGTH' act = {{p}}if_sail_repair=>c_reason-length ). cl_abap_unit_assert=>assert_equals( exp = 'RUSH' act = {{p}}if_sail_repair=>c_reason-rush ). ENDMETHOD. METHOD code_lists. cl_abap_unit_assert=>assert_equals( exp = 'TEAR' act = {{p}}if_sail_repair=>c_damage-tear ). cl_abap_unit_assert=>assert_equals( exp = 'SEAM' act = {{p}}if_sail_repair=>c_damage-seam ). cl_abap_unit_assert=>assert_equals( exp = 'EYLT' act = {{p}}if_sail_repair=>c_damage-eylt ). cl_abap_unit_assert=>assert_equals( exp = 'BATT' act = {{p}}if_sail_repair=>c_damage-batt ). cl_abap_unit_assert=>assert_equals( exp = 'LITE' act = {{p}}if_sail_repair=>c_cloth-lite ). cl_abap_unit_assert=>assert_equals( exp = 'MEDM' act = {{p}}if_sail_repair=>c_cloth-medm ). cl_abap_unit_assert=>assert_equals( exp = 'HEAV' act = {{p}}if_sail_repair=>c_cloth-heav ). ENDMETHOD. METHOD limits. cl_abap_unit_assert=>assert_equals( exp = 400 act = {{p}}if_sail_repair=>c_max_length ). cl_abap_unit_assert=>assert_equals( exp = 200 act = {{p}}if_sail_repair=>c_rush_limit ). ENDMETHOD. METHOD type_lengths. DATA lv_reason TYPE {{p}}if_sail_repair=>ty_reason. DATA lv_damage TYPE {{p}}if_sail_repair=>ty_damage. DATA lv_cloth TYPE {{p}}if_sail_repair=>ty_cloth. DATA lv_long TYPE string. lv_long = 'ABCDEFGHIJKLMNOP'. lv_reason = lv_long. lv_damage = lv_long. lv_cloth = lv_long. cl_abap_unit_assert=>assert_equals( exp = 'ABCDEFGHIJ' act = lv_reason ). cl_abap_unit_assert=>assert_equals( exp = 'ABCD' act = lv_damage ). cl_abap_unit_assert=>assert_equals( exp = 'ABCD' act = lv_cloth ). ENDMETHOD. METHOD method_signature. DATA lo_order TYPE REF TO {{p}}if_sail_repair. DATA lv_reason TYPE {{p}}if_sail_repair=>ty_reason. TRY. lv_reason = lo_order->check_order( iv_damage = {{p}}if_sail_repair=>c_damage-seam iv_cloth = {{p}}if_sail_repair=>c_cloth-heav iv_length = 250 iv_rush = abap_true ). CATCH cx_sy_ref_is_initial. lv_reason = {{p}}if_sail_repair=>c_reason-ok. ENDTRY. cl_abap_unit_assert=>assert_equals( exp = {{p}}if_sail_repair=>c_reason-ok act = lv_reason ). ENDMETHOD. ENDCLASS.