Are you looking for something like this

lambda { @audience.stats = 'Market Goblin' }.should raise_error


On 30/01/2008, at 1:48 PM, Andrew WC Brown wrote:

Trying to spec the following but don't know if I'm using the right matcher.
How do I spec? Plz, sugar on tops.

Audience.stats
- should have a stats of 80 when passed a flux of 10
- should return an error when passed a string (ERROR - 1)

1)
TypeError in 'Audience.stats should return an error when passed a string'
String can't be coerced into Fixnum
./audience.rb:11:in `*'
./audience.rb:11:in `stats='
./audience_spec.rb:29:

Finished in 0.006333 seconds

2 examples, 1 failure
monsterbox:spec andrew_wc_brown$



class Audience

  attr_accessor :stats

  def initialize(name = nil,value = nil)
    @name ||= 'all'
    @value ||= value
  end

  def stats=(flux)
    @stats = @value * flux / 0.025
  end

  def market_share
    "The Market share is for [EMAIL PROTECTED] at a high of [EMAIL PROTECTED]"
  end

end

describe "Audience.stats" do

before :all do
  @audience = Audience.new(nil,20)
end

  it  "should have a stats of 80 when passed a flux of 10" do
    @audience.stats = 10
    @audience.stats.should == 8000
  end

  it "should return an error when passed a string" do
    @audience.stats = 'Market Goblin'
    @audience.stats.should raise_error
  end
end
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users



_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to