Files
abap-llm/tasks_gen/train/G1951/reference/tenancy_checker.testclasses.abap
2026-10-05 22:08:59 +02:00

118 lines
4.6 KiB
ABAP

CLASS ltc_tenancy_checker DEFINITION FINAL FOR TESTING
DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
TYPES ty_amount TYPE {{p}}if_tenancy_check=>ty_amount.
DATA mo_cut TYPE REF TO {{p}}if_tenancy_check.
METHODS setup.
METHODS ok_application FOR TESTING.
METHODS rent_must_be_positive FOR TESTING.
METHODS income_must_be_positive FOR TESTING.
METHODS overcrowded_flat FOR TESTING.
METHODS unknown_employment FOR TESTING.
METHODS income_too_low FOR TESTING.
METHODS pets_need_more_income FOR TESTING.
METHODS deposit_with_pets FOR TESTING.
METHODS deposit_without_pets FOR TESTING.
ENDCLASS.
CLASS ltc_tenancy_checker IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}tenancy_checker( ).
ENDMETHOD.
METHOD ok_application.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_tenancy_check=>c_reason-ok
act = mo_cut->check( iv_rent = CONV ty_amount( 1200 )
iv_income = CONV ty_amount( 4000 )
iv_rooms = 2
iv_persons = 2
iv_employment = {{p}}if_tenancy_check=>c_employment-permanent
iv_pets = abap_false ) ).
ENDMETHOD.
METHOD rent_must_be_positive.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_tenancy_check=>c_reason-rent
act = mo_cut->check( iv_rent = CONV ty_amount( 0 )
iv_income = CONV ty_amount( 4000 )
iv_rooms = 2
iv_persons = 2
iv_employment = {{p}}if_tenancy_check=>c_employment-permanent
iv_pets = abap_false ) ).
ENDMETHOD.
METHOD income_must_be_positive.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_tenancy_check=>c_reason-income
act = mo_cut->check( iv_rent = CONV ty_amount( 1200 )
iv_income = CONV ty_amount( 0 )
iv_rooms = 2
iv_persons = 2
iv_employment = {{p}}if_tenancy_check=>c_employment-permanent
iv_pets = abap_false ) ).
ENDMETHOD.
METHOD overcrowded_flat.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_tenancy_check=>c_reason-capacity
act = mo_cut->check( iv_rent = CONV ty_amount( 1200 )
iv_income = CONV ty_amount( 4000 )
iv_rooms = 2
iv_persons = 5
iv_employment = {{p}}if_tenancy_check=>c_employment-permanent
iv_pets = abap_false ) ).
ENDMETHOD.
METHOD unknown_employment.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_tenancy_check=>c_reason-employment
act = mo_cut->check( iv_rent = CONV ty_amount( 1200 )
iv_income = CONV ty_amount( 4000 )
iv_rooms = 2
iv_persons = 2
iv_employment = 'X'
iv_pets = abap_false ) ).
ENDMETHOD.
METHOD income_too_low.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_tenancy_check=>c_reason-ratio
act = mo_cut->check( iv_rent = CONV ty_amount( 1200 )
iv_income = CONV ty_amount( 3500 )
iv_rooms = 2
iv_persons = 2
iv_employment = {{p}}if_tenancy_check=>c_employment-permanent
iv_pets = abap_false ) ).
ENDMETHOD.
METHOD pets_need_more_income.
cl_abap_unit_assert=>assert_equals(
exp = {{p}}if_tenancy_check=>c_reason-ratio
act = mo_cut->check( iv_rent = CONV ty_amount( 1200 )
iv_income = CONV ty_amount( 4000 )
iv_rooms = 2
iv_persons = 2
iv_employment = {{p}}if_tenancy_check=>c_employment-permanent
iv_pets = abap_true ) ).
ENDMETHOD.
METHOD deposit_with_pets.
cl_abap_unit_assert=>assert_equals(
exp = CONV ty_amount( 3600 )
act = mo_cut->deposit( iv_rent = CONV ty_amount( 1200 )
iv_pets = abap_true ) ).
ENDMETHOD.
METHOD deposit_without_pets.
cl_abap_unit_assert=>assert_equals(
exp = CONV ty_amount( 2400 )
act = mo_cut->deposit( iv_rent = CONV ty_amount( 1200 )
iv_pets = abap_false ) ).
ENDMETHOD.
ENDCLASS.