- require 'minitest/autorun' 
-   
- #144 
-   
- F= 
- ->s{a=s.chars.map{|c|[c,c=~/[a-z]/i&&c.upcase.ord-64]} 
- z=a.size 
- while i=a.index{|c,s|s} 
- c,s=a.delete_at i 
- a.insert (i+s)%z,[c] 
- end 
- a.join} 
-   
- describe :MovingLetters do 
-   def test_case_1 
-     assert_equal 'tca', F['cat'] 
-   end 
-   
-   def test_case_2 
-     assert_equal '.F.NU', F['F.U.N'] 
-   end 
-   
-   def test_case_3 
-     assert_equal 'goD', F['Dog'] 
-   end 
-   
-   def test_case_4 
-     assert_equal '*hibey', F['hi*bye'] 
-   end 
- end 
-   
				cmVxdWlyZSAnbWluaXRlc3QvYXV0b3J1bicKCiMxNDQKCkY9Ci0+c3thPXMuY2hhcnMubWFwe3xjfFtjLGM9fi9bYS16XS9pJiZjLnVwY2FzZS5vcmQtNjRdfQp6PWEuc2l6ZQp3aGlsZSBpPWEuaW5kZXh7fGMsc3xzfQpjLHM9YS5kZWxldGVfYXQgaQphLmluc2VydCAoaStzKSV6LFtjXQplbmQKYS5qb2lufQoKZGVzY3JpYmUgOk1vdmluZ0xldHRlcnMgZG8KICBkZWYgdGVzdF9jYXNlXzEKICAgIGFzc2VydF9lcXVhbCAndGNhJywgRlsnY2F0J10KICBlbmQKCiAgZGVmIHRlc3RfY2FzZV8yCiAgICBhc3NlcnRfZXF1YWwgJy5GLk5VJywgRlsnRi5VLk4nXQogIGVuZAoKICBkZWYgdGVzdF9jYXNlXzMKICAgIGFzc2VydF9lcXVhbCAnZ29EJywgRlsnRG9nJ10KICBlbmQKCiAgZGVmIHRlc3RfY2FzZV80CiAgICBhc3NlcnRfZXF1YWwgJypoaWJleScsIEZbJ2hpKmJ5ZSddCiAgZW5kCmVuZAo=