add reverse string exercise (#15)
This commit is contained in:
@@ -36,6 +36,14 @@
|
|||||||
"practices": [],
|
"practices": [],
|
||||||
"prerequisites": [],
|
"prerequisites": [],
|
||||||
"difficulty": 1
|
"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