118 lines
4.6 KiB
ABAP
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.
|