PageRenderTime 55ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/projects/jruby-1.7.3/test/externals/ruby1.9/ruby/test_rational2.rb

https://gitlab.com/essere.lab.public/qualitas.class-corpus
Ruby | 959 lines | 957 code | 2 blank | 0 comment | 0 complexity | f5906e8796147a83c7b3de97f4322668 MD5 | raw file
  1. require 'test/unit'
  2. class Rational_Test2 < Test::Unit::TestCase
  3. def test_kumi
  4. assert_equal(Rational(1, 1), +Rational(1, 1))
  5. assert_equal(Rational(-1, 1), -Rational(1, 1))
  6. assert_equal(Rational(2, 1),
  7. Rational(1, 1) + Rational(1, 1))
  8. assert_equal(Rational(0, 1),
  9. Rational(1, 1) - Rational(1, 1))
  10. assert_equal(Rational(1, 1),
  11. Rational(1, 1) * Rational(1, 1))
  12. assert_equal(Rational(1, 1),
  13. Rational(1, 1) / Rational(1, 1))
  14. assert_equal(Rational(3, 1),
  15. Rational(1, 1) + Rational(2, 1))
  16. assert_equal(Rational(-1, 1),
  17. Rational(1, 1) - Rational(2, 1))
  18. assert_equal(Rational(2, 1),
  19. Rational(1, 1) * Rational(2, 1))
  20. assert_equal(Rational(1, 2),
  21. Rational(1, 1) / Rational(2, 1))
  22. assert_equal(Rational(4, 1),
  23. Rational(1, 1) + Rational(3, 1))
  24. assert_equal(Rational(-2, 1),
  25. Rational(1, 1) - Rational(3, 1))
  26. assert_equal(Rational(3, 1),
  27. Rational(1, 1) * Rational(3, 1))
  28. assert_equal(Rational(1, 3),
  29. Rational(1, 1) / Rational(3, 1))
  30. assert_equal(Rational(1073741790, 1),
  31. Rational(1, 1) + Rational(1073741789, 1))
  32. assert_equal(Rational(-1073741788, 1),
  33. Rational(1, 1) - Rational(1073741789, 1))
  34. assert_equal(Rational(1073741789, 1),
  35. Rational(1, 1) * Rational(1073741789, 1))
  36. assert_equal(Rational(1, 1073741789),
  37. Rational(1, 1) / Rational(1073741789, 1))
  38. assert_equal(Rational(1073741828, 1),
  39. Rational(1, 1) + Rational(1073741827, 1))
  40. assert_equal(Rational(-1073741826, 1),
  41. Rational(1, 1) - Rational(1073741827, 1))
  42. assert_equal(Rational(1073741827, 1),
  43. Rational(1, 1) * Rational(1073741827, 1))
  44. assert_equal(Rational(1, 1073741827),
  45. Rational(1, 1) / Rational(1073741827, 1))
  46. assert_equal(Rational(5, 3),
  47. Rational(1, 1) + Rational(2, 3))
  48. assert_equal(Rational(1, 3),
  49. Rational(1, 1) - Rational(2, 3))
  50. assert_equal(Rational(2, 3),
  51. Rational(1, 1) * Rational(2, 3))
  52. assert_equal(Rational(3, 2),
  53. Rational(1, 1) / Rational(2, 3))
  54. assert_equal(Rational(5, 2),
  55. Rational(1, 1) + Rational(3, 2))
  56. assert_equal(Rational(-1, 2),
  57. Rational(1, 1) - Rational(3, 2))
  58. assert_equal(Rational(3, 2),
  59. Rational(1, 1) * Rational(3, 2))
  60. assert_equal(Rational(2, 3),
  61. Rational(1, 1) / Rational(3, 2))
  62. assert_equal(Rational(1073741792, 1073741789),
  63. Rational(1, 1) + Rational(3, 1073741789))
  64. assert_equal(Rational(1073741786, 1073741789),
  65. Rational(1, 1) - Rational(3, 1073741789))
  66. assert_equal(Rational(3, 1073741789),
  67. Rational(1, 1) * Rational(3, 1073741789))
  68. assert_equal(Rational(1073741789, 3),
  69. Rational(1, 1) / Rational(3, 1073741789))
  70. assert_equal(Rational(1073741792, 3),
  71. Rational(1, 1) + Rational(1073741789, 3))
  72. assert_equal(Rational(-1073741786, 3),
  73. Rational(1, 1) - Rational(1073741789, 3))
  74. assert_equal(Rational(1073741789, 3),
  75. Rational(1, 1) * Rational(1073741789, 3))
  76. assert_equal(Rational(3, 1073741789),
  77. Rational(1, 1) / Rational(1073741789, 3))
  78. assert_equal(Rational(1073741830, 1073741827),
  79. Rational(1, 1) + Rational(3, 1073741827))
  80. assert_equal(Rational(1073741824, 1073741827),
  81. Rational(1, 1) - Rational(3, 1073741827))
  82. assert_equal(Rational(3, 1073741827),
  83. Rational(1, 1) * Rational(3, 1073741827))
  84. assert_equal(Rational(1073741827, 3),
  85. Rational(1, 1) / Rational(3, 1073741827))
  86. assert_equal(Rational(1073741830, 3),
  87. Rational(1, 1) + Rational(1073741827, 3))
  88. assert_equal(Rational(-1073741824, 3),
  89. Rational(1, 1) - Rational(1073741827, 3))
  90. assert_equal(Rational(1073741827, 3),
  91. Rational(1, 1) * Rational(1073741827, 3))
  92. assert_equal(Rational(3, 1073741827),
  93. Rational(1, 1) / Rational(1073741827, 3))
  94. assert_equal(Rational(2147483616, 1073741827),
  95. Rational(1, 1) + Rational(1073741789, 1073741827))
  96. assert_equal(Rational(38, 1073741827),
  97. Rational(1, 1) - Rational(1073741789, 1073741827))
  98. assert_equal(Rational(1073741789, 1073741827),
  99. Rational(1, 1) * Rational(1073741789, 1073741827))
  100. assert_equal(Rational(1073741827, 1073741789),
  101. Rational(1, 1) / Rational(1073741789, 1073741827))
  102. assert_equal(Rational(2147483616, 1073741789),
  103. Rational(1, 1) + Rational(1073741827, 1073741789))
  104. assert_equal(Rational(-38, 1073741789),
  105. Rational(1, 1) - Rational(1073741827, 1073741789))
  106. assert_equal(Rational(1073741827, 1073741789),
  107. Rational(1, 1) * Rational(1073741827, 1073741789))
  108. assert_equal(Rational(1073741789, 1073741827),
  109. Rational(1, 1) / Rational(1073741827, 1073741789))
  110. assert_equal(Rational(2, 1), +Rational(2, 1))
  111. assert_equal(Rational(-2, 1), -Rational(2, 1))
  112. assert_equal(Rational(3, 1),
  113. Rational(2, 1) + Rational(1, 1))
  114. assert_equal(Rational(1, 1),
  115. Rational(2, 1) - Rational(1, 1))
  116. assert_equal(Rational(2, 1),
  117. Rational(2, 1) * Rational(1, 1))
  118. assert_equal(Rational(2, 1),
  119. Rational(2, 1) / Rational(1, 1))
  120. assert_equal(Rational(4, 1),
  121. Rational(2, 1) + Rational(2, 1))
  122. assert_equal(Rational(0, 1),
  123. Rational(2, 1) - Rational(2, 1))
  124. assert_equal(Rational(4, 1),
  125. Rational(2, 1) * Rational(2, 1))
  126. assert_equal(Rational(1, 1),
  127. Rational(2, 1) / Rational(2, 1))
  128. assert_equal(Rational(5, 1),
  129. Rational(2, 1) + Rational(3, 1))
  130. assert_equal(Rational(-1, 1),
  131. Rational(2, 1) - Rational(3, 1))
  132. assert_equal(Rational(6, 1),
  133. Rational(2, 1) * Rational(3, 1))
  134. assert_equal(Rational(2, 3),
  135. Rational(2, 1) / Rational(3, 1))
  136. assert_equal(Rational(1073741791, 1),
  137. Rational(2, 1) + Rational(1073741789, 1))
  138. assert_equal(Rational(-1073741787, 1),
  139. Rational(2, 1) - Rational(1073741789, 1))
  140. assert_equal(Rational(2147483578, 1),
  141. Rational(2, 1) * Rational(1073741789, 1))
  142. assert_equal(Rational(2, 1073741789),
  143. Rational(2, 1) / Rational(1073741789, 1))
  144. assert_equal(Rational(1073741829, 1),
  145. Rational(2, 1) + Rational(1073741827, 1))
  146. assert_equal(Rational(-1073741825, 1),
  147. Rational(2, 1) - Rational(1073741827, 1))
  148. assert_equal(Rational(2147483654, 1),
  149. Rational(2, 1) * Rational(1073741827, 1))
  150. assert_equal(Rational(2, 1073741827),
  151. Rational(2, 1) / Rational(1073741827, 1))
  152. assert_equal(Rational(8, 3),
  153. Rational(2, 1) + Rational(2, 3))
  154. assert_equal(Rational(4, 3),
  155. Rational(2, 1) - Rational(2, 3))
  156. assert_equal(Rational(4, 3),
  157. Rational(2, 1) * Rational(2, 3))
  158. assert_equal(Rational(3, 1),
  159. Rational(2, 1) / Rational(2, 3))
  160. assert_equal(Rational(7, 2),
  161. Rational(2, 1) + Rational(3, 2))
  162. assert_equal(Rational(1, 2),
  163. Rational(2, 1) - Rational(3, 2))
  164. assert_equal(Rational(3, 1),
  165. Rational(2, 1) * Rational(3, 2))
  166. assert_equal(Rational(4, 3),
  167. Rational(2, 1) / Rational(3, 2))
  168. assert_equal(Rational(2147483581, 1073741789),
  169. Rational(2, 1) + Rational(3, 1073741789))
  170. assert_equal(Rational(2147483575, 1073741789),
  171. Rational(2, 1) - Rational(3, 1073741789))
  172. assert_equal(Rational(6, 1073741789),
  173. Rational(2, 1) * Rational(3, 1073741789))
  174. assert_equal(Rational(2147483578, 3),
  175. Rational(2, 1) / Rational(3, 1073741789))
  176. assert_equal(Rational(1073741795, 3),
  177. Rational(2, 1) + Rational(1073741789, 3))
  178. assert_equal(Rational(-1073741783, 3),
  179. Rational(2, 1) - Rational(1073741789, 3))
  180. assert_equal(Rational(2147483578, 3),
  181. Rational(2, 1) * Rational(1073741789, 3))
  182. assert_equal(Rational(6, 1073741789),
  183. Rational(2, 1) / Rational(1073741789, 3))
  184. assert_equal(Rational(2147483657, 1073741827),
  185. Rational(2, 1) + Rational(3, 1073741827))
  186. assert_equal(Rational(2147483651, 1073741827),
  187. Rational(2, 1) - Rational(3, 1073741827))
  188. assert_equal(Rational(6, 1073741827),
  189. Rational(2, 1) * Rational(3, 1073741827))
  190. assert_equal(Rational(2147483654, 3),
  191. Rational(2, 1) / Rational(3, 1073741827))
  192. assert_equal(Rational(1073741833, 3),
  193. Rational(2, 1) + Rational(1073741827, 3))
  194. assert_equal(Rational(-1073741821, 3),
  195. Rational(2, 1) - Rational(1073741827, 3))
  196. assert_equal(Rational(2147483654, 3),
  197. Rational(2, 1) * Rational(1073741827, 3))
  198. assert_equal(Rational(6, 1073741827),
  199. Rational(2, 1) / Rational(1073741827, 3))
  200. assert_equal(Rational(3221225443, 1073741827),
  201. Rational(2, 1) + Rational(1073741789, 1073741827))
  202. assert_equal(Rational(1073741865, 1073741827),
  203. Rational(2, 1) - Rational(1073741789, 1073741827))
  204. assert_equal(Rational(2147483578, 1073741827),
  205. Rational(2, 1) * Rational(1073741789, 1073741827))
  206. assert_equal(Rational(2147483654, 1073741789),
  207. Rational(2, 1) / Rational(1073741789, 1073741827))
  208. assert_equal(Rational(3221225405, 1073741789),
  209. Rational(2, 1) + Rational(1073741827, 1073741789))
  210. assert_equal(Rational(1073741751, 1073741789),
  211. Rational(2, 1) - Rational(1073741827, 1073741789))
  212. assert_equal(Rational(2147483654, 1073741789),
  213. Rational(2, 1) * Rational(1073741827, 1073741789))
  214. assert_equal(Rational(2147483578, 1073741827),
  215. Rational(2, 1) / Rational(1073741827, 1073741789))
  216. assert_equal(Rational(3, 1), +Rational(3, 1))
  217. assert_equal(Rational(-3, 1), -Rational(3, 1))
  218. assert_equal(Rational(4, 1),
  219. Rational(3, 1) + Rational(1, 1))
  220. assert_equal(Rational(2, 1),
  221. Rational(3, 1) - Rational(1, 1))
  222. assert_equal(Rational(3, 1),
  223. Rational(3, 1) * Rational(1, 1))
  224. assert_equal(Rational(3, 1),
  225. Rational(3, 1) / Rational(1, 1))
  226. assert_equal(Rational(5, 1),
  227. Rational(3, 1) + Rational(2, 1))
  228. assert_equal(Rational(1, 1),
  229. Rational(3, 1) - Rational(2, 1))
  230. assert_equal(Rational(6, 1),
  231. Rational(3, 1) * Rational(2, 1))
  232. assert_equal(Rational(3, 2),
  233. Rational(3, 1) / Rational(2, 1))
  234. assert_equal(Rational(6, 1),
  235. Rational(3, 1) + Rational(3, 1))
  236. assert_equal(Rational(0, 1),
  237. Rational(3, 1) - Rational(3, 1))
  238. assert_equal(Rational(9, 1),
  239. Rational(3, 1) * Rational(3, 1))
  240. assert_equal(Rational(1, 1),
  241. Rational(3, 1) / Rational(3, 1))
  242. assert_equal(Rational(1073741792, 1),
  243. Rational(3, 1) + Rational(1073741789, 1))
  244. assert_equal(Rational(-1073741786, 1),
  245. Rational(3, 1) - Rational(1073741789, 1))
  246. assert_equal(Rational(3221225367, 1),
  247. Rational(3, 1) * Rational(1073741789, 1))
  248. assert_equal(Rational(3, 1073741789),
  249. Rational(3, 1) / Rational(1073741789, 1))
  250. assert_equal(Rational(1073741830, 1),
  251. Rational(3, 1) + Rational(1073741827, 1))
  252. assert_equal(Rational(-1073741824, 1),
  253. Rational(3, 1) - Rational(1073741827, 1))
  254. assert_equal(Rational(3221225481, 1),
  255. Rational(3, 1) * Rational(1073741827, 1))
  256. assert_equal(Rational(3, 1073741827),
  257. Rational(3, 1) / Rational(1073741827, 1))
  258. assert_equal(Rational(11, 3),
  259. Rational(3, 1) + Rational(2, 3))
  260. assert_equal(Rational(7, 3),
  261. Rational(3, 1) - Rational(2, 3))
  262. assert_equal(Rational(2, 1),
  263. Rational(3, 1) * Rational(2, 3))
  264. assert_equal(Rational(9, 2),
  265. Rational(3, 1) / Rational(2, 3))
  266. assert_equal(Rational(9, 2),
  267. Rational(3, 1) + Rational(3, 2))
  268. assert_equal(Rational(3, 2),
  269. Rational(3, 1) - Rational(3, 2))
  270. assert_equal(Rational(9, 2),
  271. Rational(3, 1) * Rational(3, 2))
  272. assert_equal(Rational(2, 1),
  273. Rational(3, 1) / Rational(3, 2))
  274. assert_equal(Rational(3221225370, 1073741789),
  275. Rational(3, 1) + Rational(3, 1073741789))
  276. assert_equal(Rational(3221225364, 1073741789),
  277. Rational(3, 1) - Rational(3, 1073741789))
  278. assert_equal(Rational(9, 1073741789),
  279. Rational(3, 1) * Rational(3, 1073741789))
  280. assert_equal(Rational(1073741789, 1),
  281. Rational(3, 1) / Rational(3, 1073741789))
  282. assert_equal(Rational(1073741798, 3),
  283. Rational(3, 1) + Rational(1073741789, 3))
  284. assert_equal(Rational(-1073741780, 3),
  285. Rational(3, 1) - Rational(1073741789, 3))
  286. assert_equal(Rational(1073741789, 1),
  287. Rational(3, 1) * Rational(1073741789, 3))
  288. assert_equal(Rational(9, 1073741789),
  289. Rational(3, 1) / Rational(1073741789, 3))
  290. assert_equal(Rational(3221225484, 1073741827),
  291. Rational(3, 1) + Rational(3, 1073741827))
  292. assert_equal(Rational(3221225478, 1073741827),
  293. Rational(3, 1) - Rational(3, 1073741827))
  294. assert_equal(Rational(9, 1073741827),
  295. Rational(3, 1) * Rational(3, 1073741827))
  296. assert_equal(Rational(1073741827, 1),
  297. Rational(3, 1) / Rational(3, 1073741827))
  298. assert_equal(Rational(1073741836, 3),
  299. Rational(3, 1) + Rational(1073741827, 3))
  300. assert_equal(Rational(-1073741818, 3),
  301. Rational(3, 1) - Rational(1073741827, 3))
  302. assert_equal(Rational(1073741827, 1),
  303. Rational(3, 1) * Rational(1073741827, 3))
  304. assert_equal(Rational(9, 1073741827),
  305. Rational(3, 1) / Rational(1073741827, 3))
  306. assert_equal(Rational(4294967270, 1073741827),
  307. Rational(3, 1) + Rational(1073741789, 1073741827))
  308. assert_equal(Rational(2147483692, 1073741827),
  309. Rational(3, 1) - Rational(1073741789, 1073741827))
  310. assert_equal(Rational(3221225367, 1073741827),
  311. Rational(3, 1) * Rational(1073741789, 1073741827))
  312. assert_equal(Rational(3221225481, 1073741789),
  313. Rational(3, 1) / Rational(1073741789, 1073741827))
  314. assert_equal(Rational(4294967194, 1073741789),
  315. Rational(3, 1) + Rational(1073741827, 1073741789))
  316. assert_equal(Rational(2147483540, 1073741789),
  317. Rational(3, 1) - Rational(1073741827, 1073741789))
  318. assert_equal(Rational(3221225481, 1073741789),
  319. Rational(3, 1) * Rational(1073741827, 1073741789))
  320. assert_equal(Rational(3221225367, 1073741827),
  321. Rational(3, 1) / Rational(1073741827, 1073741789))
  322. assert_equal(Rational(1073741789, 1), +Rational(1073741789, 1))
  323. assert_equal(Rational(-1073741789, 1), -Rational(1073741789, 1))
  324. assert_equal(Rational(1073741790, 1),
  325. Rational(1073741789, 1) + Rational(1, 1))
  326. assert_equal(Rational(1073741788, 1),
  327. Rational(1073741789, 1) - Rational(1, 1))
  328. assert_equal(Rational(1073741789, 1),
  329. Rational(1073741789, 1) * Rational(1, 1))
  330. assert_equal(Rational(1073741789, 1),
  331. Rational(1073741789, 1) / Rational(1, 1))
  332. assert_equal(Rational(1073741791, 1),
  333. Rational(1073741789, 1) + Rational(2, 1))
  334. assert_equal(Rational(1073741787, 1),
  335. Rational(1073741789, 1) - Rational(2, 1))
  336. assert_equal(Rational(2147483578, 1),
  337. Rational(1073741789, 1) * Rational(2, 1))
  338. assert_equal(Rational(1073741789, 2),
  339. Rational(1073741789, 1) / Rational(2, 1))
  340. assert_equal(Rational(1073741792, 1),
  341. Rational(1073741789, 1) + Rational(3, 1))
  342. assert_equal(Rational(1073741786, 1),
  343. Rational(1073741789, 1) - Rational(3, 1))
  344. assert_equal(Rational(3221225367, 1),
  345. Rational(1073741789, 1) * Rational(3, 1))
  346. assert_equal(Rational(1073741789, 3),
  347. Rational(1073741789, 1) / Rational(3, 1))
  348. assert_equal(Rational(2147483578, 1),
  349. Rational(1073741789, 1) + Rational(1073741789, 1))
  350. assert_equal(Rational(0, 1),
  351. Rational(1073741789, 1) - Rational(1073741789, 1))
  352. assert_equal(Rational(1152921429444920521, 1),
  353. Rational(1073741789, 1) * Rational(1073741789, 1))
  354. assert_equal(Rational(1, 1),
  355. Rational(1073741789, 1) / Rational(1073741789, 1))
  356. assert_equal(Rational(2147483616, 1),
  357. Rational(1073741789, 1) + Rational(1073741827, 1))
  358. assert_equal(Rational(-38, 1),
  359. Rational(1073741789, 1) - Rational(1073741827, 1))
  360. assert_equal(Rational(1152921470247108503, 1),
  361. Rational(1073741789, 1) * Rational(1073741827, 1))
  362. assert_equal(Rational(1073741789, 1073741827),
  363. Rational(1073741789, 1) / Rational(1073741827, 1))
  364. assert_equal(Rational(3221225369, 3),
  365. Rational(1073741789, 1) + Rational(2, 3))
  366. assert_equal(Rational(3221225365, 3),
  367. Rational(1073741789, 1) - Rational(2, 3))
  368. assert_equal(Rational(2147483578, 3),
  369. Rational(1073741789, 1) * Rational(2, 3))
  370. assert_equal(Rational(3221225367, 2),
  371. Rational(1073741789, 1) / Rational(2, 3))
  372. assert_equal(Rational(2147483581, 2),
  373. Rational(1073741789, 1) + Rational(3, 2))
  374. assert_equal(Rational(2147483575, 2),
  375. Rational(1073741789, 1) - Rational(3, 2))
  376. assert_equal(Rational(3221225367, 2),
  377. Rational(1073741789, 1) * Rational(3, 2))
  378. assert_equal(Rational(2147483578, 3),
  379. Rational(1073741789, 1) / Rational(3, 2))
  380. assert_equal(Rational(1152921429444920524, 1073741789),
  381. Rational(1073741789, 1) + Rational(3, 1073741789))
  382. assert_equal(Rational(1152921429444920518, 1073741789),
  383. Rational(1073741789, 1) - Rational(3, 1073741789))
  384. assert_equal(Rational(3, 1),
  385. Rational(1073741789, 1) * Rational(3, 1073741789))
  386. assert_equal(Rational(1152921429444920521, 3),
  387. Rational(1073741789, 1) / Rational(3, 1073741789))
  388. assert_equal(Rational(4294967156, 3),
  389. Rational(1073741789, 1) + Rational(1073741789, 3))
  390. assert_equal(Rational(2147483578, 3),
  391. Rational(1073741789, 1) - Rational(1073741789, 3))
  392. assert_equal(Rational(1152921429444920521, 3),
  393. Rational(1073741789, 1) * Rational(1073741789, 3))
  394. assert_equal(Rational(3, 1),
  395. Rational(1073741789, 1) / Rational(1073741789, 3))
  396. assert_equal(Rational(1152921470247108506, 1073741827),
  397. Rational(1073741789, 1) + Rational(3, 1073741827))
  398. assert_equal(Rational(1152921470247108500, 1073741827),
  399. Rational(1073741789, 1) - Rational(3, 1073741827))
  400. assert_equal(Rational(3221225367, 1073741827),
  401. Rational(1073741789, 1) * Rational(3, 1073741827))
  402. assert_equal(Rational(1152921470247108503, 3),
  403. Rational(1073741789, 1) / Rational(3, 1073741827))
  404. assert_equal(Rational(4294967194, 3),
  405. Rational(1073741789, 1) + Rational(1073741827, 3))
  406. assert_equal(Rational(2147483540, 3),
  407. Rational(1073741789, 1) - Rational(1073741827, 3))
  408. assert_equal(Rational(1152921470247108503, 3),
  409. Rational(1073741789, 1) * Rational(1073741827, 3))
  410. assert_equal(Rational(3221225367, 1073741827),
  411. Rational(1073741789, 1) / Rational(1073741827, 3))
  412. assert_equal(Rational(1152921471320850292, 1073741827),
  413. Rational(1073741789, 1) + Rational(1073741789, 1073741827))
  414. assert_equal(Rational(1152921469173366714, 1073741827),
  415. Rational(1073741789, 1) - Rational(1073741789, 1073741827))
  416. assert_equal(Rational(1152921429444920521, 1073741827),
  417. Rational(1073741789, 1) * Rational(1073741789, 1073741827))
  418. assert_equal(Rational(1073741827, 1),
  419. Rational(1073741789, 1) / Rational(1073741789, 1073741827))
  420. assert_equal(Rational(1152921430518662348, 1073741789),
  421. Rational(1073741789, 1) + Rational(1073741827, 1073741789))
  422. assert_equal(Rational(1152921428371178694, 1073741789),
  423. Rational(1073741789, 1) - Rational(1073741827, 1073741789))
  424. assert_equal(Rational(1073741827, 1),
  425. Rational(1073741789, 1) * Rational(1073741827, 1073741789))
  426. assert_equal(Rational(1152921429444920521, 1073741827),
  427. Rational(1073741789, 1) / Rational(1073741827, 1073741789))
  428. assert_equal(Rational(1073741827, 1), +Rational(1073741827, 1))
  429. assert_equal(Rational(-1073741827, 1), -Rational(1073741827, 1))
  430. assert_equal(Rational(1073741828, 1),
  431. Rational(1073741827, 1) + Rational(1, 1))
  432. assert_equal(Rational(1073741826, 1),
  433. Rational(1073741827, 1) - Rational(1, 1))
  434. assert_equal(Rational(1073741827, 1),
  435. Rational(1073741827, 1) * Rational(1, 1))
  436. assert_equal(Rational(1073741827, 1),
  437. Rational(1073741827, 1) / Rational(1, 1))
  438. assert_equal(Rational(1073741829, 1),
  439. Rational(1073741827, 1) + Rational(2, 1))
  440. assert_equal(Rational(1073741825, 1),
  441. Rational(1073741827, 1) - Rational(2, 1))
  442. assert_equal(Rational(2147483654, 1),
  443. Rational(1073741827, 1) * Rational(2, 1))
  444. assert_equal(Rational(1073741827, 2),
  445. Rational(1073741827, 1) / Rational(2, 1))
  446. assert_equal(Rational(1073741830, 1),
  447. Rational(1073741827, 1) + Rational(3, 1))
  448. assert_equal(Rational(1073741824, 1),
  449. Rational(1073741827, 1) - Rational(3, 1))
  450. assert_equal(Rational(3221225481, 1),
  451. Rational(1073741827, 1) * Rational(3, 1))
  452. assert_equal(Rational(1073741827, 3),
  453. Rational(1073741827, 1) / Rational(3, 1))
  454. assert_equal(Rational(2147483616, 1),
  455. Rational(1073741827, 1) + Rational(1073741789, 1))
  456. assert_equal(Rational(38, 1),
  457. Rational(1073741827, 1) - Rational(1073741789, 1))
  458. assert_equal(Rational(1152921470247108503, 1),
  459. Rational(1073741827, 1) * Rational(1073741789, 1))
  460. assert_equal(Rational(1073741827, 1073741789),
  461. Rational(1073741827, 1) / Rational(1073741789, 1))
  462. assert_equal(Rational(2147483654, 1),
  463. Rational(1073741827, 1) + Rational(1073741827, 1))
  464. assert_equal(Rational(0, 1),
  465. Rational(1073741827, 1) - Rational(1073741827, 1))
  466. assert_equal(Rational(1152921511049297929, 1),
  467. Rational(1073741827, 1) * Rational(1073741827, 1))
  468. assert_equal(Rational(1, 1),
  469. Rational(1073741827, 1) / Rational(1073741827, 1))
  470. assert_equal(Rational(3221225483, 3),
  471. Rational(1073741827, 1) + Rational(2, 3))
  472. assert_equal(Rational(3221225479, 3),
  473. Rational(1073741827, 1) - Rational(2, 3))
  474. assert_equal(Rational(2147483654, 3),
  475. Rational(1073741827, 1) * Rational(2, 3))
  476. assert_equal(Rational(3221225481, 2),
  477. Rational(1073741827, 1) / Rational(2, 3))
  478. assert_equal(Rational(2147483657, 2),
  479. Rational(1073741827, 1) + Rational(3, 2))
  480. assert_equal(Rational(2147483651, 2),
  481. Rational(1073741827, 1) - Rational(3, 2))
  482. assert_equal(Rational(3221225481, 2),
  483. Rational(1073741827, 1) * Rational(3, 2))
  484. assert_equal(Rational(2147483654, 3),
  485. Rational(1073741827, 1) / Rational(3, 2))
  486. assert_equal(Rational(1152921470247108506, 1073741789),
  487. Rational(1073741827, 1) + Rational(3, 1073741789))
  488. assert_equal(Rational(1152921470247108500, 1073741789),
  489. Rational(1073741827, 1) - Rational(3, 1073741789))
  490. assert_equal(Rational(3221225481, 1073741789),
  491. Rational(1073741827, 1) * Rational(3, 1073741789))
  492. assert_equal(Rational(1152921470247108503, 3),
  493. Rational(1073741827, 1) / Rational(3, 1073741789))
  494. assert_equal(Rational(4294967270, 3),
  495. Rational(1073741827, 1) + Rational(1073741789, 3))
  496. assert_equal(Rational(2147483692, 3),
  497. Rational(1073741827, 1) - Rational(1073741789, 3))
  498. assert_equal(Rational(1152921470247108503, 3),
  499. Rational(1073741827, 1) * Rational(1073741789, 3))
  500. assert_equal(Rational(3221225481, 1073741789),
  501. Rational(1073741827, 1) / Rational(1073741789, 3))
  502. assert_equal(Rational(1152921511049297932, 1073741827),
  503. Rational(1073741827, 1) + Rational(3, 1073741827))
  504. assert_equal(Rational(1152921511049297926, 1073741827),
  505. Rational(1073741827, 1) - Rational(3, 1073741827))
  506. assert_equal(Rational(3, 1),
  507. Rational(1073741827, 1) * Rational(3, 1073741827))
  508. assert_equal(Rational(1152921511049297929, 3),
  509. Rational(1073741827, 1) / Rational(3, 1073741827))
  510. assert_equal(Rational(4294967308, 3),
  511. Rational(1073741827, 1) + Rational(1073741827, 3))
  512. assert_equal(Rational(2147483654, 3),
  513. Rational(1073741827, 1) - Rational(1073741827, 3))
  514. assert_equal(Rational(1152921511049297929, 3),
  515. Rational(1073741827, 1) * Rational(1073741827, 3))
  516. assert_equal(Rational(3, 1),
  517. Rational(1073741827, 1) / Rational(1073741827, 3))
  518. assert_equal(Rational(1152921512123039718, 1073741827),
  519. Rational(1073741827, 1) + Rational(1073741789, 1073741827))
  520. assert_equal(Rational(1152921509975556140, 1073741827),
  521. Rational(1073741827, 1) - Rational(1073741789, 1073741827))
  522. assert_equal(Rational(1073741789, 1),
  523. Rational(1073741827, 1) * Rational(1073741789, 1073741827))
  524. assert_equal(Rational(1152921511049297929, 1073741789),
  525. Rational(1073741827, 1) / Rational(1073741789, 1073741827))
  526. assert_equal(Rational(1152921471320850330, 1073741789),
  527. Rational(1073741827, 1) + Rational(1073741827, 1073741789))
  528. assert_equal(Rational(1152921469173366676, 1073741789),
  529. Rational(1073741827, 1) - Rational(1073741827, 1073741789))
  530. assert_equal(Rational(1152921511049297929, 1073741789),
  531. Rational(1073741827, 1) * Rational(1073741827, 1073741789))
  532. assert_equal(Rational(1073741789, 1),
  533. Rational(1073741827, 1) / Rational(1073741827, 1073741789))
  534. assert_equal(Rational(2, 3), +Rational(2, 3))
  535. assert_equal(Rational(-2, 3), -Rational(2, 3))
  536. assert_equal(Rational(5, 3),
  537. Rational(2, 3) + Rational(1, 1))
  538. assert_equal(Rational(-1, 3),
  539. Rational(2, 3) - Rational(1, 1))
  540. assert_equal(Rational(2, 3),
  541. Rational(2, 3) * Rational(1, 1))
  542. assert_equal(Rational(2, 3),
  543. Rational(2, 3) / Rational(1, 1))
  544. assert_equal(Rational(8, 3),
  545. Rational(2, 3) + Rational(2, 1))
  546. assert_equal(Rational(-4, 3),
  547. Rational(2, 3) - Rational(2, 1))
  548. assert_equal(Rational(4, 3),
  549. Rational(2, 3) * Rational(2, 1))
  550. assert_equal(Rational(1, 3),
  551. Rational(2, 3) / Rational(2, 1))
  552. assert_equal(Rational(11, 3),
  553. Rational(2, 3) + Rational(3, 1))
  554. assert_equal(Rational(-7, 3),
  555. Rational(2, 3) - Rational(3, 1))
  556. assert_equal(Rational(2, 1),
  557. Rational(2, 3) * Rational(3, 1))
  558. assert_equal(Rational(2, 9),
  559. Rational(2, 3) / Rational(3, 1))
  560. assert_equal(Rational(3221225369, 3),
  561. Rational(2, 3) + Rational(1073741789, 1))
  562. assert_equal(Rational(-3221225365, 3),
  563. Rational(2, 3) - Rational(1073741789, 1))
  564. assert_equal(Rational(2147483578, 3),
  565. Rational(2, 3) * Rational(1073741789, 1))
  566. assert_equal(Rational(2, 3221225367),
  567. Rational(2, 3) / Rational(1073741789, 1))
  568. assert_equal(Rational(3221225483, 3),
  569. Rational(2, 3) + Rational(1073741827, 1))
  570. assert_equal(Rational(-3221225479, 3),
  571. Rational(2, 3) - Rational(1073741827, 1))
  572. assert_equal(Rational(2147483654, 3),
  573. Rational(2, 3) * Rational(1073741827, 1))
  574. assert_equal(Rational(2, 3221225481),
  575. Rational(2, 3) / Rational(1073741827, 1))
  576. assert_equal(Rational(4, 3),
  577. Rational(2, 3) + Rational(2, 3))
  578. assert_equal(Rational(0, 1),
  579. Rational(2, 3) - Rational(2, 3))
  580. assert_equal(Rational(4, 9),
  581. Rational(2, 3) * Rational(2, 3))
  582. assert_equal(Rational(1, 1),
  583. Rational(2, 3) / Rational(2, 3))
  584. assert_equal(Rational(13, 6),
  585. Rational(2, 3) + Rational(3, 2))
  586. assert_equal(Rational(-5, 6),
  587. Rational(2, 3) - Rational(3, 2))
  588. assert_equal(Rational(1, 1),
  589. Rational(2, 3) * Rational(3, 2))
  590. assert_equal(Rational(4, 9),
  591. Rational(2, 3) / Rational(3, 2))
  592. assert_equal(Rational(2147483587, 3221225367),
  593. Rational(2, 3) + Rational(3, 1073741789))
  594. assert_equal(Rational(2147483569, 3221225367),
  595. Rational(2, 3) - Rational(3, 1073741789))
  596. assert_equal(Rational(2, 1073741789),
  597. Rational(2, 3) * Rational(3, 1073741789))
  598. assert_equal(Rational(2147483578, 9),
  599. Rational(2, 3) / Rational(3, 1073741789))
  600. assert_equal(Rational(1073741791, 3),
  601. Rational(2, 3) + Rational(1073741789, 3))
  602. assert_equal(Rational(-357913929, 1),
  603. Rational(2, 3) - Rational(1073741789, 3))
  604. assert_equal(Rational(2147483578, 9),
  605. Rational(2, 3) * Rational(1073741789, 3))
  606. assert_equal(Rational(2, 1073741789),
  607. Rational(2, 3) / Rational(1073741789, 3))
  608. assert_equal(Rational(2147483663, 3221225481),
  609. Rational(2, 3) + Rational(3, 1073741827))
  610. assert_equal(Rational(2147483645, 3221225481),
  611. Rational(2, 3) - Rational(3, 1073741827))
  612. assert_equal(Rational(2, 1073741827),
  613. Rational(2, 3) * Rational(3, 1073741827))
  614. assert_equal(Rational(2147483654, 9),
  615. Rational(2, 3) / Rational(3, 1073741827))
  616. assert_equal(Rational(357913943, 1),
  617. Rational(2, 3) + Rational(1073741827, 3))
  618. assert_equal(Rational(-1073741825, 3),
  619. Rational(2, 3) - Rational(1073741827, 3))
  620. assert_equal(Rational(2147483654, 9),
  621. Rational(2, 3) * Rational(1073741827, 3))
  622. assert_equal(Rational(2, 1073741827),
  623. Rational(2, 3) / Rational(1073741827, 3))
  624. assert_equal(Rational(5368709021, 3221225481),
  625. Rational(2, 3) + Rational(1073741789, 1073741827))
  626. assert_equal(Rational(-1073741713, 3221225481),
  627. Rational(2, 3) - Rational(1073741789, 1073741827))
  628. assert_equal(Rational(2147483578, 3221225481),
  629. Rational(2, 3) * Rational(1073741789, 1073741827))
  630. assert_equal(Rational(2147483654, 3221225367),
  631. Rational(2, 3) / Rational(1073741789, 1073741827))
  632. assert_equal(Rational(5368709059, 3221225367),
  633. Rational(2, 3) + Rational(1073741827, 1073741789))
  634. assert_equal(Rational(-1073741903, 3221225367),
  635. Rational(2, 3) - Rational(1073741827, 1073741789))
  636. assert_equal(Rational(2147483654, 3221225367),
  637. Rational(2, 3) * Rational(1073741827, 1073741789))
  638. assert_equal(Rational(2147483578, 3221225481),
  639. Rational(2, 3) / Rational(1073741827, 1073741789))
  640. assert_equal(Rational(3, 2), +Rational(3, 2))
  641. assert_equal(Rational(-3, 2), -Rational(3, 2))
  642. assert_equal(Rational(5, 2),
  643. Rational(3, 2) + Rational(1, 1))
  644. assert_equal(Rational(1, 2),
  645. Rational(3, 2) - Rational(1, 1))
  646. assert_equal(Rational(3, 2),
  647. Rational(3, 2) * Rational(1, 1))
  648. assert_equal(Rational(3, 2),
  649. Rational(3, 2) / Rational(1, 1))
  650. assert_equal(Rational(7, 2),
  651. Rational(3, 2) + Rational(2, 1))
  652. assert_equal(Rational(-1, 2),
  653. Rational(3, 2) - Rational(2, 1))
  654. assert_equal(Rational(3, 1),
  655. Rational(3, 2) * Rational(2, 1))
  656. assert_equal(Rational(3, 4),
  657. Rational(3, 2) / Rational(2, 1))
  658. assert_equal(Rational(9, 2),
  659. Rational(3, 2) + Rational(3, 1))
  660. assert_equal(Rational(-3, 2),
  661. Rational(3, 2) - Rational(3, 1))
  662. assert_equal(Rational(9, 2),
  663. Rational(3, 2) * Rational(3, 1))
  664. assert_equal(Rational(1, 2),
  665. Rational(3, 2) / Rational(3, 1))
  666. assert_equal(Rational(2147483581, 2),
  667. Rational(3, 2) + Rational(1073741789, 1))
  668. assert_equal(Rational(-2147483575, 2),
  669. Rational(3, 2) - Rational(1073741789, 1))
  670. assert_equal(Rational(3221225367, 2),
  671. Rational(3, 2) * Rational(1073741789, 1))
  672. assert_equal(Rational(3, 2147483578),
  673. Rational(3, 2) / Rational(1073741789, 1))
  674. assert_equal(Rational(2147483657, 2),
  675. Rational(3, 2) + Rational(1073741827, 1))
  676. assert_equal(Rational(-2147483651, 2),
  677. Rational(3, 2) - Rational(1073741827, 1))
  678. assert_equal(Rational(3221225481, 2),
  679. Rational(3, 2) * Rational(1073741827, 1))
  680. assert_equal(Rational(3, 2147483654),
  681. Rational(3, 2) / Rational(1073741827, 1))
  682. assert_equal(Rational(13, 6),
  683. Rational(3, 2) + Rational(2, 3))
  684. assert_equal(Rational(5, 6),
  685. Rational(3, 2) - Rational(2, 3))
  686. assert_equal(Rational(1, 1),
  687. Rational(3, 2) * Rational(2, 3))
  688. assert_equal(Rational(9, 4),
  689. Rational(3, 2) / Rational(2, 3))
  690. assert_equal(Rational(3, 1),
  691. Rational(3, 2) + Rational(3, 2))
  692. assert_equal(Rational(0, 1),
  693. Rational(3, 2) - Rational(3, 2))
  694. assert_equal(Rational(9, 4),
  695. Rational(3, 2) * Rational(3, 2))
  696. assert_equal(Rational(1, 1),
  697. Rational(3, 2) / Rational(3, 2))
  698. assert_equal(Rational(3221225373, 2147483578),
  699. Rational(3, 2) + Rational(3, 1073741789))
  700. assert_equal(Rational(3221225361, 2147483578),
  701. Rational(3, 2) - Rational(3, 1073741789))
  702. assert_equal(Rational(9, 2147483578),
  703. Rational(3, 2) * Rational(3, 1073741789))
  704. assert_equal(Rational(1073741789, 2),
  705. Rational(3, 2) / Rational(3, 1073741789))
  706. assert_equal(Rational(2147483587, 6),
  707. Rational(3, 2) + Rational(1073741789, 3))
  708. assert_equal(Rational(-2147483569, 6),
  709. Rational(3, 2) - Rational(1073741789, 3))
  710. assert_equal(Rational(1073741789, 2),
  711. Rational(3, 2) * Rational(1073741789, 3))
  712. assert_equal(Rational(9, 2147483578),
  713. Rational(3, 2) / Rational(1073741789, 3))
  714. assert_equal(Rational(3221225487, 2147483654),
  715. Rational(3, 2) + Rational(3, 1073741827))
  716. assert_equal(Rational(3221225475, 2147483654),
  717. Rational(3, 2) - Rational(3, 1073741827))
  718. assert_equal(Rational(9, 2147483654),
  719. Rational(3, 2) * Rational(3, 1073741827))
  720. assert_equal(Rational(1073741827, 2),
  721. Rational(3, 2) / Rational(3, 1073741827))
  722. assert_equal(Rational(2147483663, 6),
  723. Rational(3, 2) + Rational(1073741827, 3))
  724. assert_equal(Rational(-2147483645, 6),
  725. Rational(3, 2) - Rational(1073741827, 3))
  726. assert_equal(Rational(1073741827, 2),
  727. Rational(3, 2) * Rational(1073741827, 3))
  728. assert_equal(Rational(9, 2147483654),
  729. Rational(3, 2) / Rational(1073741827, 3))
  730. assert_equal(Rational(5368709059, 2147483654),
  731. Rational(3, 2) + Rational(1073741789, 1073741827))
  732. assert_equal(Rational(1073741903, 2147483654),
  733. Rational(3, 2) - Rational(1073741789, 1073741827))
  734. assert_equal(Rational(3221225367, 2147483654),
  735. Rational(3, 2) * Rational(1073741789, 1073741827))
  736. assert_equal(Rational(3221225481, 2147483578),
  737. Rational(3, 2) / Rational(1073741789, 1073741827))
  738. assert_equal(Rational(5368709021, 2147483578),
  739. Rational(3, 2) + Rational(1073741827, 1073741789))
  740. assert_equal(Rational(1073741713, 2147483578),
  741. Rational(3, 2) - Rational(1073741827, 1073741789))
  742. assert_equal(Rational(3221225481, 2147483578),
  743. Rational(3, 2) * Rational(1073741827, 1073741789))
  744. assert_equal(Rational(3221225367, 2147483654),
  745. Rational(3, 2) / Rational(1073741827, 1073741789))
  746. assert_equal(Rational(3, 1073741789), +Rational(3, 1073741789))
  747. assert_equal(Rational(-3, 1073741789), -Rational(3, 1073741789))
  748. assert_equal(Rational(1073741792, 1073741789),
  749. Rational(3, 1073741789) + Rational(1, 1))
  750. assert_equal(Rational(-1073741786, 1073741789),
  751. Rational(3, 1073741789) - Rational(1, 1))
  752. assert_equal(Rational(3, 1073741789),
  753. Rational(3, 1073741789) * Rational(1, 1))
  754. assert_equal(Rational(3, 1073741789),
  755. Rational(3, 1073741789) / Rational(1, 1))
  756. assert_equal(Rational(2147483581, 1073741789),
  757. Rational(3, 1073741789) + Rational(2, 1))
  758. assert_equal(Rational(-2147483575, 1073741789),
  759. Rational(3, 1073741789) - Rational(2, 1))
  760. assert_equal(Rational(6, 1073741789),
  761. Rational(3, 1073741789) * Rational(2, 1))
  762. assert_equal(Rational(3, 2147483578),
  763. Rational(3, 1073741789) / Rational(2, 1))
  764. assert_equal(Rational(3221225370, 1073741789),
  765. Rational(3, 1073741789) + Rational(3, 1))
  766. assert_equal(Rational(-3221225364, 1073741789),
  767. Rational(3, 1073741789) - Rational(3, 1))
  768. assert_equal(Rational(9, 1073741789),
  769. Rational(3, 1073741789) * Rational(3, 1))
  770. assert_equal(Rational(1, 1073741789),
  771. Rational(3, 1073741789) / Rational(3, 1))
  772. assert_equal(Rational(1152921429444920524, 1073741789),
  773. Rational(3, 1073741789) + Rational(1073741789, 1))
  774. assert_equal(Rational(-1152921429444920518, 1073741789),
  775. Rational(3, 1073741789) - Rational(1073741789, 1))
  776. assert_equal(Rational(3, 1),
  777. Rational(3, 1073741789) * Rational(1073741789, 1))
  778. assert_equal(Rational(3, 1152921429444920521),
  779. Rational(3, 1073741789) / Rational(1073741789, 1))
  780. assert_equal(Rational(1152921470247108506, 1073741789),
  781. Rational(3, 1073741789) + Rational(1073741827, 1))
  782. assert_equal(Rational(-1152921470247108500, 1073741789),
  783. Rational(3, 1073741789) - Rational(1073741827, 1))
  784. assert_equal(Rational(3221225481, 1073741789),
  785. Rational(3, 1073741789) * Rational(1073741827, 1))
  786. assert_equal(Rational(3, 1152921470247108503),
  787. Rational(3, 1073741789) / Rational(1073741827, 1))
  788. assert_equal(Rational(2147483587, 3221225367),
  789. Rational(3, 1073741789) + Rational(2, 3))
  790. assert_equal(Rational(-2147483569, 3221225367),
  791. Rational(3, 1073741789) - Rational(2, 3))
  792. assert_equal(Rational(2, 1073741789),
  793. Rational(3, 1073741789) * Rational(2, 3))
  794. assert_equal(Rational(9, 2147483578),
  795. Rational(3, 1073741789) / Rational(2, 3))
  796. assert_equal(Rational(3221225373, 2147483578),
  797. Rational(3, 1073741789) + Rational(3, 2))
  798. assert_equal(Rational(-3221225361, 2147483578),
  799. Rational(3, 1073741789) - Rational(3, 2))
  800. assert_equal(Rational(9, 2147483578),
  801. Rational(3, 1073741789) * Rational(3, 2))
  802. assert_equal(Rational(2, 1073741789),
  803. Rational(3, 1073741789) / Rational(3, 2))
  804. assert_equal(Rational(6, 1073741789),
  805. Rational(3, 1073741789) + Rational(3, 1073741789))
  806. assert_equal(Rational(0, 1),
  807. Rational(3, 1073741789) - Rational(3, 1073741789))
  808. assert_equal(Rational(9, 1152921429444920521),
  809. Rational(3, 1073741789) * Rational(3, 1073741789))
  810. assert_equal(Rational(1, 1),
  811. Rational(3, 1073741789) / Rational(3, 1073741789))
  812. assert_equal(Rational(1152921429444920530, 3221225367),
  813. Rational(3, 1073741789) + Rational(1073741789, 3))
  814. assert_equal(Rational(-1152921429444920512, 3221225367),
  815. Rational(3, 1073741789) - Rational(1073741789, 3))
  816. assert_equal(Rational(1, 1),
  817. Rational(3, 1073741789) * Rational(1073741789, 3))
  818. assert_equal(Rational(9, 1152921429444920521),
  819. Rational(3, 1073741789) / Rational(1073741789, 3))
  820. assert_equal(Rational(6442450848, 1152921470247108503),
  821. Rational(3, 1073741789) + Rational(3, 1073741827))
  822. assert_equal(Rational(114, 1152921470247108503),
  823. Rational(3, 1073741789) - Rational(3, 1073741827))
  824. assert_equal(Rational(9, 1152921470247108503),
  825. Rational(3, 1073741789) * Rational(3, 1073741827))
  826. assert_equal(Rational(1073741827, 1073741789),
  827. Rational(3, 1073741789) / Rational(3, 1073741827))
  828. assert_equal(Rational(1152921470247108512, 3221225367),
  829. Rational(3, 1073741789) + Rational(1073741827, 3))
  830. assert_equal(Rational(-1152921470247108494, 3221225367),
  831. Rational(3, 1073741789) - Rational(1073741827, 3))
  832. assert_equal(Rational(1073741827, 1073741789),
  833. Rational(3, 1073741789) * Rational(1073741827, 3))
  834. assert_equal(Rational(9, 1152921470247108503),
  835. Rational(3, 1073741789) / Rational(1073741827, 3))
  836. assert_equal(Rational(1152921432666146002, 1152921470247108503),
  837. Rational(3, 1073741789) + Rational(1073741789, 1073741827))
  838. assert_equal(Rational(-1152921426223695040, 1152921470247108503),
  839. Rational(3, 1073741789) - Rational(1073741789, 1073741827))
  840. assert_equal(Rational(3, 1073741827),
  841. Rational(3, 1073741789) * Rational(1073741789, 1073741827))
  842. assert_equal(Rational(3221225481, 1152921429444920521),
  843. Rational(3, 1073741789) / Rational(1073741789, 1073741827))
  844. assert_equal(Rational(1073741830, 1073741789),
  845. Rational(3, 1073741789) + Rational(1073741827, 1073741789))
  846. assert_equal(Rational(-1073741824, 1073741789),
  847. Rational(3, 1073741789) - Rational(1073741827, 1073741789))
  848. assert_equal(Rational(3221225481, 1152921429444920521),
  849. Rational(3, 1073741789) * Rational(1073741827, 1073741789))
  850. assert_equal(Rational(3, 1073741827),
  851. Rational(3, 1073741789) / Rational(1073741827, 1073741789))
  852. assert_equal(Rational(1073741789, 3), +Rational(1073741789, 3))
  853. assert_equal(Rational(-1073741789, 3), -Rational(1073741789, 3))
  854. assert_equal(Rational(1073741792, 3),
  855. Rational(1073741789, 3) + Rational(1, 1))
  856. assert_equal(Rational(1073741786, 3),
  857. Rational(1073741789, 3) - Rational(1, 1))
  858. assert_equal(Rational(1073741789, 3),
  859. Rational(1073741789, 3) * Rational(1, 1))
  860. assert_equal(Rational(1073741789, 3),
  861. Rational(1073741789, 3) / Rational(1, 1))
  862. assert_equal(Rational(1073741795, 3),
  863. Rational(1073741789, 3) + Rational(2, 1))
  864. assert_equal(Rational(1073741783, 3),
  865. Rational(1073741789, 3) - Rational(2, 1))
  866. assert_equal(Rational(2147483578, 3),
  867. Rational(1073741789, 3) * Rational(2, 1))
  868. assert_equal(Rational(1073741789, 6),
  869. Rational(1073741789, 3) / Rational(2, 1))
  870. assert_equal(Rational(1073741798, 3),
  871. Rational(1073741789, 3) + Rational(3, 1))
  872. assert_equal(Rational(1073741780, 3),
  873. Rational(1073741789, 3) - Rational(3, 1))
  874. assert_equal(Rational(1073741789, 1),
  875. Rational(1073741789, 3) * Rational(3, 1))
  876. assert_equal(Rational(1073741789, 9),
  877. Rational(1073741789, 3) / Rational(3, 1))
  878. assert_equal(Rational(4294967156, 3),
  879. Rational(1073741789, 3) + Rational(1073741789, 1))
  880. assert_equal(Rational(-2147483578, 3),
  881. Rational(1073741789, 3) - Rational(1073741789, 1))
  882. assert_equal(Rational(1152921429444920521, 3),
  883. Rational(1073741789, 3) * Rational(1073741789, 1))
  884. assert_equal(Rational(1, 3),
  885. Rational(1073741789, 3) / Rational(1073741789, 1))
  886. assert_equal(Rational(4294967270, 3),
  887. Rational(1073741789, 3) + Rational(1073741827, 1))
  888. assert_equal(Rational(-2147483692, 3),
  889. Rational(1073741789, 3) - Rational(1073741827, 1))
  890. assert_equal(Rational(1152921470247108503, 3),
  891. Rational(1073741789, 3) * Rational(1073741827, 1))
  892. assert_equal(Rational(1073741789, 3221225481),
  893. Rational(1073741789, 3) / Rational(1073741827, 1))
  894. assert_equal(Rational(1073741791, 3),
  895. Rational(1073741789, 3) + Rational(2, 3))
  896. assert_equal(Rational(357913929, 1),
  897. Rational(1073741789, 3) - Rational(2, 3))
  898. assert_equal(Rational(2147483578, 9),
  899. Rational(1073741789, 3) * Rational(2, 3))
  900. assert_equal(Rational(1073741789, 2),
  901. Rational(1073741789, 3) / Rational(2, 3))
  902. assert_equal(Rational(2147483587, 6),
  903. Rational(1073741789, 3) + Rational(3, 2))
  904. assert_equal(Rational(2147483569, 6),
  905. Rational(1073741789, 3) - Rational(3, 2))
  906. assert_equal(Rational(1073741789, 2),
  907. Rational(1073741789, 3) * Rational(3, 2))
  908. assert_equal(Rational(2147483578, 9),
  909. Rational(1073741789, 3) / Rational(3, 2))
  910. assert_equal(Rational(1152921429444920530, 3221225367),
  911. Rational(1073741789, 3) + Rational(3, 1073741789))
  912. assert_equal(Rational(1152921429444920512, 3221225367),
  913. Rational(1073741789, 3) - Rational(3, 1073741789))
  914. assert_equal(Rational(1, 1),
  915. Rational(1073741789, 3) * Rational(3, 1073741789))
  916. assert_equal(Rational(1152921429444920521, 9),
  917. Rational(1073741789, 3) / Rational(3, 1073741789))
  918. assert_equal(Rational(2147483578, 3),
  919. Rational(1073741789, 3) + Rational(1073741789, 3))
  920. assert_equal(Rational(0, 1),
  921. Rational(1073741789, 3) - Rational(1073741789, 3))
  922. assert_equal(Rational(1152921429444920521, 9),
  923. Rational(1073741789, 3) * Rational(1073741789, 3))
  924. assert_equal(Rational(1, 1),
  925. Rational(1073741789, 3) / Rational(1073741789, 3))
  926. assert_equal(Rational(1152921470247108512, 3221225481),
  927. Rational(1073741789, 3) + Rational(3, 1073741827))
  928. assert_equal(Rational(1152921470247108494, 3221225481),
  929. Rational(1073741789, 3) - Rational(3, 1073741827))
  930. assert_equal(Rational(1073741789, 1073741827),
  931. Rational(1073741789, 3) * Rational(3, 1073741827))
  932. assert_equal(Rational(1152921470247108503, 9),
  933. Rational(1073741789, 3) / Rational(3, 1073741827))
  934. assert_equal(Rational(715827872, 1),
  935. Rational(1073741789, 3) + Rational(1073741827, 3))
  936. assert_equal(Rational(-38, 3),
  937. Rational(1073741789, 3) - Rational(1073741827, 3))
  938. assert_equal(Rational(1152921470247108503, 9),
  939. Rational(1073741789, 3) * Rational(1073741827, 3))
  940. assert_equal(Rational(1073741789, 1073741827),
  941. Rational(1073741789, 3) / Rational(1073741827, 3))
  942. assert_equal(Rational(1152921473468333870, 3221225481),
  943. Rational(1073741789, 3) + Rational(1073741789, 1073741827))
  944. assert_equal(Rational(1152921467025883136, 3221225481),
  945. Rational(1073741789, 3) - Rational(1073741789, 1073741827))
  946. assert_equal(Rational(1152921429444920521, 3221225481),
  947. Rational(1073741789, 3) * Rational(1073741789, 1073741827))
  948. assert_equal(Rational(1073741827, 3),
  949. Rational(1073741789, 3) / Rational(1073741789, 1073741827))
  950. assert_equal(Rational(1152921432666146002, 3221225367),
  951. Rational(1073741789, 3) + Rational(1073741827, 1073741789))
  952. assert_equal(Rational(1152921426223695040, 3221225367),
  953. Rational(1073741789, 3) - Rational(1073741827, 1073741789))
  954. assert_equal(Rational(1073741827, 3),
  955. Rational(1073741789, 3) * Rational(1073741827, 1073741789))
  956. assert_equal(Rational(1152921429444920521, 3221225481),
  957. Rational(107374178