Sha256: f7d5693496d074d563654e107cd70cf41e32b98caa612df9ff678e44fff74da1
Contents?: true
Size: 1.26 KB
Versions: 83
Compression:
Stored size: 1.26 KB
Contents
require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper' require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/fixtures/classes' describe "Struct anonymous class instance methods" do it "Enumerable methods should work" do car = Struct::Car.new('Ford', 'Ranger', '2001') car.detect { |value| value.include? 'F' }.should == 'Ford' car.reject { |value| value.include? 'F' }.should == ['Ranger', '2001'] end it "reader method should be a synonym for []" do klass = Struct.new(:clock, :radio) alarm = klass.new(true) alarm.clock.should == alarm[:clock] alarm.radio.should == alarm['radio'] end it "reader method should not interfere with undefined methods" do car = Struct::Car.new('Ford', 'Ranger') lambda { car.something_weird }.should raise_error(NoMethodError) end it "writer method be a synonym for []=" do car = Struct::Car.new('Ford', 'Ranger') car.model.should == 'Ranger' car.model = 'F150' car.model.should == 'F150' car[:model].should == 'F150' car['model'].should == 'F150' car[1].should == 'F150' end end describe "Struct subclasses" do it "can be subclassed" do compact = Class.new Struct::Car compact.new.class.should == compact end end
Version data entries
83 entries across 83 versions & 1 rubygems