add reverse string exercise (#15)
This commit is contained in:
@@ -36,6 +36,14 @@
|
||||
"practices": [],
|
||||
"prerequisites": [],
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"slug": "reverse-string",
|
||||
"name": "Reverse String",
|
||||
"uuid": "fad4b5a6-6a15-4687-886c-34787df7b45e",
|
||||
"practices": [],
|
||||
"prerequisites": [],
|
||||
"difficulty": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
7
exercises/practice/reverse-string/.docs/instructions.md
Normal file
7
exercises/practice/reverse-string/.docs/instructions.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Instructions
|
||||
|
||||
Reverse a string
|
||||
|
||||
For example:
|
||||
input: "cool"
|
||||
output: "looc"
|
||||
10
exercises/practice/reverse-string/.meta/config.json
Normal file
10
exercises/practice/reverse-string/.meta/config.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"blurb": "Reverse a string",
|
||||
"authors": ["mbtools"],
|
||||
"contributors": [],
|
||||
"files": {
|
||||
"solution": ["zcl_reverse_string.clas.abap"],
|
||||
"test": ["zcl_reverse_string.clas.testclasses.abap"],
|
||||
"example": [".meta/zcl_reverse_string.clas.abap"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
CLASS zcl_reverse_string DEFINITION PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
METHODS reverse_string
|
||||
IMPORTING
|
||||
input TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS zcl_reverse_string IMPLEMENTATION.
|
||||
|
||||
METHOD reverse_string.
|
||||
" Please complete the implementation of the reverse_string method
|
||||
result = input.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
@@ -0,0 +1,16 @@
|
||||
CLASS zcl_reverse_string DEFINITION PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
METHODS reverse_string
|
||||
IMPORTING
|
||||
input TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS zcl_reverse_string IMPLEMENTATION.
|
||||
|
||||
METHOD reverse_string.
|
||||
result = reverse( input ).
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
@@ -0,0 +1,59 @@
|
||||
CLASS ltcl_reverse_string DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA cut TYPE REF TO zcl_reverse_string.
|
||||
|
||||
METHODS:
|
||||
setup,
|
||||
test_empty_string FOR TESTING,
|
||||
test_word FOR TESTING,
|
||||
test_capitalized_word FOR TESTING,
|
||||
test_sentence_with_punctuation FOR TESTING,
|
||||
test_palindrome FOR TESTING,
|
||||
test_even_sized_word FOR TESTING.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS ltcl_reverse_string IMPLEMENTATION.
|
||||
|
||||
METHOD setup.
|
||||
cut = NEW zcl_reverse_string( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_empty_string.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = cut->reverse_string( '' )
|
||||
exp = '' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_word.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = cut->reverse_string( 'robot' )
|
||||
exp = 'tobor' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_capitalized_word.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = cut->reverse_string( 'Ramen' )
|
||||
exp = 'nemaR' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_sentence_with_punctuation.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = cut->reverse_string( `I'm hungry!` )
|
||||
exp = `!yrgnuh m'I` ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_palindrome.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = cut->reverse_string( 'racecar' )
|
||||
exp = 'racecar' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_even_sized_word.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = cut->reverse_string( 'drawer' )
|
||||
exp = 'reward' ).
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user