<div><div>Trying to spec the following but don&#39;t know if I&#39;m using the right matcher.</div><div>How do I spec? Plz, sugar on tops.</div><div><br class="webkit-block-placeholder"></div><div>Audience.stats</div><div>
- should have a stats of 80 when passed a flux of 10</div><div>- should return an error when passed a string (ERROR - 1)</div><div><br class="webkit-block-placeholder"></div><div>1)</div><div>TypeError in &#39;Audience.stats should return an error when passed a string&#39;</div>
<div>String can&#39;t be coerced into Fixnum</div><div>./audience.rb:11:in `*&#39;</div><div>./audience.rb:11:in `stats=&#39;</div><div>./audience_spec.rb:29:</div><div><br class="webkit-block-placeholder"></div><div>Finished in 0.006333 seconds</div>
<div><br class="webkit-block-placeholder"></div><div>2 examples, 1 failure</div><div>monsterbox:spec andrew_wc_brown$&nbsp;</div><div><br class="webkit-block-placeholder"></div></div><div><br class="webkit-block-placeholder"></div>
<div><br class="webkit-block-placeholder"></div><div>class Audience</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;attr_accessor :stats</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;def initialize(name = nil,value = nil)&nbsp;</div><div>&nbsp;&nbsp; &nbsp;@name ||= &#39;all&#39;</div>
<div>&nbsp;&nbsp; &nbsp;@value ||= value</div><div>&nbsp;&nbsp;end</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;def stats=(flux)</div><div>&nbsp;&nbsp; &nbsp;@stats = @value * flux / 0.025</div><div>&nbsp;&nbsp;end</div><div><br class="webkit-block-placeholder"></div><div>&nbsp;&nbsp;def market_share</div>
<div>&nbsp;&nbsp; &nbsp;&quot;The Market share is for #{@name} at a high of #{@stats}&quot;</div><div>&nbsp;&nbsp;end</div><div>&nbsp;&nbsp;</div><div>end</div><div><br class="webkit-block-placeholder"></div><div>describe &quot;Audience.stats&quot; do</div>
<div>&nbsp;&nbsp;</div><div>before :all do</div><div>&nbsp;&nbsp;@audience = Audience.new(nil,20)</div><div>end</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;it &nbsp;&quot;should have a stats of 80 when passed a flux of 10&quot; do</div><div>&nbsp;&nbsp; &nbsp;@audience.stats = 10</div>
<div>&nbsp;&nbsp; &nbsp;@audience.stats.should == 8000</div><div>&nbsp;&nbsp;end</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;it &quot;should return an error when passed a string&quot; do</div><div>&nbsp;&nbsp; &nbsp;@audience.stats = &#39;Market Goblin&#39;</div><div>&nbsp;&nbsp; &nbsp;@audience.stats.should raise_error</div>
<div>&nbsp;&nbsp;end</div><div>end</div>