<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>.autotest</filename>
    </added>
    <added>
      <filename>spec/spec_helper.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,6 @@
 if RAILS_ENV == 'test'
   require 'machinist'
+  require 'sham'
 
   class ActiveRecord::Base
     include Machinist</diff>
      <filename>init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,7 @@
+require 'active_support'
+require 'active_support/test_case'
+require 'test/unit'
+
 module Sham
   @@values     = {}
   @@offsets    = {}
@@ -26,6 +30,7 @@ module Sham
 private
 
   def self.fetch_value(symbol)
+    raise &quot;No sham defined for #{symbol}&quot; if @@values[symbol].nil?
     offset = @@offsets[symbol] || 0
     @@offsets[symbol] = offset + 1
     if offset &gt;= @@values[symbol].length
@@ -37,8 +42,8 @@ private
   def self.generate_values(count)
     seeded do
       (1..count).inject([]) do |values, index|
-        value = yield
-        value = yield while values.include?(value) # Make sure it's not a duplicate.
+        value = yield(index)
+        value = yield(index) while values.include?(value) # Make sure it's not a duplicate.
         values &lt;&lt; value
       end
     end
@@ -51,3 +56,16 @@ private
     result
   end
 end
+
+
+module Test #:nodoc:
+  module Unit #:nodoc:
+    class TestCase #:nodoc:
+      setup :reset_sham
+      
+      def self.reset_sham
+        Sham.reset
+      end
+    end
+  end
+end</diff>
      <filename>lib/sham.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
+require File.dirname(__FILE__) + '/spec_helper'
 require 'machinist'
 
 class Base</diff>
      <filename>spec/machinist_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,11 @@
-$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
+require File.dirname(__FILE__) + '/spec_helper'
 require 'sham'
 
 Sham.numbers_up_to_12  { rand 12 }
 Sham.numbers_up_to_100 { rand 100 }
+Sham.name {|index| index.to_s }
 
 describe Sham do
-  before do
-    Sham.reset
-  end
-  
   it &quot;should ensure generated values are unique&quot; do
     values = (1..12).map { Sham.numbers_up_to_12 }
     values.should == values.uniq
@@ -28,4 +25,7 @@ describe Sham do
     values2.should == values1
   end
   
+  it &quot;should allow over-riding the name method&quot; do
+    Sham.name.should == &quot;1&quot;
+  end
 end</diff>
      <filename>spec/sham_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f333e445c9c2ba2c391bad9e5a7c107cc3edc00d</id>
    </parent>
  </parents>
  <author>
    <name>Pete Yandell</name>
    <email>pete@notahat.com</email>
  </author>
  <url>http://github.com/technoweenie/machinist/commit/6869ad05be71fa7003d523f89bb73ba00a6fefef</url>
  <id>6869ad05be71fa7003d523f89bb73ba00a6fefef</id>
  <committed-date>2008-10-20T21:11:36-07:00</committed-date>
  <authored-date>2008-10-20T21:11:36-07:00</authored-date>
  <message>Added more Sham related things: resetting before each spec, index passed to sham blocks, autotest support.</message>
  <tree>4b131f61829b17155bb750d4c9142e151cb22c50</tree>
  <committer>
    <name>Pete Yandell</name>
    <email>pete@notahat.com</email>
  </committer>
</commit>
