"obscured by code" <javierg1975 / gmail.com> wrote in message > No part of the code makes that line true, that line is a precondition > to the success of the assert once the method is run. A precondition is a check with no side effects. > requires {@items = [:item1, :item2, :item3]} > is executed *before* > add_item => [:item4] > Look at it as initialization code if you like. Initialization code will set the @items variable, right? So your "requires ..." is an executed statement that has the effect of making the precondition true, not just a boolean test, correct? If so, it makes sense. If not, I am still a bit lost.