aboutsummaryrefslogtreecommitdiffstats
path: root/spec/lib/confidence_intervals_spec.rb
blob: cb8717f3daebd0b82cece7f33fe398959d8cebf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require 'confidence_intervals'

describe "ci_bounds" do

  describe "when passed all successes" do
    it "should never return a high CI above 1" do
      ci = ci_bounds 16, 16, 0.01
      ci[1].should be <= 1
    end
  end

  describe "when passed all failures" do
    it "should never return a low CI below 0" do
      ci = ci_bounds 0, 10, 0.05
      ci[0].should be >= 0
    end
  end

  describe "when passed 4 out of 10 successes (with 0.05 power)" do
    it "should return the correct Wilson's interval" do
      # The expected results here were taken from an online
      # calculator:
      #   http://www.vassarstats.net/prop1.html
      ci = ci_bounds 7, 10, 0.05
      ci[0].should be_within(0.001).of(0.3968)
      ci[1].should be_within(0.001).of(0.8922)
    end
  end

end