5 . /cs/www/classes/cs372/spring15/a5/tests /cs/www/classes/cs372/spring15/a5/master # # problem nzip nzip.rb build true test nzip-version case ruby --version test nzip template echo 'load "nzip.rb"; ;' | ruby # case nzip([1,2,3,4], %w{one two three four five six}) { |x| printf("result: %s\n", x.inspect)} case nzip([1,2,3,4], %w{one two three four five six}, [10]*10) { |x| printf("%s, size = %d\n", x.inspect, x.size)} case nzip([String]) { |x| printf("x = #{x.inspect}\n") } case nzip([ ], %w{one two three four five six}) { |x| printf("result: %s\n", x.inspect)} case nzip(("a".."z").to_a,("A1".."A10").to_a, ("!".."/").to_a, (200..300).to_a) {|x| puts x*"-" } # # problem vrepl vrepl.rb build true test vrepl-version case ruby --version test vrepl template echo 'load "vrepl.rb"; ;' | ruby case p (vrepl(%w{a b c}) { 2 }) case p (vrepl(%w{a b c}) { 0 }) case p (vrepl((1..10).to_a) { |x| x % 2 == 0 ? 1 : 0 }) case i = 0; p (vrepl([7, [1], "4"]) { i += 1 }) case p (vrepl([7, 1, 4]) { -10 }) # problem mirror mirror.rb build true test mirror-version case ruby --version test mirror template echo 'load "mirror.rb"; ;' | ruby case mirror([1, "two", {a: "b"}, 3.0]) { |v| p ["v", v] } case mirror(1..3) { |x| puts "x = #{x}" } case mirror([1, "two", {a: "b"}, 3.0]) { |v| puts "v = #{v.inspect} (#{v.class})" } case mirror({:a=>1, :b=>2, :c=>3}) {|x| p x} case sum = 0; mirror((1..100).to_a) { |x| sum += x }; p sum case mirror(open("a5/pancakes.1")) {|s| puts "line = #{s.inspect}"} test mirror2 case ruby a5/tests/mirrortest.rb # problem calc calc.rb build true test calc-version case ruby --version test calc template /bin/echo -e | ruby calc.rb case -diffw '3+4' case -diffw '3*4+5' case -diffw '3+4*5' case -diffw '1/2*3+4' case -diffw '5/3' case -diffw '143243243243242323*342343443234324' case -diffw 'x=7\nx+x' case -diffw 'x=7\nyval=10\nz\nx=x+yval+z' case -diffw 'x=7\nyval=10\nz\nx=x+yval+z\nyval=x+yval\nyval' case -diffw 'big=11111111111111111*11111111111111111\nbig\nbig=big/big' case -diffw 'a=b\na\nb\na=a+b+c+1\na' case -diffw 'w1dth2=555\nh3ight4=77\narea0=w1dth2*h3ight4\ntwicearea=area0*2\ntwicearea=twicearea*twicearea\ntwicearea' problem switched switched.rb build true test switched-version case ruby --version test switched case ruby switched.rb 1951 1958 case ruby switched.rb 1963 1969 case ruby switched.rb 1948 1952 case ruby switched.rb 1940 1960 case ruby switched.rb 1960 1980 case ruby switched.rb 1970 1980 case ruby switched.rb 1970 1990 case ruby switched.rb 2011 2012 # problem pancakes pancakes.rb build true test pancakes-version case ruby --version test pancakes case ruby pancakes.rb < a5/pancakes.1 | sed 's/ *$//' case ruby pancakes.rb < a5/pancakes.2 | sed 's/ *$//' case ruby pancakes.rb < a5/pancakes.3 | sed 's/ *$//'