changelog shortlog tags changeset manifest revisions annotate raw

vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb

changeset 15: 64acf98d15f4
author: moriq@moriq.com
date: Mon Mar 10 10:12:58 2008 +0900 (16 years ago)
permissions: -rw-r--r--
description: add plugins rspec
1require File.dirname(__FILE__) + '/../../spec_helper'
2
3module Spec
4 module Mocks
5
6 describe "Mock ordering" do
7
8 before do
9 @mock = mock("test mock")
10 end
11
12 after do
13 @mock.rspec_reset
14 end
15
16 it "should pass two calls in order" do
17 @mock.should_receive(:one).ordered
18 @mock.should_receive(:two).ordered
19 @mock.one
20 @mock.two
21 @mock.rspec_verify
22 end
23
24 it "should pass three calls in order" do
25 @mock.should_receive(:one).ordered
26 @mock.should_receive(:two).ordered
27 @mock.should_receive(:three).ordered
28 @mock.one
29 @mock.two
30 @mock.three
31 @mock.rspec_verify
32 end
33
34 it "should fail if second call comes first" do
35 @mock.should_receive(:one).ordered
36 @mock.should_receive(:two).ordered
37 lambda do
38 @mock.two
39 end.should raise_error(MockExpectationError, "Mock 'test mock' received :two out of order")
40 end
41
42 it "should fail if third call comes first" do
43 @mock.should_receive(:one).ordered
44 @mock.should_receive(:two).ordered
45 @mock.should_receive(:three).ordered
46 @mock.one
47 lambda do
48 @mock.three
49 end.should raise_error(MockExpectationError, "Mock 'test mock' received :three out of order")
50 end
51
52 it "should fail if third call comes second" do
53 @mock.should_receive(:one).ordered
54 @mock.should_receive(:two).ordered
55 @mock.should_receive(:three).ordered
56 @mock.one
57 lambda do
58 @mock.three
59 end.should raise_error(MockExpectationError, "Mock 'test mock' received :three out of order")
60 end
61
62 it "should ignore order of non ordered calls" do
63 @mock.should_receive(:ignored_0)
64 @mock.should_receive(:ordered_1).ordered
65 @mock.should_receive(:ignored_1)
66 @mock.should_receive(:ordered_2).ordered
67 @mock.should_receive(:ignored_2)
68 @mock.should_receive(:ignored_3)
69 @mock.should_receive(:ordered_3).ordered
70 @mock.should_receive(:ignored_4)
71 @mock.ignored_3
72 @mock.ordered_1
73 @mock.ignored_0
74 @mock.ordered_2
75 @mock.ignored_4
76 @mock.ignored_2
77 @mock.ordered_3
78 @mock.ignored_1
79 @mock.rspec_verify
80 end
81
82 end
83 end
84end