Sha256: 4480b68514c9339d427b461cf9cfdc7d6fdeebdf550d2c952b821abb92e8311a

Contents?: true

Size: 1.45 KB

Versions: 3

Compression:

Stored size: 1.45 KB

Contents

require 'spec_helper'

require 'mspire/sequest/sqt_spec_helper'
require 'mspire/sequest/sqt'

describe 'reading a small sqt file' do

  before(:each) do
    file = TESTFILES + '/small.sqt'
    @sqt = Mspire::Sequest::Sqt.new(file)
  end

  it 'can access header entries like a hash' do
    header = @sqt.header
    HeaderHash.each do |k,v|
      header[k].should == v
    end
  end

  it 'can access header entries with methods' do
    header = @sqt.header
    # for example:
    header.database.should == HeaderHash['Database']
    # all working:
    HeaderHash.each do |k,v|
      header.send(Mspire::Sequest::Sqt::Header::KeysToAtts[k]).should == v
    end

  end

  it 'has spectra, matches, and loci' do
    svt = @sqt.spectra[16]
    reply = {:first => @sqt.spectra.first, :last => @sqt.spectra.last, :seventeenth => svt, :first_match_17 => svt.matches.first, :last_match_17 => svt.matches.last, :last_match_17_last_loci => svt.matches.last.loci.last}
    [:first, :last, :seventeenth, :first_match_17, :last_match_17, :last_match_17_last_loci].each do |key|
      TestSpectra[key].each do |k,v|
        if v.is_a? Float
          reply[key].send(k).should be_within(0.0000000001).of(v)
        else
          next if key == :last_match_17_last_loci
          #p k
          #p v
          reply[key].send(k).should == v
        end
      end
    end
    @sqt.spectra[16].matches.first.loci.size.should == 1
    @sqt.spectra[16].matches.last.loci.size.should == 1
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mspire-sequest-0.2.7 spec/mspire/sequest/sqt_spec.rb
mspire-sequest-0.2.6 spec/mspire/sequest/sqt_spec.rb
mspire-sequest-0.2.5 spec/mspire/sequest/sqt_spec.rb