Sha256: 663253d3e0210de95d9c322331f65e38cc269db0a41cd9e0ca45113b99d664df

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe Link do
  context '#initialize' do
    it 'should assign the given pitch to :target_pitch' do
      Link.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.new(C2).should eq(Link.new(C2))
    end
    
    it 'should return false if two links do not have the same target pitch' do
      Link.new(C2).should_not eq(Link.new(F5))
    end
    
    it 'should return false if the link type is different' do
      Link::Slur.new(C2).should_not eq(Link::Legato.new(D2))
    end
  end
  
  describe '#clone' do
    it 'should return a link with the same target pitch' do
      l = Link.new(C4)
      l.clone.target_pitch.should eq(C4)
    end
    
    it 'should return a link with the same class' do
      l = Link::Slur.new(Eb2)
      l.clone.class.should eq(Link::Slur)
    end
  end
  
  describe '#to_yaml' do
    it 'should produce YAML that can be loaded' do
      l = Link::Slur.new(C5)
      YAML.load(l.to_yaml).should eq l
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
music-transcription-0.8.1 spec/link_spec.rb
music-transcription-0.8.0 spec/link_spec.rb