diff options
author | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-10 01:18:03 +0000 |
---|---|---|
committer | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-10 01:18:03 +0000 |
commit | 7ebbb3871e473dca485993759b07a9a86d84d70c (patch) | |
tree | 7ccd6a46b401d455cd0dc8de7037d90fbc4a7f70 /test/minitest/test_mini_mock.rb | |
parent | 30e76a6af3f1ea21552a566680a19254e1c005fb (diff) |
Added minitest 1.3.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/minitest/test_mini_mock.rb')
-rw-r--r-- | test/minitest/test_mini_mock.rb | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/test/minitest/test_mini_mock.rb b/test/minitest/test_mini_mock.rb new file mode 100644 index 0000000000..0f16ae930e --- /dev/null +++ b/test/minitest/test_mini_mock.rb @@ -0,0 +1,83 @@ +############################################################ +# This file is imported from a different project. +# DO NOT make modifications in this repo. +# File a patch instead and assign it to Ryan Davis +############################################################ + +require 'minitest/mock' +require 'minitest/unit' + +MiniTest::Unit.autorun + +class TestMiniMock < MiniTest::Unit::TestCase + def setup + @mock = MiniTest::Mock.new.expect(:foo, nil) + @mock.expect(:meaning_of_life, 42) + end + + def test_should_create_stub_method + assert_nil @mock.foo + end + + def test_should_allow_return_value_specification + assert_equal 42, @mock.meaning_of_life + end + + def test_should_blow_up_if_not_called + @mock.foo + + util_verify_bad + end + + def test_should_not_blow_up_if_everything_called + @mock.foo + @mock.meaning_of_life + + assert @mock.verify + end + + def test_should_allow_expectations_to_be_added_after_creation + @mock.expect(:bar, true) + assert @mock.bar + end + + def test_should_not_verify_if_new_expected_method_is_not_called + @mock.foo + @mock.meaning_of_life + @mock.expect(:bar, true) + + util_verify_bad + end + + def test_should_not_verify_if_unexpected_method_is_called + assert_raises NoMethodError do + @mock.unexpected + end + end + + def test_should_blow_up_on_wrong_number_of_arguments + @mock.foo + @mock.meaning_of_life + @mock.expect(:sum, 3, [1, 2]) + + assert_raises ArgumentError do + @mock.sum + end + end + + def test_should_blow_up_on_wrong_arguments + @mock.foo + @mock.meaning_of_life + @mock.expect(:sum, 3, [1, 2]) + + @mock.sum(2, 4) + + util_verify_bad + end + + def util_verify_bad + assert_raises MockExpectationError do + @mock.verify + end + end +end |