- F= 
- # 80 
- ->s,l{s+=' '*(l-s.size%l) 
- (s.size/l).times{|i|puts [x=s[i*l,l],x.reverse][i%2]}} 
-   
- require 'minitest/autorun' 
-   
- describe F do 
-   def test_case_1 
-     expected = <<-EOS 
- Prog 
- mmar 
- ing  
- zzuP 
- les  
- oC & 
- de G 
-  flo 
- EOS 
-   
-     actual = capture_stdout(){ F['Programming Puzzles & Code Golf', 4] } 
-   
-     assert_equal expected, actual 
-   end 
-   
-   def test_case_2 
-     expected = <<-EOS 
- Hello 
- roW , 
- ld!   
- EOS 
-   
-     actual = capture_stdout(){ F['Hello, World!', 5] } 
-   
-     assert_equal expected, actual 
-   end 
- end 
-   
-   
-   
- require 'stringio' 
-   
- module Kernel 
-   def capture_stdout(console_input = '') 
-     $stdin = StringIO.new(console_input) 
-     out = StringIO.new 
-     $stdout = out 
-     yield 
-     return out.string 
-   ensure 
-     $stdout = STDOUT 
-     $stdin = STDIN 
-   end 
- end 
-   
				Rj0KIyA4MAotPnMsbHtzKz0nICcqKGwtcy5zaXplJWwpCihzLnNpemUvbCkudGltZXN7fGl8cHV0cyBbeD1zW2kqbCxsXSx4LnJldmVyc2VdW2klMl19fQoKcmVxdWlyZSAnbWluaXRlc3QvYXV0b3J1bicKCmRlc2NyaWJlIEYgZG8KICBkZWYgdGVzdF9jYXNlXzEKICAgIGV4cGVjdGVkID0gPDwtRU9TClByb2cKbW1hcgppbmcgCnp6dVAKbGVzIApvQyAmCmRlIEcKIGZsbwpFT1MKCiAgICBhY3R1YWwgPSBjYXB0dXJlX3N0ZG91dCgpeyBGWydQcm9ncmFtbWluZyBQdXp6bGVzICYgQ29kZSBHb2xmJywgNF0gfQoKICAgIGFzc2VydF9lcXVhbCBleHBlY3RlZCwgYWN0dWFsCiAgZW5kCgogIGRlZiB0ZXN0X2Nhc2VfMgogICAgZXhwZWN0ZWQgPSA8PC1FT1MKSGVsbG8Kcm9XICwKbGQhICAKRU9TCgogICAgYWN0dWFsID0gY2FwdHVyZV9zdGRvdXQoKXsgRlsnSGVsbG8sIFdvcmxkIScsIDVdIH0KCiAgICBhc3NlcnRfZXF1YWwgZXhwZWN0ZWQsIGFjdHVhbAogIGVuZAplbmQKCgoKcmVxdWlyZSAnc3RyaW5naW8nCgptb2R1bGUgS2VybmVsCiAgZGVmIGNhcHR1cmVfc3Rkb3V0KGNvbnNvbGVfaW5wdXQgPSAnJykKICAgICRzdGRpbiA9IFN0cmluZ0lPLm5ldyhjb25zb2xlX2lucHV0KQogICAgb3V0ID0gU3RyaW5nSU8ubmV3CiAgICAkc3Rkb3V0ID0gb3V0CiAgICB5aWVsZAogICAgcmV0dXJuIG91dC5zdHJpbmcKICBlbnN1cmUKICAgICRzdGRvdXQgPSBTVERPVVQKICAgICRzdGRpbiA9IFNURElOCiAgZW5kCmVuZAo=