Changeset 260
- Timestamp:
- 05/13/06 17:04:48 (3 years ago)
- Location:
- trunk
- Files:
-
- 1 removed
- 8 modified
-
FaerieMUD.tmproj (modified) (7 diffs, 1 prop)
-
docs/COPYRIGHT (modified) (1 diff)
-
lib/fm/composedobject.rb (modified) (3 diffs)
-
redist (modified) (1 prop)
-
tests/animatedobject.tests.rb (modified) (4 diffs)
-
tests/lib/fmmocks.rb (deleted)
-
tests/lib/fmtestcase.rb (modified) (1 diff)
-
tests/perception.tests.rb (modified) (2 diffs)
-
tests/simpleverb.tests.rb (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/FaerieMUD.tmproj
- Property svn:mime-type set to binary/octet-stream
r254 r260 4 4 <dict> 5 5 <key>currentDocument</key> 6 <string> lib/fm/event.rb</string>6 <string>tests/animatedobject.tests.rb</string> 7 7 <key>documents</key> 8 8 <array> 9 9 <dict> 10 <key>expanded</key> 11 <true/> 10 12 <key>name</key> 11 13 <string>acceptance</string> … … 30 32 </dict> 31 33 <dict> 34 <key>expanded</key> 35 <true/> 32 36 <key>name</key> 33 37 <string>docs</string> … … 94 98 <key>filename</key> 95 99 <string>test.rb</string> 100 <key>lastUsed</key> 101 <date>2006-04-30T01:31:28Z</date> 96 102 </dict> 97 103 <dict> … … 123 129 </array> 124 130 <key>fileHierarchyDrawerWidth</key> 125 <integer>2 00</integer>131 <integer>276</integer> 126 132 <key>metaData</key> 127 133 <dict> 128 <key>bin/faeriemud.rb</key> 129 <dict> 130 <key>caret</key> 131 <dict> 132 <key>column</key> 133 <integer>0</integer> 134 <key>line</key> 135 <integer>136</integer> 136 </dict> 137 <key>firstVisibleColumn</key> 138 <integer>0</integer> 139 <key>firstVisibleLine</key> 140 <integer>90</integer> 141 </dict> 142 <key>experiments/taxonomy.rb</key> 143 <dict> 144 <key>caret</key> 145 <dict> 146 <key>column</key> 147 <integer>8</integer> 148 <key>line</key> 149 <integer>34</integer> 134 <key>experiments/personas.rb</key> 135 <dict> 136 <key>caret</key> 137 <dict> 138 <key>column</key> 139 <integer>0</integer> 140 <key>line</key> 141 <integer>0</integer> 150 142 </dict> 151 143 <key>firstVisibleColumn</key> … … 161 153 <integer>0</integer> 162 154 <key>line</key> 163 <integer>5</integer> 164 </dict> 165 <key>firstVisibleColumn</key> 166 <integer>0</integer> 167 <key>firstVisibleLine</key> 168 <integer>0</integer> 169 </dict> 170 <key>lib/fm/area.rb</key> 171 <dict> 172 <key>caret</key> 173 <dict> 174 <key>column</key> 175 <integer>0</integer> 176 <key>line</key> 177 <integer>0</integer> 178 </dict> 179 <key>firstVisibleColumn</key> 180 <integer>0</integer> 181 <key>firstVisibleLine</key> 182 <integer>6</integer> 155 <integer>6</integer> 156 </dict> 157 <key>firstVisibleColumn</key> 158 <integer>0</integer> 159 <key>firstVisibleLine</key> 160 <integer>0</integer> 183 161 </dict> 184 162 <key>lib/fm/character.rb</key> … … 189 167 <integer>0</integer> 190 168 <key>line</key> 191 <integer>108</integer> 192 </dict> 193 <key>firstVisibleColumn</key> 194 <integer>0</integer> 195 <key>firstVisibleLine</key> 196 <integer>83</integer> 197 </dict> 198 <key>lib/fm/entity.rb</key> 199 <dict> 200 <key>caret</key> 201 <dict> 202 <key>column</key> 203 <integer>0</integer> 204 <key>line</key> 205 <integer>166</integer> 206 </dict> 207 <key>firstVisibleColumn</key> 208 <integer>0</integer> 209 <key>firstVisibleLine</key> 210 <integer>130</integer> 211 </dict> 212 <key>lib/fm/event.rb</key> 213 <dict> 214 <key>caret</key> 215 <dict> 216 <key>column</key> 217 <integer>0</integer> 218 <key>line</key> 219 <integer>0</integer> 220 </dict> 221 <key>firstVisibleColumn</key> 222 <integer>0</integer> 223 <key>firstVisibleLine</key> 224 <integer>0</integer> 225 </dict> 226 <key>lib/fm/locus.rb</key> 227 <dict> 228 <key>caret</key> 229 <dict> 230 <key>column</key> 231 <integer>0</integer> 232 <key>line</key> 233 <integer>281</integer> 234 </dict> 235 <key>firstVisibleColumn</key> 236 <integer>0</integer> 237 <key>firstVisibleLine</key> 238 <integer>231</integer> 239 </dict> 240 <key>lib/fm/organism.rb</key> 241 <dict> 242 <key>caret</key> 243 <dict> 244 <key>column</key> 245 <integer>0</integer> 246 <key>line</key> 247 <integer>0</integer> 248 </dict> 249 <key>firstVisibleColumn</key> 250 <integer>0</integer> 251 <key>firstVisibleLine</key> 252 <integer>0</integer> 253 </dict> 254 <key>lib/fm/species.rb</key> 255 <dict> 256 <key>caret</key> 257 <dict> 258 <key>column</key> 259 <integer>1</integer> 260 <key>line</key> 261 <integer>23</integer> 262 </dict> 263 <key>firstVisibleColumn</key> 264 <integer>0</integer> 265 <key>firstVisibleLine</key> 266 <integer>0</integer> 267 </dict> 268 <key>lib/fm/spirit.rb</key> 269 <dict> 270 <key>caret</key> 271 <dict> 272 <key>column</key> 273 <integer>17</integer> 274 <key>line</key> 275 <integer>198</integer> 276 </dict> 277 <key>firstVisibleColumn</key> 278 <integer>0</integer> 279 <key>firstVisibleLine</key> 280 <integer>167</integer> 281 </dict> 282 <key>tests/animatedobject.tests.rb</key> 283 <dict> 284 <key>caret</key> 285 <dict> 286 <key>column</key> 287 <integer>0</integer> 288 <key>line</key> 289 <integer>147</integer> 290 </dict> 291 <key>firstVisibleColumn</key> 292 <integer>0</integer> 293 <key>firstVisibleLine</key> 294 <integer>104</integer> 295 </dict> 296 <key>tests/area.tests.rb</key> 297 <dict> 298 <key>caret</key> 299 <dict> 300 <key>column</key> 301 <integer>21</integer> 302 <key>line</key> 303 <integer>16</integer> 304 </dict> 305 <key>firstVisibleColumn</key> 306 <integer>0</integer> 307 <key>firstVisibleLine</key> 308 <integer>0</integer> 309 </dict> 310 <key>tests/simpleverb.tests.rb</key> 311 <dict> 312 <key>caret</key> 313 <dict> 314 <key>column</key> 315 <integer>42</integer> 316 <key>line</key> 317 <integer>78</integer> 169 <integer>49</integer> 318 170 </dict> 319 171 <key>columnSelection</key> … … 322 174 <integer>0</integer> 323 175 <key>firstVisibleLine</key> 324 <integer> 47</integer>176 <integer>37</integer> 325 177 <key>selectFrom</key> 326 178 <dict> 327 179 <key>column</key> 328 <integer> 38</integer>329 <key>line</key> 330 <integer> 78</integer>180 <integer>0</integer> 181 <key>line</key> 182 <integer>49</integer> 331 183 </dict> 332 184 <key>selectTo</key> 333 185 <dict> 334 186 <key>column</key> 335 <integer>42</integer> 336 <key>line</key> 337 <integer>78</integer> 338 </dict> 339 </dict> 340 <key>tests/spirit.tests.rb</key> 341 <dict> 342 <key>caret</key> 343 <dict> 344 <key>column</key> 345 <integer>10</integer> 346 <key>line</key> 347 <integer>65</integer> 348 </dict> 349 <key>columnSelection</key> 350 <false/> 351 <key>firstVisibleColumn</key> 352 <integer>0</integer> 353 <key>firstVisibleLine</key> 354 <integer>36</integer> 355 <key>selectFrom</key> 356 <dict> 357 <key>column</key> 358 <integer>6</integer> 359 <key>line</key> 360 <integer>65</integer> 361 </dict> 362 <key>selectTo</key> 363 <dict> 364 <key>column</key> 365 <integer>10</integer> 366 <key>line</key> 367 <integer>65</integer> 368 </dict> 187 <integer>0</integer> 188 <key>line</key> 189 <integer>50</integer> 190 </dict> 191 </dict> 192 <key>lib/fm/composedobject.rb</key> 193 <dict> 194 <key>caret</key> 195 <dict> 196 <key>column</key> 197 <integer>0</integer> 198 <key>line</key> 199 <integer>34</integer> 200 </dict> 201 <key>firstVisibleColumn</key> 202 <integer>0</integer> 203 <key>firstVisibleLine</key> 204 <integer>43</integer> 205 </dict> 206 <key>lib/fm/perception.rb</key> 207 <dict> 208 <key>caret</key> 209 <dict> 210 <key>column</key> 211 <integer>0</integer> 212 <key>line</key> 213 <integer>66</integer> 214 </dict> 215 <key>firstVisibleColumn</key> 216 <integer>0</integer> 217 <key>firstVisibleLine</key> 218 <integer>12</integer> 219 </dict> 220 <key>tests/animatedobject.tests.rb</key> 221 <dict> 222 <key>caret</key> 223 <dict> 224 <key>column</key> 225 <integer>0</integer> 226 <key>line</key> 227 <integer>98</integer> 228 </dict> 229 <key>firstVisibleColumn</key> 230 <integer>0</integer> 231 <key>firstVisibleLine</key> 232 <integer>39</integer> 369 233 </dict> 370 234 </dict> 371 235 <key>openDocuments</key> 372 236 <array> 373 <string>experiments/taxonomy.rb</string>374 <string>lib/fm/organism.rb</string>375 <string>lib/fm/species.rb</string>376 <string>tests/area.tests.rb</string>377 <string>bin/faeriemud.rb</string>378 <string>lib/fm/spirit.rb</string>379 <string>tests/spirit.tests.rb</string>380 <string>tests/simpleverb.tests.rb</string>381 237 <string>tests/animatedobject.tests.rb</string> 382 <string>lib/fm/entity.rb</string>383 238 <string>lib/fm/animatedobject.rb</string> 384 <string>lib/fm/event.rb</string> 239 <string>lib/fm/composedobject.rb</string> 240 <string>experiments/personas.rb</string> 385 241 <string>lib/fm/character.rb</string> 386 <string>lib/fm/area.rb</string> 387 <string>lib/fm/locus.rb</string> 242 <string>lib/fm/perception.rb</string> 388 243 </array> 389 244 <key>showFileHierarchyDrawer</key> 390 245 <true/> 391 246 <key>windowFrame</key> 392 <string>{{ 238, 0}, {1009, 1028}}</string>247 <string>{{78, 0}, {1009, 1028}}</string> 393 248 </dict> 394 249 </plist> -
trunk/docs/COPYRIGHT
r212 r260 2 2 # == Copyright 3 3 # 4 # Copyright (c) 2000-200 5The FaerieMUD Consortium. All rights reserved.4 # Copyright (c) 2000-2006 The FaerieMUD Consortium. All rights reserved. 5 5 # 6 6 # While the server this code runs on (MUES) is distributed under an Open Source -
trunk/lib/fm/composedobject.rb
r243 r260 15 15 # structures to an object class to make it capable of being used as a constituent 16 16 # in a ComposedObject instance. 17 # 18 # == Synopsis 19 # 20 # class ComposedThingie < FaerieMUD::ComposedObject 21 # class Alpha < FaerieMUD::Entity 22 # include FaerieMUD::ComposedObject::Constituent 23 # def_statistic :foo, :bar 24 # end 25 # class Beta < FaerieMUD::Entity 26 # include FaerieMUD::ComposedObject::Constituent 27 # def_statistic :jim, :bob 28 # end 29 # class Gamma < FaerieMUD::Entity 30 # include FaerieMUD::ComposedObject::Constituent 31 # def_statistic :foo, :bar 32 # end 33 # 34 # def_constituents :alpha => Alpha, :beta => Beta, :gamma => Gamma 35 # end 17 36 # 18 37 # == Subversion ID … … 377 396 # Generate statistic-fetching code for each relevant constituent 378 397 fetchStats = '' 379 constituents.each_with_index {|constituent, i|398 constituents.each_with_index do |constituent, i| 380 399 fetchStats += 381 400 "linear[#{i}] = @constituents[ :#{constituent} ].statistic."\ … … 383 402 "devel[#{i}] = @constituents[ :#{constituent} ].statistic."\ 384 403 "developmental.to_f\n" 385 }404 end 386 405 387 406 -
trunk/redist
- Property svn:externals
-
old new 2 2 Linguistics svn://svn.FaerieMUD.org/Linguistics/tags/RELEASE_1_0_4 3 3 Ruby-WordNet svn://svn.FaerieMUD.org/Ruby-WordNet/tags/SNAPSHOT_20051208 4 Test-Unit-Mock svn://svn.FaerieMUD.org/Test-Unit-Mock/tags/RELEASE_0_03
-
- Property svn:externals
-
trunk/tests/animatedobject.tests.rb
r254 r260 21 21 require 'fm/spirit' 22 22 require 'flexmock' 23 require 'breakpoint' 24 23 25 24 26 ### Test case for the FaerieMUD::AnimatedObject class and associated … … 26 28 class FaerieMUD::AnimatedObjectTestCase < FaerieMUD::TestCase 27 29 28 MockSpirit = Test::Unit::MockObject( FaerieMUD::Spirit )29 30 30 TestName = "testobj" 31 TestDescription = "a testing object" 32 TestController = MockSpirit::new 31 class TestAnimatedObject < FaerieMUD::AnimatedObject 32 class Alpha < FaerieMUD::Entity 33 include FaerieMUD::ComposedObject::Constituent 34 def_statistic :one, :two 35 end 36 class Beta < FaerieMUD::Entity 37 include FaerieMUD::ComposedObject::Constituent 38 def_statistic :three, :four 39 end 40 class Gamma < FaerieMUD::Entity 41 include FaerieMUD::ComposedObject::Constituent 42 def_statistic :five, :six 43 end 44 45 def_constituents :alpha => Alpha, :beta => Beta, :gamma => Gamma 46 end 33 47 34 ### Set up test case35 def setup36 @constituentClasses = []37 3.times do |i|38 @constituentClasses.push Class::new( FaerieMUD::Entity ) {39 include FaerieMUD::ComposedObject::Constituent40 def_statistic "dev_stat_#{i}".intern,41 "linear_stat_#{i}".intern42 }43 end44 48 45 # ComposedObjects require at least 3 constituents for construction 46 @constituents = { 47 :constituent1 => @constituentClasses[0].new, 48 :constituent2 => @constituentClasses[1].new, 49 :constituent3 => @constituentClasses[2].new 50 } 51 52 constituentClasses = @constituentClasses 53 @derivClass = Class::new( FaerieMUD::AnimatedObject ) { 54 def_constituents \ 55 :test1 => constituentClasses[0], 56 :test2 => constituentClasses[1], 57 :test3 => constituentClasses[2] 58 } 59 @derivObject = @derivClass.new( 60 :constituents => @constituents, 61 :name => TestName, 62 :description => TestDescription, 63 :controller => TestController ) 64 65 if $DEBUG 66 [ @constituents.values, @derivObject ].flatten.each do |obj| 67 obj.debugLevel = 5 68 end 69 end 70 71 super 72 end 73 74 ### Tear down test case 75 def teardown 76 @constituentClasses = nil 77 @constituents = nil 78 super 79 end 80 49 def setup 50 @animobj = TestAnimatedObject.new 51 end 81 52 82 53 … … 85 56 ################################################################# 86 57 87 ### Class should exist88 def test_faeriemud_should_know_about_the_animatedobject_class89 assert defined?( FaerieMUD::AnimatedObject )90 assert_instance_of Class, FaerieMUD::AnimatedObject91 end92 93 ### Subclassing test94 def test_subclasses_should_have_accessable_constituent_methods95 rval, derivClass, derivObject = nil, nil, nil96 97 assert_kind_of FaerieMUD::AnimatedObject, @derivObject98 99 # Make sure the constructor values were set correctly.100 assert_nothing_raised { rval = @derivObject.name }101 assert_equal rval, TestName102 assert_nothing_raised { rval = @derivObject.description }103 assert_equal rval, TestDescription104 assert_nothing_raised { rval = @derivObject.constituents }105 assert_equal rval, @constituents106 assert_nothing_raised { rval = @derivObject.controller }107 assert_equal rval, TestController108 end109 110 58 ### Test duplication 111 59 def test_cloning_an_animated_object_should_clone_its_affinities 112 60 rval = nil 61 @animobj.affinities = {123 => 45} 113 62 114 assert_nothing_raised( "Cloning #{@ derivObject.inspect}" ) do115 rval = @ derivObject.clone63 assert_nothing_raised( "Cloning #{@animobj.inspect}" ) do 64 rval = @animobj.clone 116 65 end 117 66 118 assert_not_same @ derivObject.affinities, rval.affinities119 assert_equal @ derivObject.affinities, rval.affinities67 assert_not_same @animobj.affinities, rval.affinities 68 assert_equal @animobj.affinities, rval.affinities 120 69 end 70 121 71 122 72 ### Cloning an AnimatedObject should copy its description and append … … 124 74 def test_cloning_an_animated_object_should_copy_its_description_and_append_cloned 125 75 rval = nil 76 @animobj.description = "something" 126 77 127 assert_nothing_raised( "Cloning #{@ derivObject.inspect}" ) do128 rval = @ derivObject.clone78 assert_nothing_raised( "Cloning #{@animobj.inspect}" ) do 79 rval = @animobj.clone 129 80 end 130 81 131 82 assert_match /\(Cloned\)/, rval.description 83 assert_equal "something", rval.description["something"] 132 84 end 85 133 86 134 87 ### Cloning an AnimatedObject should copy its name and append "(Cloned)" to it 135 88 def test_cloning_an_animated_object_should_copy_its_name_and_prepend_cloned 136 89 rval = nil 90 @animobj.name = "something" 137 91 138 assert_nothing_raised( "Cloning #{@ derivObject.inspect}" ) do139 rval = @ derivObject.clone92 assert_nothing_raised( "Cloning #{@animobj.inspect}" ) do 93 rval = @animobj.clone 140 94 end 141 95 142 96 assert_match /Clone of/, rval.name 97 assert_equal "something", rval.name["something"] 143 98 end 144 99 145 ### Events received by the constituents should be sent to the controlling146 ## spirit147 def test_constituents_should_send_perceptual_events_to_the_perception_object148 rval = nil149 150 assert_respond_to @derivObject.constituent1, :handlePerceptualEvent151 152 FlexMock.use( "animated event" ) do |animEvent|153 animEvent.should_receive( :class ).returns( FaerieMUD::PerceptualEvent )154 animEvent.should_receive( :handlerNames ).returns( %w[handlePerceptualEvent] )155 156 assert_nothing_raised do157 @derivObject.constituent1.handleEvent( animEvent )158 end159 160 end161 end162 100 end 163 101 -
trunk/tests/lib/fmtestcase.rb
r250 r260 58 58 59 59 require "test/unit" 60 require "test/unit/mock"61 62 60 require "fm" 63 require 'fmmocks'64 61 65 62 -
trunk/tests/perception.tests.rb
r250 r260 22 22 ### This test suite tests the FaerieMUD::Perception class of FaerieMUD. 23 23 class FaerieMUD::PerceptionTestCase < FaerieMUD::TestCase 24 include FaerieMUD::Mocks25 26 def setup27 @mockanim = MockAnimatedObject.new28 @perception = FaerieMUD::Perception.new( @mockanim )29 end30 31 24 32 25
