From: obscured by code Date: 2005-11-01T07:27:12+09:00 Subject: Re: TeSLa, a Domain Specific Language for Unit Testing 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. That is, requires {@items = [:item1, :item2, :item3]} is executed *before* add_item => [:item4] Look at it as initialization code if you like. In other words, it is *required* for the 'items' property to hold items 1 to 3 so the addition of a fourth one would make the assert {size == 4} line true. Below is the entire Catalog class from example.rb. Perhaps that would help make things clearer class ShoppingCart def add_item item @items << item end def size @items.length end attr_accessor :items test_method :add_item => [:item5] do # requires makes sure certain conditions are met before the # assert is run requires {@items = [:item1, :item2, :item3]} assert {size == 4} end end