#!/usr/bin/ruby
# Tests for various Number divisor functions.
var n = irand(3,10)!
var h = Hash(
divisors => 'sigma',
prime_divisors => 'prime_sigma',
prime_power_divisors => 'prime_power_sigma',
square_divisors => 'square_sigma',
squarefree_divisors => 'squarefree_sigma',
udivisors => 'usigma',
prime_udivisors => 'prime_usigma',
prime_power_udivisors => 'prime_power_usigma',
square_udivisors => 'square_usigma',
squarefree_udivisors => 'squarefree_usigma',
)
for k in (0..5) {
h.each {|a,b|
assert_eq(n.(a).sum {|d| d**k }, n.(b)(k), "#{a} != #{b} for n=#{n} and k=#{k}")
}
}
say "** Test passed!"