#!/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!"