"require 'rational'" has been deprecated. So require rational only when the Rational module has not already been loaded

see: e0278964938ea346b2bf5237857e8656c2ca754d
Only "require 'rational'" if Rational is not already defined.

Ruby 1.9.2 deprecated "require 'rational'".
Eliminate "warning: assigned but unused variable - info"
Fix test issues identified by 'assigned but unused variable' warnings.