C0 code coverage information

Generated on Mon May 21 22:36:02 -0400 2007 with rcov 0.8.0


Code reported as executed by Ruby looks like this...
and this: this line is also marked as covered.
Lines considered as run by rcov, but not reported by Ruby, look like this,
and this: these lines were inferred by rcov (using simple heuristics).
Finally, here's a line marked as not executed.
Name Total lines Lines of code Total coverage Code coverage
specs/rule_set/rule_set_spec.rb 103 84
100.0% 
100.0% 
  1 require File.dirname(__FILE__) + '/../spec_helper'
  2 require 'rools'
  3 
  4 # to support csv test
  5 class Hour
  6 end
  7 
  8 describe "Empty RuleSet" do
  9   before(:each) do
 10     @ruleset = Rools::RuleSet.new
 11   end
 12   
 13   after(:each) do
 14     @ruleset = nil
 15   end
 16   
 17   it "should not contain any rules" do
 18     @ruleset.get_rules.size == 0
 19   end
 20 
 21   it "should not contain any facts" do
 22     @ruleset.get_facts.size == 0
 23   end
 24   
 25   it "responds to assert" do
 26     @ruleset.should respond_to(:assert)
 27   end
 28  
 29   it "can assert with one or more parameters" do
 30     obj1 = "heya"
 31     obj2 = 2
 32     #@ruleset.should_receive(:assert).with(obj1, obj2).and_return(Rools::RuleSet::PASS)
 33     status = @ruleset.assert(obj1, obj2)
 34     status.should equal(Rools::RuleSet::PASS)
 35   end
 36   
 37   it "responds to evaluate" do
 38     @ruleset.should respond_to(:evaluate)
 39   end
 40   
 41   it "has null metrics" do
 42     @ruleset.status == Rools::RuleSet::UNDETERMINED
 43     @ruleset.num_executed == 0
 44     @ruleset.num_evaluated == 0
 45   end
 46   
 47   it "can accept new facts programmatically and delete all facts" do
 48     obj1 = "heya"
 49     obj2 = 2
 50     @ruleset.fact( obj1 )
 51     @ruleset.fact( obj2 )
 52     
 53     @ruleset.get_facts.should have(2).facts
 54     @ruleset.delete_facts
 55     @ruleset.get_facts.should have(0).facts
 56   end
 57   
 58   it "can accept fact stements in a rule set" do
 59     @ruleset = Rools::RuleSet.new do
 60 		facts 'Countries' do
 61 			["China", "USSR", "France", "Great Britain", "USA"]
 62 		end
 63 	end
 64     @ruleset.get_facts.should have(1).fact
 65   end
 66   
 67   it "can load an xml file" do
 68     @ruleset.load_xml( "test/data/hello.xml")
 69     @ruleset.get_rules.should have(1).rule
 70   end
 71   
 72   it "can load an rb file" do
 73     @ruleset.load_rb( "test/data/hello.rb")
 74     @ruleset.get_rules.should have(1).rule
 75   end
 76   
 77   it "can load a csv file" do
 78     @ruleset.load_csv( "test/data/greetings.csv")
 79     @ruleset.get_rules.should have(4).rules
 80   end
 81   
 82   it "can stop rule evaluation" do
 83     ruleset = Rools::RuleSet.new do
 84 		rule 'Hello' do
 85 			parameter String
 86 			consequence { stop("Stop it") }
 87 		end
 88 	end
 89 	status = ruleset.assert "Hey"
 90 	status.should eql(Rools::RuleSet::PASS)
 91   end
 92   
 93   it "can fail rule evaluation" do
 94     ruleset = Rools::RuleSet.new do
 95 		rule 'Hello' do
 96 			parameter String
 97 			consequence { fail("fail it") }
 98 		end
 99 	end
100 	status = ruleset.assert "Hey"
101 	status.should eql(Rools::RuleSet::FAIL)
102   end
103 end

Generated using the rcov code coverage analysis tool for Ruby version 0.8.0.

Valid XHTML 1.0! Valid CSS!