require 'minitest/autorun'
def word_median(word)
half = word.length / 2
case
when word == '' then ''
when word.length.odd? then word[half]
else word[half - 1..half]
end
end
describe 'word median' do
it 'returns empty string when source string is empty' do
assert word_median('') == ''
end
it 'returns middle character when word has odd length' do
assert word_median('a') == 'a'
assert word_median('foo') == 'o'
assert word_median('never') == 'v'
assert word_median('stackoverflow') == 'v'
end
it 'returns middle characters when word has even length' do
assert word_median('ab') == 'ab'
assert word_median('flower') == 'ow'
end
end
cmVxdWlyZSAnbWluaXRlc3QvYXV0b3J1bicKCmRlZiB3b3JkX21lZGlhbih3b3JkKQogIGhhbGYgPSB3b3JkLmxlbmd0aCAvIDIKCiAgY2FzZQogIHdoZW4gd29yZCA9PSAnJyB0aGVuICcnCiAgd2hlbiB3b3JkLmxlbmd0aC5vZGQ/IHRoZW4gd29yZFtoYWxmXQogIGVsc2Ugd29yZFtoYWxmIC0gMS4uaGFsZl0KICBlbmQKZW5kCgpkZXNjcmliZSAnd29yZCBtZWRpYW4nIGRvCiAgaXQgJ3JldHVybnMgZW1wdHkgc3RyaW5nIHdoZW4gc291cmNlIHN0cmluZyBpcyBlbXB0eScgZG8KICAgIGFzc2VydCB3b3JkX21lZGlhbignJykgPT0gJycKICBlbmQKCiAgaXQgJ3JldHVybnMgbWlkZGxlIGNoYXJhY3RlciB3aGVuIHdvcmQgaGFzIG9kZCBsZW5ndGgnIGRvCiAgICBhc3NlcnQgd29yZF9tZWRpYW4oJ2EnKSA9PSAnYScKICAgIGFzc2VydCB3b3JkX21lZGlhbignZm9vJykgPT0gJ28nCiAgICBhc3NlcnQgd29yZF9tZWRpYW4oJ25ldmVyJykgPT0gJ3YnCiAgICBhc3NlcnQgd29yZF9tZWRpYW4oJ3N0YWNrb3ZlcmZsb3cnKSA9PSAndicKICBlbmQKCiAgaXQgJ3JldHVybnMgbWlkZGxlIGNoYXJhY3RlcnMgd2hlbiB3b3JkIGhhcyBldmVuIGxlbmd0aCcgZG8KICAgIGFzc2VydCB3b3JkX21lZGlhbignYWInKSA9PSAnYWInCiAgICBhc3NlcnQgd29yZF9tZWRpYW4oJ2Zsb3dlcicpID09ICdvdycKICBlbmQKZW5kCg==