test-unit-mock 0.30
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +58 -0
- data/ChangeLog +262 -0
- data/README +203 -0
- data/install.rb +85 -0
- data/misc/readmecode.rb +125 -0
- data/mock.rb +467 -0
- data/test-unit-mock.gemspec +20 -0
- data/test.rb +327 -0
- data/utils.rb +345 -0
- metadata +59 -0
data/COPYING
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.co.jp>.
|
2
|
+
You can redistribute it and/or modify it under either the terms of the GPL
|
3
|
+
(see COPYING.txt file), or the conditions below:
|
4
|
+
|
5
|
+
1. You may make and give away verbatim copies of the source form of the
|
6
|
+
software without restriction, provided that you duplicate all of the
|
7
|
+
original copyright notices and associated disclaimers.
|
8
|
+
|
9
|
+
2. You may modify your copy of the software in any way, provided that
|
10
|
+
you do at least ONE of the following:
|
11
|
+
|
12
|
+
a) place your modifications in the Public Domain or otherwise
|
13
|
+
make them Freely Available, such as by posting said
|
14
|
+
modifications to Usenet or an equivalent medium, or by allowing
|
15
|
+
the author to include your modifications in the software.
|
16
|
+
|
17
|
+
b) use the modified software only within your corporation or
|
18
|
+
organization.
|
19
|
+
|
20
|
+
c) rename any non-standard executables so the names do not conflict
|
21
|
+
with standard executables, which must also be provided.
|
22
|
+
|
23
|
+
d) make other distribution arrangements with the author.
|
24
|
+
|
25
|
+
3. You may distribute the software in object code or executable
|
26
|
+
form, provided that you do at least ONE of the following:
|
27
|
+
|
28
|
+
a) distribute the executables and library files of the software,
|
29
|
+
together with instructions (in the manual page or equivalent)
|
30
|
+
on where to get the original distribution.
|
31
|
+
|
32
|
+
b) accompany the distribution with the machine-readable source of
|
33
|
+
the software.
|
34
|
+
|
35
|
+
c) give non-standard executables non-standard names, with
|
36
|
+
instructions on where to get the original software distribution.
|
37
|
+
|
38
|
+
d) make other distribution arrangements with the author.
|
39
|
+
|
40
|
+
4. You may modify and include the part of the software into any other
|
41
|
+
software (possibly commercial). But some files in the distribution
|
42
|
+
are not written by the author, so that they are not under this terms.
|
43
|
+
|
44
|
+
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
|
45
|
+
files under the ./missing directory. See each file for the copying
|
46
|
+
condition.
|
47
|
+
|
48
|
+
5. The scripts and library files supplied as input to or produced as
|
49
|
+
output from the software do not automatically fall under the
|
50
|
+
copyright of the software, but belong to whomever generated them,
|
51
|
+
and may be sold commercially, and may be aggregated with this
|
52
|
+
software.
|
53
|
+
|
54
|
+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
55
|
+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
56
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
57
|
+
PURPOSE.
|
58
|
+
|
data/ChangeLog
ADDED
@@ -0,0 +1,262 @@
|
|
1
|
+
2003-10-01 09:11 Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
* mock.rb (1.10):
|
4
|
+
|
5
|
+
- Added #respond_to? to UnmockedMethods. Thanks to Samuel Tesla
|
6
|
+
<samuel@alieniloquent.com> for the bug report and patch.
|
7
|
+
|
8
|
+
2003-10-01 09:10 Michael Granger <ged@FaerieMUD.org>
|
9
|
+
|
10
|
+
* test.rb (1.5):
|
11
|
+
|
12
|
+
- Added better add{setup,teardown}Block mechanics
|
13
|
+
|
14
|
+
- Added tests for UnmockedMethods
|
15
|
+
|
16
|
+
2003-05-31 13:26 Michael Granger <ged@FaerieMUD.org>
|
17
|
+
|
18
|
+
* mock.rb (1.9, RELEASE_0_02):
|
19
|
+
|
20
|
+
- Moved the regex that matches unmocked methods into a constant and //x'ed it,
|
21
|
+
as it was becoming unwieldy and/or unreadable.
|
22
|
+
|
23
|
+
- Added an is_a? alias for the faked kind_of?.
|
24
|
+
|
25
|
+
2003-05-12 12:42 Michael Granger <ged@FaerieMUD.org>
|
26
|
+
|
27
|
+
* docs/lib/rdoc/generators/template/html/mues.rb (1.6):
|
28
|
+
|
29
|
+
- Fixed XHTML validity by adding missing </td>.
|
30
|
+
|
31
|
+
- Updated copyright dates.
|
32
|
+
|
33
|
+
2003-03-05 13:44 Michael Granger <ged@FaerieMUD.org>
|
34
|
+
|
35
|
+
* misc/readmecode.rb (1.2, RELEASE_0_02):
|
36
|
+
|
37
|
+
- Wrapped the callTrace for each test in a $DEBUG block.
|
38
|
+
|
39
|
+
2003-03-05 13:43 Michael Granger <ged@FaerieMUD.org>
|
40
|
+
|
41
|
+
* mock.rb (1.8):
|
42
|
+
|
43
|
+
- New method: fullStackTrace().
|
44
|
+
|
45
|
+
2003-03-05 13:35 Michael Granger <ged@FaerieMUD.org>
|
46
|
+
|
47
|
+
* README (1.3, RELEASE_0_02):
|
48
|
+
|
49
|
+
- Added example usage of the #callTrace method.
|
50
|
+
|
51
|
+
- Added example of using MockObject() factory method for a superclass.
|
52
|
+
|
53
|
+
2003-03-04 17:07 Michael Granger <ged@FaerieMUD.org>
|
54
|
+
|
55
|
+
* docs/makesitedocs.rb (1.2, RELEASE_0_02):
|
56
|
+
|
57
|
+
Updated upload URL
|
58
|
+
|
59
|
+
2003-03-04 16:44 Michael Granger <ged@FaerieMUD.org>
|
60
|
+
|
61
|
+
* COPYING (1.1), makedist.rb (1.1) (utags: RELEASE_0_02,
|
62
|
+
RELEASE_0_01):
|
63
|
+
|
64
|
+
Initial commit.
|
65
|
+
|
66
|
+
2003-03-04 16:42 Michael Granger <ged@FaerieMUD.org>
|
67
|
+
|
68
|
+
* README (1.2, RELEASE_0_01):
|
69
|
+
|
70
|
+
- Modified documentation instructions to not requires the docs/ directory, which
|
71
|
+
won't be in the distribution.
|
72
|
+
|
73
|
+
2003-03-04 16:39 Michael Granger <ged@FaerieMUD.org>
|
74
|
+
|
75
|
+
* mock.rb (1.7, RELEASE_0_01):
|
76
|
+
|
77
|
+
- Updated, clarified, and corrected documentation.
|
78
|
+
|
79
|
+
- Made calls to #verify use Test::Unit::Assertions.
|
80
|
+
|
81
|
+
- Fixed bug in __makeCallOrderFailMsg() that manifested when @callOrder
|
82
|
+
contained more entries than @calls.
|
83
|
+
|
84
|
+
- Removed unnecessary arguments to super() in the generated mock methods.
|
85
|
+
|
86
|
+
2003-03-04 16:35 Michael Granger <ged@FaerieMUD.org>
|
87
|
+
|
88
|
+
* test.rb (1.4, RELEASE_0_02, RELEASE_0_01):
|
89
|
+
|
90
|
+
- Made changes to requires to reflect reorganization of distro.
|
91
|
+
|
92
|
+
2003-03-04 16:35 Michael Granger <ged@FaerieMUD.org>
|
93
|
+
|
94
|
+
* utils.rb (1.2, RELEASE_0_02, RELEASE_0_01):
|
95
|
+
|
96
|
+
- Updated with changes from other modules.
|
97
|
+
|
98
|
+
2003-03-04 16:32 Michael Granger <ged@FaerieMUD.org>
|
99
|
+
|
100
|
+
* README (1.1), install.rb (1.1, RELEASE_0_02, RELEASE_0_01),
|
101
|
+
misc/readmecode.rb (1.1, RELEASE_0_01), docs/.cvsignore (1.1,
|
102
|
+
RELEASE_0_02, RELEASE_0_01), docs/CATALOG (1.1, RELEASE_0_02,
|
103
|
+
RELEASE_0_01), docs/makedocs.rb (1.1, RELEASE_0_02, RELEASE_0_01),
|
104
|
+
docs/makesitedocs.rb (1.1, RELEASE_0_01):
|
105
|
+
|
106
|
+
Initial commit.
|
107
|
+
|
108
|
+
2003-03-04 10:52 Michael Granger <ged@FaerieMUD.org>
|
109
|
+
|
110
|
+
* test.rb (1.3):
|
111
|
+
|
112
|
+
- Added tests for double-underscored and non-camelCased methods.
|
113
|
+
|
114
|
+
2003-03-03 23:33 Michael Granger <ged@FaerieMUD.org>
|
115
|
+
|
116
|
+
* mock.rb (1.6):
|
117
|
+
|
118
|
+
- Fixed an accidentally-slashed <tt> in the RDocs.
|
119
|
+
|
120
|
+
2003-01-25 18:31 Michael Granger <ged@FaerieMUD.org>
|
121
|
+
|
122
|
+
* mock.rb (1.5):
|
123
|
+
|
124
|
+
- More documenation fixes.
|
125
|
+
|
126
|
+
2003-01-25 18:29 Michael Granger <ged@FaerieMUD.org>
|
127
|
+
|
128
|
+
* mock.rb (1.4):
|
129
|
+
|
130
|
+
- Documented usage of the MockObject method in a class definition.
|
131
|
+
|
132
|
+
- Untabified literal/synopsis sections.
|
133
|
+
|
134
|
+
2003-01-25 18:09 Michael Granger <ged@FaerieMUD.org>
|
135
|
+
|
136
|
+
* mock.rb (1.3):
|
137
|
+
|
138
|
+
- Updated for newer versions of Ruby.
|
139
|
+
|
140
|
+
- Prefixed internal methods for MockObject with '__' to avoid collision with
|
141
|
+
actual methods.
|
142
|
+
|
143
|
+
- Added block argument to mocked methods.
|
144
|
+
|
145
|
+
- Added '#hash' to the list of methods not mocked.
|
146
|
+
|
147
|
+
2003-01-25 18:06 Michael Granger <ged@FaerieMUD.org>
|
148
|
+
|
149
|
+
* test.rb (1.2):
|
150
|
+
|
151
|
+
- Updated for newer versions of Ruby.
|
152
|
+
|
153
|
+
- Updated for newer versions of Test::Unit.
|
154
|
+
|
155
|
+
2002-10-02 10:56 Michael Granger <ged@FaerieMUD.org>
|
156
|
+
|
157
|
+
* mock.rb (1.2):
|
158
|
+
|
159
|
+
- Finished up the comment header.
|
160
|
+
|
161
|
+
2002-10-02 03:03 Michael Granger <ged@FaerieMUD.org>
|
162
|
+
|
163
|
+
* mock.rb (1.1), test.rb (1.1), utils.rb (1.1):
|
164
|
+
|
165
|
+
Initial revision
|
166
|
+
|
167
|
+
2002-10-02 03:03 Michael Granger <ged@FaerieMUD.org>
|
168
|
+
|
169
|
+
* mock.rb (1.1.1.1), test.rb (1.1.1.1), utils.rb (1.1.1.1) (utags:
|
170
|
+
ALPHA_1_1):
|
171
|
+
|
172
|
+
Initial import
|
173
|
+
|
174
|
+
2002-09-12 03:55 Michael Granger <ged@FaerieMUD.org>
|
175
|
+
|
176
|
+
* docs/lib/rdoc/: generators/html_generator.rb (1.3),
|
177
|
+
parsers/parse_faeriemud_rb.rb (1.2) (utags: RELEASE_0_02,
|
178
|
+
RELEASE_0_01):
|
179
|
+
|
180
|
+
- Initial stab at the :todo: hack. Not yet working.
|
181
|
+
|
182
|
+
2002-08-29 01:15 Michael Granger <ged@FaerieMUD.org>
|
183
|
+
|
184
|
+
* docs/lib/rdoc/generators/template/html/mues.rb (1.5,
|
185
|
+
RELEASE_0_01, RELEASE_0_02):
|
186
|
+
|
187
|
+
- Added the <br /> I mistakenly removed with the viewcvs commit back in.
|
188
|
+
|
189
|
+
2002-08-02 14:07 Michael Granger <ged@FaerieMUD.org>
|
190
|
+
|
191
|
+
* docs/lib/rdoc/generators/template/html/mues.rb (1.4):
|
192
|
+
|
193
|
+
- Added a link to the appropriate URL on cvs.FaerieMUD.org.
|
194
|
+
|
195
|
+
2002-07-07 12:16 Michael Granger <ged@FaerieMUD.org>
|
196
|
+
|
197
|
+
* docs/lib/rdoc/generators/template/html/css2.rb (1.1,
|
198
|
+
RELEASE_0_01, RELEASE_0_02):
|
199
|
+
|
200
|
+
Initial commit.
|
201
|
+
|
202
|
+
2002-06-04 06:56 Michael Granger <ged@FaerieMUD.org>
|
203
|
+
|
204
|
+
* docs/lib/rdoc/generators/faeriemud_generator.rb (1.3):
|
205
|
+
|
206
|
+
Renamed to html_generator.rb
|
207
|
+
|
208
|
+
2002-05-28 11:07 Michael Granger <ged@FaerieMUD.org>
|
209
|
+
|
210
|
+
* docs/lib/rdoc/generators/template/html/mues.rb (1.3):
|
211
|
+
|
212
|
+
- Renamed from faeriemud.rb
|
213
|
+
|
214
|
+
- Converted to output XHTML.
|
215
|
+
|
216
|
+
- Added comment header and other nicities in preparation for release.
|
217
|
+
|
218
|
+
2002-05-28 11:06 Michael Granger <ged@FaerieMUD.org>
|
219
|
+
|
220
|
+
* docs/lib/rdoc/generators/template/html/faeriemud.rb (1.3):
|
221
|
+
|
222
|
+
- Renamed to mues.rb.
|
223
|
+
|
224
|
+
2002-05-15 22:02 Michael Granger <ged@FaerieMUD.org>
|
225
|
+
|
226
|
+
* docs/lib/rdoc/generators/template/html/: faeriemud.rb (1.2),
|
227
|
+
mues.rb (1.2):
|
228
|
+
|
229
|
+
- Removed break in class header 'Last Updated' label.
|
230
|
+
|
231
|
+
2002-05-15 21:42 Michael Granger <ged@FaerieMUD.org>
|
232
|
+
|
233
|
+
* docs/lib/rdoc/generators/myhtml_generator.rb (1.3):
|
234
|
+
|
235
|
+
- Renamed to faeriemud_generator.rb in preparation for submitting to PragDave.
|
236
|
+
|
237
|
+
2002-05-15 21:40 Michael Granger <ged@FaerieMUD.org>
|
238
|
+
|
239
|
+
* docs/lib/rdoc/generators/: faeriemud_generator.rb (1.2),
|
240
|
+
html_generator.rb (1.2), myhtml_generator.rb (1.2):
|
241
|
+
|
242
|
+
- Touched up comments
|
243
|
+
|
244
|
+
- Added a missing require
|
245
|
+
|
246
|
+
2002-05-15 21:30 Michael Granger <ged@FaerieMUD.org>
|
247
|
+
|
248
|
+
* docs/lib/rdoc/myparser.rb (1.2):
|
249
|
+
|
250
|
+
- Moved into docs/lib/rdoc/parsers/parse_faeriemud_rb.rb.
|
251
|
+
|
252
|
+
2002-03-30 12:01 Michael Granger <ged@FaerieMUD.org>
|
253
|
+
|
254
|
+
* docs/lib/rdoc/: myparser.rb (1.1),
|
255
|
+
generators/faeriemud_generator.rb (1.1),
|
256
|
+
generators/html_generator.rb (1.1), generators/myhtml_generator.rb
|
257
|
+
(1.1), generators/template/html/faeriemud.rb (1.1),
|
258
|
+
generators/template/html/mues.rb (1.1),
|
259
|
+
parsers/parse_faeriemud_rb.rb (1.1):
|
260
|
+
|
261
|
+
Initial commit.
|
262
|
+
|
data/README
ADDED
@@ -0,0 +1,203 @@
|
|
1
|
+
|
2
|
+
= Test-Unit-Mock: A mock-object class for Test::Unit
|
3
|
+
|
4
|
+
== Authors
|
5
|
+
|
6
|
+
Michael Granger <ged@FaerieMUD.org>
|
7
|
+
|
8
|
+
|
9
|
+
== Description
|
10
|
+
|
11
|
+
Test-Unit-Mock is a class for conveniently building mock objects in Test::Unit
|
12
|
+
test cases. It is based on ideas in Ruby/Mock by Nat Pryce
|
13
|
+
<nat.pryce@b13media.com>, which is a class for doing much the same thing for
|
14
|
+
RUnit test cases.
|
15
|
+
|
16
|
+
It allows you do make a mocked object that will respond to all the methods of
|
17
|
+
the real class (albeit probably not with correct results) with one line of
|
18
|
+
code. Eg.,
|
19
|
+
|
20
|
+
mockSocket = Test::Unit::MockObject( TCPSocket ).new
|
21
|
+
|
22
|
+
You can then specify return values for the methods you wish to test in one of
|
23
|
+
several different ways:
|
24
|
+
|
25
|
+
# Make the #addr method return three cycling values (which will be repeated
|
26
|
+
# when it reaches the end
|
27
|
+
mockSocket.setReturnValues( :addr => [
|
28
|
+
["AF_INET", 23, "localhost", "127.0.0.1"],
|
29
|
+
["AF_INET", 80, "slashdot.org", "66.35.250.150"],
|
30
|
+
["AF_INET", 2401, "helium.ruby-lang.org", "210.251.121.214"],
|
31
|
+
] )
|
32
|
+
|
33
|
+
# Make the #write and #read methods call a Proc and a Method, respectively
|
34
|
+
mockSocket.setReturnValues( :write => Proc::new {|str| str.length},
|
35
|
+
:read => method(:fakeRead) )
|
36
|
+
|
37
|
+
# Set up the #getsockopt method to return a value based on the arguments
|
38
|
+
# given:
|
39
|
+
mockSocket.setReturnValues( :getsockopt => {
|
40
|
+
[Socket::SOL_TCP, Socket::TCP_NODELAY] => [0].pack("i_"),
|
41
|
+
[Socket::SOL_SOCKET, Socket::SO_REUSEADDR] => [1].pack("i_"),
|
42
|
+
} )
|
43
|
+
|
44
|
+
You can also set the order in which you expect methods to be called, but you
|
45
|
+
don't have to do so if you don't care:
|
46
|
+
|
47
|
+
mockSocket.setCallOrder( :addr, :getsockopt, :write, :read, :write, :read )
|
48
|
+
|
49
|
+
|
50
|
+
By default, when testing for call order, other method calls may be interspersed
|
51
|
+
between the calls specified without effect, and only a missing or misordered method
|
52
|
+
call causes the assertions to fail. If you want the call order to be adhered to
|
53
|
+
strictly, you can set that:
|
54
|
+
|
55
|
+
mockSocket.strictCallOrder = true
|
56
|
+
|
57
|
+
Then, when you're ready to test, just activate the object and send it off to
|
58
|
+
whatever code you're testing:
|
59
|
+
|
60
|
+
mockSocket.activate
|
61
|
+
testedObject.setSocket( mockSocket )
|
62
|
+
...
|
63
|
+
|
64
|
+
# Check method call order on the mocked socket (adds assertions)
|
65
|
+
mockSocket.verify
|
66
|
+
|
67
|
+
Assertion failures contain a message that specifies exactly what went wrong,
|
68
|
+
eg.:
|
69
|
+
|
70
|
+
$ ruby misc/readmecode.rb
|
71
|
+
|
72
|
+
1) Failure!!!
|
73
|
+
test_incorrectorder(MockTestExperiment) [./mock.rb:255]:
|
74
|
+
Call order assertion failed: Expected call to :write, but got call to :read
|
75
|
+
from misc/readmecode.rb:77:in `test_incorrectorder' at 0.00045
|
76
|
+
instead
|
77
|
+
|
78
|
+
2) Failure!!!
|
79
|
+
test_missingcall(MockTestExperiment) [./mock.rb:255]:
|
80
|
+
Call order assertion failed: Missing call to :read.
|
81
|
+
|
82
|
+
If you require more advanced functionality, you can also use the mocked object
|
83
|
+
class as a superclass:
|
84
|
+
|
85
|
+
# Create a mock socket class
|
86
|
+
class MockSocket < Test::Unit::MockObject( TCPSocket )
|
87
|
+
def initialize
|
88
|
+
super
|
89
|
+
setCallOrder( :read, :read, :read, :write, :read )
|
90
|
+
strictCallOrder = true
|
91
|
+
@io = ''
|
92
|
+
end
|
93
|
+
|
94
|
+
def read( len )
|
95
|
+
super # Call the mocked method to record the call
|
96
|
+
rval = @io[0,len]
|
97
|
+
@io[0,len] = ''
|
98
|
+
|
99
|
+
return rval
|
100
|
+
end
|
101
|
+
|
102
|
+
def write( str )
|
103
|
+
super # Call the mocked method to record the call
|
104
|
+
@io += str
|
105
|
+
return str.length
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
|
110
|
+
You can also add debugging to your tests to give you a timestamped history of
|
111
|
+
each call:
|
112
|
+
|
113
|
+
# Call the methods in the correct order
|
114
|
+
mockSocket.addr
|
115
|
+
mockSocket.getsockopt( Socket::SOL_TCP, Socket::TCP_NODELAY )
|
116
|
+
mockSocket.write( "foo" )
|
117
|
+
mockSocket.read( 1024 )
|
118
|
+
mockSocket.write( "bar" )
|
119
|
+
mockSocket.read( 4096 )
|
120
|
+
|
121
|
+
# Check method call order on the mocked socket
|
122
|
+
mockSocket.verify
|
123
|
+
|
124
|
+
if $DEBUG
|
125
|
+
puts "Call trace:\n\t" + mockSocket.callTrace.join("\n\t")
|
126
|
+
end
|
127
|
+
|
128
|
+
This outputs something like:
|
129
|
+
|
130
|
+
Call trace:
|
131
|
+
addr( ) at 0.00015 seconds from misc/readmecode.rb:64:in `test'
|
132
|
+
getsockopt( 6,1 ) at 0.00030 seconds from misc/readmecode.rb:65:in `test'
|
133
|
+
write( "foo" ) at 0.00040 seconds from misc/readmecode.rb:66:in `test'
|
134
|
+
read( 1024 ) at 0.00050 seconds from misc/readmecode.rb:67:in `test'
|
135
|
+
write( "bar" ) at 0.00063 seconds from misc/readmecode.rb:68:in `test'
|
136
|
+
read( 4096 ) at 0.00072 seconds from misc/readmecode.rb:69:in `test'
|
137
|
+
|
138
|
+
|
139
|
+
== More Information
|
140
|
+
|
141
|
+
For more information about mock objects and unit testing, see:
|
142
|
+
|
143
|
+
<URL: http://www.sidewize.com/company/mockobjects.pdf>
|
144
|
+
|
145
|
+
|
146
|
+
== Requirements
|
147
|
+
|
148
|
+
* Ruby >= 1.6.8 - Older versions have not been tested, but may work.
|
149
|
+
<URL: http://www.ruby-lang.org/en/>
|
150
|
+
|
151
|
+
* Test::Unit - Of course.
|
152
|
+
<URL: http://raa.ruby-lang.org/list.rhtml?name=testunit>
|
153
|
+
|
154
|
+
* The 'diff' library - Used to compare the call lists.
|
155
|
+
<URL: http://raa.ruby-lang.org/list.rhtml?name=diff>
|
156
|
+
|
157
|
+
|
158
|
+
== Caveats
|
159
|
+
|
160
|
+
This module, while simple, has not been extensively tested under environments
|
161
|
+
other than my own (Linux). It has worked well for me, but your mileage may vary.
|
162
|
+
|
163
|
+
I would greatly appreciate feedback on any aspect of this software. Suggestions,
|
164
|
+
feature requests, questions, design critiques, and bug reports are most
|
165
|
+
welcome. Relevant patches are particularly helpful. I may be reached at
|
166
|
+
<ged@FaerieMUD.org>.
|
167
|
+
|
168
|
+
|
169
|
+
== Installation
|
170
|
+
|
171
|
+
To run the included test suite:
|
172
|
+
|
173
|
+
$ ruby test.rb
|
174
|
+
|
175
|
+
To generate HTML documentation:
|
176
|
+
|
177
|
+
$ rdoc README mock.rb
|
178
|
+
|
179
|
+
To install:
|
180
|
+
|
181
|
+
$ su
|
182
|
+
# ruby install.rb
|
183
|
+
|
184
|
+
|
185
|
+
== Legal
|
186
|
+
|
187
|
+
Test-Unit-Mock is Free Software which is Copyright (c) 2002,2003 by The
|
188
|
+
FaerieMUD Consortium.
|
189
|
+
|
190
|
+
You may use, modify, and/or redistribute this software under the terms of the
|
191
|
+
Ruby License, a copy of which should have been included in this distribution
|
192
|
+
(See the file COPYING). If it was not, a copy of it may be obtained online at
|
193
|
+
http://www.ruby-lang.org/en/LICENSE.txt (English language) or
|
194
|
+
http://www.ruby-lang.org/ja/LICENSE.txt (Japanese language).
|
195
|
+
|
196
|
+
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
|
197
|
+
INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
|
198
|
+
FITNESS FOR A PARTICULAR PURPOSE.
|
199
|
+
|
200
|
+
|
201
|
+
$Id: README,v 1.3 2003/03/05 20:35:28 deveiant Exp $
|
202
|
+
|
203
|
+
|