Sha256: 59dee519a7fc6e5886a913ab982bc2111cdc3f24697c45f7ae72c0a333e8c153

Contents?: true

Size: 881 Bytes

Versions: 1

Compression:

Stored size: 881 Bytes

Contents

require 'test_helper'

class ElementTest < MiniTest::Unit::TestCase
  def test_raises_error_without_name
    assert_raises ArgumentError do
      Chemistry::DSL.element
    end
  end

  def test_raises_error_without_block
    assert_raises ArgumentError do
      Chemistry::DSL.element "Hydrogen"
    end
  end

  def test_defines_an_element
    assert_raises NameError do
      Chemistry::Element::Foobar
    end

    Chemistry::DSL.element "Foobar" do
    end

    assert_equal Chemistry::Element <=> Chemistry::Element::Foobar, 1
  end
end

class DefinitionTest < MiniTest::Unit::TestCase
  include Chemistry::DSL

  def test_full_definition
    element "Hydrogen" do
      symbol 'H'
      atomic_number 1
      atomic_weight 1.00794
    end

    h_atom = Chemistry::Element::Hydrogen.new

    assert_equal h_atom.symbol, 'H'
    assert_equal h_atom.atomic_number, 1
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chemistry-0.0.3 test/chemistry/test_dsl.rb