just out of curiosity...

Loaded suite AllTests
Started
.....F.......
Finished in 0.136018 seconds.

   1) Failure:
test_special(TestInline)
     [./TestInline.rb:52:in `test_special'
      ../../../test/unit/ui/testrunnermediator.rb:46:in `run_suite'
      ../../../test/unit/ui/console/testrunner.rb:67:in `start_mediator'
      ../../../test/unit/ui/console/testrunner.rb:41:in `start']:
<["cat ",
  #<struct SM::AttrChanger turn_on=65, turn_off=0>,
  #<SM::Special:0xb7bf3af8 @text="#fred", @type=33>,
  #<struct SM::AttrChanger turn_on=0, turn_off=65>,
  " dog"]> expected but was
<["cat ",
  #<struct SM::AttrChanger turn_on=65, turn_off=0>,
  #<SM::Special:0xb7bf1f14 @text="#fred", @type=65>,
  #<struct SM::AttrChanger turn_on=0, turn_off=65>,
  " dog"]>.

13 tests, 85 assertions, 1 failures, 0 errors

Uh, the only difference is around @type=33. Why is a test comparing aggregate 
objects?

(I'm just curious; I'm not stuck on this...)