File: object_test.rb

package info (click to toggle)
ruby-mocha 0.11.3-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,300 kB
  • sloc: ruby: 9,935; makefile: 2
file content (92 lines) | stat: -rw-r--r-- 2,468 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
require File.expand_path('../../test_helper', __FILE__)
require 'mocha/object'
require 'mocha/mockery'
require 'mocha/mock'
require 'method_definer'

class ObjectTest < Test::Unit::TestCase

  include Mocha

  def test_should_build_mocha_referring_to_self
    instance = Object.new
    mocha = instance.mocha
    assert_not_nil mocha
    assert mocha.is_a?(Mock)
    assert_equal instance.mocha_inspect, mocha.mocha_inspect
  end

  def test_should_reuse_existing_mocha
    instance = Object.new
    mocha_1 = instance.mocha
    mocha_2 = instance.mocha
    assert_equal mocha_1, mocha_2
  end

  def test_should_reset_mocha
    instance = Object.new
    assert_nil instance.reset_mocha
  end

  def test_should_build_any_instance_object
    klass = Class.new
    any_instance = klass.any_instance
    assert_not_nil any_instance
    assert any_instance.is_a?(Class::AnyInstance)
  end

  def test_should_return_same_any_instance_object
    klass = Class.new
    any_instance_1 = klass.any_instance
    any_instance_2 = klass.any_instance
    assert_equal any_instance_1, any_instance_2
  end

  def test_should_use_stubba_instance_method_for_object
    assert_equal Mocha::InstanceMethod, Object.new.stubba_method
  end

  def test_should_use_stubba_module_method_for_module
    assert_equal Mocha::ModuleMethod, Module.new.stubba_method
  end

  def test_should_use_stubba_class_method_for_class
    assert_equal Mocha::ClassMethod, Class.new.stubba_method
  end

  def test_should_use_stubba_class_method_for_any_instance
    assert_equal Mocha::AnyInstanceMethod, Class::AnyInstance.new(nil).stubba_method
  end

  def test_should_stub_self_for_object
    object = Object.new
    assert_equal object, object.stubba_object
  end

  def test_should_stub_self_for_module
    mod = Module.new
    assert_equal mod, mod.stubba_object
  end

  def test_should_stub_self_for_class
    klass = Class.new
    assert_equal klass, klass.stubba_object
  end

  def test_should_stub_relevant_class_for_any_instance
    klass = Class.new
    any_instance = Class::AnyInstance.new(klass)
    assert_equal klass, any_instance.stubba_object
  end

  def test_nobody_expects_the_spanish_inquisition
    object = Object.new
    assert_raise(Mocha::ExpectationError) { object.expects(:the_spanish_inquisition) }
  end

  def test_should_alias_object_method
    klass = Class.new { def self.method_x; end }
    assert_equal klass._method(:method_x), klass.method(:method_x)
  end

end