Sha256: 0861ad85ee0d0f80f0f583b0b9fde333016825c72ea7fb6ce45f07295e23115b

Contents?: true

Size: 1.26 KB

Versions: 3

Compression:

Stored size: 1.26 KB

Contents

require 'spec_helper'

SimpleCov.command_name('TestElement') unless RUBY_VERSION.to_s < '1.9.0'

describe 'TestElement, Unit' do

  clazz = CukeModeler::TestElement

  it_should_behave_like 'a test element', clazz
  it_should_behave_like 'a feature element', clazz
  it_should_behave_like 'a nested element', clazz
  it_should_behave_like 'a prepopulated element', clazz
  it_should_behave_like 'a bare bones element', clazz


  before(:each) do
    @element = clazz.new
  end

  it 'contains only steps - #contains' do
    steps = [:step_1, :step_2, :step_3]
    @element.steps = steps

    @element.contains.should =~ steps
  end

  it 'can determine its equality with another TestElement - #==' do
    element_1 = clazz.new
    element_2 = clazz.new
    element_3 = clazz.new

    element_1.steps = :some_steps
    element_2.steps = :some_steps
    element_3.steps = :some_other_steps

    (element_1 == element_2).should be_true
    (element_1 == element_3).should be_false
  end

  it 'can gracefully be compared to other types of objects' do
    # Some common types of object
    [1, 'foo', :bar, [], {}].each do |thing|
      expect { @element == thing }.to_not raise_error
      expect(@element == thing).to be false
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cuke_modeler-0.2.0 spec/unit/test_element_unit_spec.rb
cuke_modeler-0.1.0 spec/unit/test_element_unit_spec.rb
cuke_modeler-0.0.2 spec/unit/test_element_unit_spec.rb