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