BinomialDistribution/test/binomial_distribution.rb

29 lines
1.2 KiB
Ruby

class TestBinomialDistribution < Test::Unit::TestCase
def test_simple
0.0.step(by: 0.1, to: 1.0) do |proba|
assert_equal proba, Math.binomial_distribution(tries: 1, probability: proba, success: 1)
end
end
def test_nonamed_arguments
assert_equal 0.4, Math.binomial_distribution(tries: 1, probability: 0.4, success: 1)
assert_equal 0.4, Math.binomial_distribution(1, probability: 0.4, success: 1)
assert_equal 0.4, Math.binomial_distribution(1, tries: 1, probability: 0.4)
assert_equal 0.4, Math.binomial_distribution(0.4, tries: 1, success: 1)
assert_equal 0.4, Math.binomial_distribution(1, 0.4, success: 1)
assert_equal 0.4, Math.binomial_distribution(0.4, 1, tries: 1)
assert_equal 0.4, Math.binomial_distribution(1, 0.4, 1)
assert_equal 0.4, Math.binomial_distribution(1, 1, probability: 0.4)
end
def test_enum
t3 = Math.binomial_distribution(tries: 10, probability: 0.1, success: 3)
t2 = Math.binomial_distribution(tries: 10, probability: 0.1, success: 2)
t1 = Math.binomial_distribution(tries: 10, probability: 0.1, success: 1)
tt = Math.binomial_distribution(tries: 10, probability: 0.1, success: [1,2,3])
assert_equal t3 + t2 + t1, tt
end
end