Sha256: 7a140c6ca79dca99ee76ba9c854fa491f90f15eeb54e00730b3ce3098d60a78e

Contents?: true

Size: 1.36 KB

Versions: 11

Compression:

Stored size: 1.36 KB

Contents

#!/usr/bin/env ruby

require 'test/unit'
require 'flexmock'

class DummyModel
end

class ChildModel < DummyModel
end

######################################################################
class TestFlexModel < Test::Unit::TestCase
  include FlexMock::TestCase

  def test_initial_conditions
    model = flexmock(:model, DummyModel)
    assert_match(/^DummyModel_\d+/, model.flexmock_name)
    assert_equal model.id.to_s, model.to_params
    assert ! model.new_record?
    assert model.is_a?(DummyModel)
    # TODO: Make these work!!!
    assert_equal DummyModel, model.class
    assert model.instance_of?(DummyModel)
    assert model.kind_of?(DummyModel)
  end

  def test_classifying_mock_models
    model = flexmock(:model, ChildModel)

    assert model.kind_of?(ChildModel)
    assert model.instance_of?(ChildModel)

    assert model.kind_of?(DummyModel)
    assert ! model.instance_of?(DummyModel)
  end

  def test_mock_models_have_different_ids
    m1 = flexmock(:model, DummyModel)
    m2 = flexmock(:model, DummyModel)
    assert m2.id != m1.id
  end

  def test_mock_models_can_have_quick_defs
    model = flexmock(:model, DummyModel, :xyzzy => :ok)
    assert_equal :ok, model.xyzzy
  end

  def test_mock_models_can_have_blocks
    model = flexmock(:model, DummyModel) do |m|
      m.should_receive(:xyzzy => :okdokay)
    end
    assert_equal :okdokay, model.xyzzy
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
flexmock-0.8.11 test/test_flexmodel.rb
flexmock-0.8.10 test/test_flexmodel.rb
flexmock-0.8.9 test/test_flexmodel.rb
flexmock-0.8.8 test/test_flexmodel.rb
flexmock-0.8.7 test/test_flexmodel.rb
flexmock-0.8.1 test/test_flexmodel.rb
flexmock-0.8.3 test/test_flexmodel.rb
flexmock-0.8.2 test/test_flexmodel.rb
flexmock-0.8.5 test/test_flexmodel.rb
flexmock-0.8.4 test/test_flexmodel.rb
flexmock-0.8.6 test/test_flexmodel.rb