stats/spec/math/factorial.cr

18 lines
480 B
Crystal

describe Math do
it "factorial" do
Math.factorial(0).should eq 1
Math.factorial(1).should eq 1
Math.factorial(2).should eq 2
Math.factorial(3).should eq 6
Math.factorial(4).should eq 24
Math.factorial(5).should eq 120
Math.factorial(6).should eq 720
Math.factorial(6).should eq 720
end
it "factorial big" do
res = (1..20).to_a.reduce(BigInt.new(1)) { |e, i| e * BigInt.new(i) }
Math.factorial(BigInt.new(20)).should eq res
end
end