require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe Link::Glissando do describe '#initialize' do it 'should assign the given pitch to :target_pitch' do Link::Glissando.new(C2).target_pitch.should eq(C2) end end describe '#==' do it 'should return true if two links have the same target pitch' do Link::Glissando.new(C2).should eq(Link::Glissando.new(C2)) end it 'should return false if two links do not have the same target pitch' do Link::Glissando.new(C2).should_not eq(Link::Glissando.new(F5)) end it 'should return false if the link type is different' do Link::Glissando.new(C2).should_not eq(Link::Portamento.new(D2)) end end describe '#clone' do it 'should return a link equal to original' do l = Link::Glissando.new(C4) l.clone.should eq l end end describe '#to_yaml' do it 'should produce YAML that can be loaded' do l = Link::Glissando.new(C5) YAML.load(l.to_yaml).should eq l end end end describe Link::Portamento do describe '#initialize' do it 'should assign the given pitch to :target_pitch' do Link::Portamento.new(C2).target_pitch.should eq(C2) end end describe '#==' do it 'should return true if two links have the same target pitch' do Link::Portamento.new(C2).should eq(Link::Portamento.new(C2)) end it 'should return false if two links do not have the same target pitch' do Link::Portamento.new(C2).should_not eq(Link::Portamento.new(F5)) end it 'should return false if the link type is different' do Link::Portamento.new(C2).should_not eq(Link::Glissando.new(D2)) end end describe '#clone' do it 'should return a link equal to original' do l = Link::Portamento.new(C4) l.clone.should eq l end end describe '#to_yaml' do it 'should produce YAML that can be loaded' do l = Link::Portamento.new(C5) YAML.load(l.to_yaml).should eq l end end end describe Link::Tie do describe '#==' do it 'should return true if another Tie object is given' do Link::Tie.new.should eq(Link::Tie.new) end it 'should return false if a non-Tie object is given' do Link::Tie.new.should_not eq(Link::Portamento.new(C2)) end end describe '#clone' do it 'should return a link equal to original' do l = Link::Tie.new l.clone.should eq l end end describe '#to_yaml' do it 'should produce YAML that can be loaded' do l = Link::Tie.new YAML.load(l.to_yaml).should eq l end end end