Sha256: f7f27c4cb30343c8625d1cbb6f505a6164f38d3357d8d88748fc7339392d99a2

Contents?: true

Size: 1.55 KB

Versions: 13

Compression:

Stored size: 1.55 KB

Contents

require 'spec_helper'

require 'mspire/isotope'

describe 'Mspire::Isotope constants' do
  it 'Mspire::Isotope::ISOTOPES has all the common isotopes and uses Neese by default' do
    # frozen
    Mspire::Isotope::ISOTOPES.size.should == 288
    hydrogen_isotopes = Mspire::Isotope::ISOTOPES.select {|iso| iso.element == :H }
    hydrogen_isotopes.size.should == 2

    { atomic_number: 1, element: :H, mass_number: 1, atomic_mass: 1.00782503207, relative_abundance: 0.999844, average_mass: 1.00794, mono: true }.each do |k,v|
      hydrogen_isotopes.first.send(k).should == v
    end
    {atomic_number: 1, element: :H, mass_number: 2, atomic_mass: 2.0141017778, relative_abundance: 0.000156, average_mass: 1.00794, mono: false}.each do |k,v|
      hydrogen_isotopes.last.send(k).should == v
    end
    u = Mspire::Isotope::ISOTOPES.last
    {atomic_number: 92, element: :U, mass_number: 238, atomic_mass: 238.0507882, relative_abundance: 0.992742, average_mass: 238.02891, mono: true}.each do |k,v|
      u.send(k).should == v
    end
  end
  it 'has all common isotopes by element: Mspire::Isotope::BY_ELEMENT' do
    [{atomic_number: 6, element: :C, mass_number: 12, atomic_mass: 12.0, relative_abundance: 0.9891, average_mass: 12.0107, mono: true}, {atomic_number: 6, element: :C, mass_number: 13, atomic_mass: 13.0033548378, relative_abundance: 0.0109, average_mass: 12.0107, mono: false}].zip(Mspire::Isotope::BY_ELEMENT[:C]) do |hash, iso|
      hash.each do |k,v|
        iso.send(k).should == v
      end
    end
    Mspire::Isotope::BY_ELEMENT[:H].size.should == 2
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
mspire-0.10.8.0 spec/mspire/isotope_spec.rb
mspire-0.10.7.3 spec/mspire/isotope_spec.rb
mspire-0.10.7.2 spec/mspire/isotope_spec.rb
mspire-0.10.7.1 spec/mspire/isotope_spec.rb
mspire-0.10.7 spec/mspire/isotope_spec.rb
mspire-0.10.6 spec/mspire/isotope_spec.rb
mspire-0.10.5 spec/mspire/isotope_spec.rb
mspire-0.10.4 spec/mspire/isotope_spec.rb
mspire-0.10.3 spec/mspire/isotope_spec.rb
mspire-0.10.2 spec/mspire/isotope_spec.rb
mspire-0.10.1 spec/mspire/isotope_spec.rb
mspire-0.10.0 spec/mspire/isotope_spec.rb
mspire-0.9.2 spec/mspire/isotope_spec.rb