spec/t_spec.rb in distribution-0.4.0 vs spec/t_spec.rb in distribution-0.5.0

- old
+ new

@@ -13,10 +13,11 @@ it_only_with_gsl "should return correct pdf" do if @engine.respond_to? :pdf [-2,0.1,0.5,1,2].each{|t| [2,5,10].each{|n| @engine.pdf(t,n).should be_within(1e-6).of(GSL::Ran.tdist_pdf(t,n)) + @engine.pdf(t,n.to_f).should be_within(1e-6).of(@engine.pdf(t,n)) } } else pending("No #{@engine}.pdf") @@ -26,13 +27,20 @@ shared_examples_for "T engine" do it_only_with_gsl "should return correct cdf" do if @engine.respond_to? :cdf + # Testing with R values + @engine.cdf(1,2).should be_within(1e-7).of(0.7886751) + @engine.cdf(1,2.0).should be_within(1e-7).of(0.7886751) + @engine.cdf(1,3.0).should be_within(1e-7).of(0.8044989) + [-2,0.1,0.5,1,2].each{|t| [2,5,10].each{|n| @engine.cdf(t,n).should be_within(1e-4).of(GSL::Cdf.tdist_P(t,n)) + @engine.cdf(t,n).should be_within(1e-4).of(@engine.cdf(t,n.to_f)) + } } else pending("No #{@engine}.cdf") end @@ -63,29 +71,39 @@ describe Distribution::T::Ruby_ do before do @engine=Distribution::T::Ruby_ end it_should_behave_like "T engine" - it_should_behave_like "T engine(with pdf)" + it_should_behave_like "T engine(with pdf)" + it "raise error with fractional df on cdf" do + lambda {@engine.cdf(1,2.5)}.should raise_error + end + it "return correct values for cdf with fractional df" do + pending("we have to implement partial beta"); + end end if Distribution.has_gsl? describe Distribution::T::GSL_ do before do @engine=Distribution::T::GSL_ end + it "return correct values for cdf with fractional df" do + @engine.cdf(1,2.5).should be_within(1e-7).of(0.7979695) + end it_should_behave_like "T engine" it_should_behave_like "T engine(with pdf)" end - end + end +=begin if Distribution.has_statistics2? describe Distribution::T::Statistics2_ do before do @engine=Distribution::T::Statistics2_ end it_should_behave_like "T engine" end end - +=end if Distribution.has_java? describe Distribution::T::Java_ do before do @engine=Distribution::T::Java_ end