Sha256: 44753a8d3422050d70d0474cf5706cb38a5641b9a07115a7d5cde753e909f34c
Contents?: true
Size: 1.1 KB
Versions: 4
Compression:
Stored size: 1.1 KB
Contents
require 'spec_helper' describe Transproc::ClassTransformations do describe '.constructor_inject' do let(:klass) do Struct.new(:name, :age) { include Equalizer.new(:name, :age) } end it 'returns a new object initialized with the given arguments' do constructor_inject = t(:constructor_inject, klass) input = ['Jane', 25] output = klass.new(*input) result = constructor_inject[*input] expect(result).to eql(output) expect(result).to be_instance_of(klass) end end describe '.set_ivars' do let(:klass) do Class.new do include Anima.new(:name, :age) attr_reader :test def initialize(*args) super @test = true end end end it 'allocates a new object and sets instance variables from hash key/value pairs' do set_ivars = t(:set_ivars, klass) input = { name: 'Jane', age: 25 } output = klass.new(input) result = set_ivars[input] expect(result).to eql(output) expect(result.test).to be(nil) expect(result).to be_instance_of(klass) end end end
Version data entries
4 entries across 4 versions & 1 rubygems