# # To change this template, choose Tools | Templates # and open the template in the editor. require File.join(File.dirname(__FILE__), %w[spec_helper]) require 'reciver' describe Reciver do before(:each) do @r = Reciver.new @lambdas=[] @lambdas[0] = lambda{ 1 - 2} @lambdas[1] = lambda{|raz| raz+raz} @lambdas[2] = lambda{|raz,dwa| raz+dwa} @lambdas[3] = lambda{|*raz| raz.flatten} end it "should not rise" do lambda{@lambdas[0].call()}.should_not raise_error lambda{@lambdas[1].call(0)}.should_not raise_error lambda{@lambdas[2].call(0,1)}.should_not raise_error lambda{@lambdas[3].call(0,1,2)}.should_not raise_error end it "should produce similar code ;)" do @lambdas.each do |l| puts "----------------------" puts l.to_ruby puts "--------" puts @r.sexp_to_lambda_str(l.to_sexp) puts "----------------------\n\n" end end it "should eval" do @lambdas.each do |l| lambda{@r.sexp_to_lambda(@lambdas[0].to_sexp).call()}.should_not raise_error lambda{@r.sexp_to_lambda(@lambdas[0].to_sexp).call(0)}.should_not raise_error lambda{@r.sexp_to_lambda(@lambdas[0].to_sexp).call(0,1)}.should_not raise_error lambda{@r.sexp_to_lambda(@lambdas[0].to_sexp).call(0,1,2)}.should_not raise_error end end end