PageRenderTime 65ms CodeModel.GetById 32ms RepoModel.GetById 1ms app.codeStats 0ms

/watchdog/lib/watchdog/third-party/gems/gems/extensions-0.6.0/test/tc_numeric.rb

https://bitbucket.org/redricko/pragprog-scripting
Ruby | 440 lines | 400 code | 34 blank | 6 comment | 4 complexity | 73a7e9b000d5749e7324c684841f423d MD5 | raw file
  1. #---
  2. # Excerpted from "Everyday Scripting in Ruby"
  3. # We make no guarantees that this code is fit for any purpose.
  4. # Visit http://www.pragmaticprogrammer.com/titles/bmsft for more book information.
  5. #---
  6. require 'test/unit'
  7. require 'extensions/numeric'
  8. class TC_Numeric < Test::Unit::TestCase
  9. def test_even
  10. (-100..100).step(2) do |n|
  11. assert(n.even? == true)
  12. end
  13. (-101..101).step(2) do |n|
  14. assert(n.even? == false)
  15. end
  16. end
  17. def test_odd
  18. (-101..101).step(2) do |n|
  19. assert(n.odd? == true)
  20. end
  21. (-100..100).step(2) do |n|
  22. assert(n.odd? == false)
  23. end
  24. end
  25. end # class TC_Numeric
  26. # Part of Austin Ziegler's code; see copyright notice above.
  27. class TC_FormatNumber < Test::Unit::TestCase
  28. def test_integer
  29. assert_equal("1", 1.format_s(:us))
  30. assert_equal("12", 12.format_s(:us))
  31. assert_equal("123", 123.format_s(:us))
  32. assert_equal("1,234", 1234.format_s(:us))
  33. assert_equal("12,345", 12345.format_s(:us))
  34. assert_equal("123,456", 123456.format_s(:us))
  35. assert_equal("1,234,567", 1234567.format_s(:us))
  36. assert_equal("12,345,678", 12345678.format_s(:us))
  37. assert_equal("123,456,789", 123456789.format_s(:us))
  38. assert_equal("1,234,567,890", 1234567890.format_s(:us))
  39. assert_equal("1", 1.format_s)
  40. assert_equal("12", 12.format_s)
  41. assert_equal("123", 123.format_s)
  42. assert_equal("1,234", 1234.format_s)
  43. assert_equal("12,345", 12345.format_s)
  44. assert_equal("123,456", 123456.format_s)
  45. assert_equal("1,234,567", 1234567.format_s)
  46. assert_equal("12,345,678", 12345678.format_s)
  47. assert_equal("123,456,789", 123456789.format_s)
  48. assert_equal("1,234,567,890", 1234567890.format_s)
  49. end
  50. def test_usd_integer
  51. assert_equal("$1", 1.format_s(:usd))
  52. assert_equal("$12", 12.format_s(:usd))
  53. assert_equal("$123", 123.format_s(:usd))
  54. assert_equal("$1,234", 1234.format_s(:usd))
  55. assert_equal("$12,345", 12345.format_s(:usd))
  56. assert_equal("$123,456", 123456.format_s(:usd))
  57. assert_equal("$1,234,567", 1234567.format_s(:usd))
  58. assert_equal("$12,345,678", 12345678.format_s(:usd))
  59. assert_equal("$123,456,789", 123456789.format_s(:usd))
  60. assert_equal("$1,234,567,890", 1234567890.format_s(:usd))
  61. end
  62. def test_percent_integer
  63. assert_equal("1%", 1.format_s(:percent))
  64. assert_equal("12%", 12.format_s(:percent))
  65. assert_equal("123%", 123.format_s(:percent))
  66. assert_equal("1,234%", 1234.format_s(:percent))
  67. assert_equal("12,345%", 12345.format_s(:percent))
  68. assert_equal("123,456%", 123456.format_s(:percent))
  69. assert_equal("1,234,567%", 1234567.format_s(:percent))
  70. assert_equal("12,345,678%", 12345678.format_s(:percent))
  71. assert_equal("123,456,789%", 123456789.format_s(:percent))
  72. assert_equal("1,234,567,890%", 1234567890.format_s(:percent))
  73. end
  74. def test_euro_integer
  75. assert_equal("€1", 1.format_s(:euro))
  76. assert_equal("€12", 12.format_s(:euro))
  77. assert_equal("€123", 123.format_s(:euro))
  78. assert_equal("€1 234", 1234.format_s(:euro))
  79. assert_equal("€12 345", 12345.format_s(:euro))
  80. assert_equal("€123 456", 123456.format_s(:euro))
  81. assert_equal("€1 234 567", 1234567.format_s(:euro))
  82. assert_equal("€12 345 678", 12345678.format_s(:euro))
  83. assert_equal("€123 456 789", 123456789.format_s(:euro))
  84. assert_equal("€1 234 567 890", 1234567890.format_s(:euro))
  85. end
  86. def test_negative_integer
  87. assert_equal("-1", -1.format_s(:us))
  88. assert_equal("-12", -12.format_s(:us))
  89. assert_equal("-123", -123.format_s(:us))
  90. assert_equal("-1,234", -1234.format_s(:us))
  91. assert_equal("-12,345", -12345.format_s(:us))
  92. assert_equal("-123,456", -123456.format_s(:us))
  93. assert_equal("-1,234,567", -1234567.format_s(:us))
  94. assert_equal("-12,345,678", -12345678.format_s(:us))
  95. assert_equal("-123,456,789", -123456789.format_s(:us))
  96. assert_equal("-1,234,567,890", -1234567890.format_s(:us))
  97. assert_equal("-1", -1.format_s)
  98. assert_equal("-12", -12.format_s)
  99. assert_equal("-123", -123.format_s)
  100. assert_equal("-1,234", -1234.format_s)
  101. assert_equal("-12,345", -12345.format_s)
  102. assert_equal("-123,456", -123456.format_s)
  103. assert_equal("-1,234,567", -1234567.format_s)
  104. assert_equal("-12,345,678", -12345678.format_s)
  105. assert_equal("-123,456,789", -123456789.format_s)
  106. assert_equal("-1,234,567,890", -1234567890.format_s)
  107. end
  108. def test_negative_usd_integer
  109. assert_equal("$-1", -1.format_s(:usd))
  110. assert_equal("$-12", -12.format_s(:usd))
  111. assert_equal("$-123", -123.format_s(:usd))
  112. assert_equal("$-1,234", -1234.format_s(:usd))
  113. assert_equal("$-12,345", -12345.format_s(:usd))
  114. assert_equal("$-123,456", -123456.format_s(:usd))
  115. assert_equal("$-1,234,567", -1234567.format_s(:usd))
  116. assert_equal("$-12,345,678", -12345678.format_s(:usd))
  117. assert_equal("$-123,456,789", -123456789.format_s(:usd))
  118. assert_equal("$-1,234,567,890", -1234567890.format_s(:usd))
  119. end
  120. def test_negative_percent_integer
  121. assert_equal("-1%", -1.format_s(:percent))
  122. assert_equal("-12%", -12.format_s(:percent))
  123. assert_equal("-123%", -123.format_s(:percent))
  124. assert_equal("-1,234%", -1234.format_s(:percent))
  125. assert_equal("-12,345%", -12345.format_s(:percent))
  126. assert_equal("-123,456%", -123456.format_s(:percent))
  127. assert_equal("-1,234,567%", -1234567.format_s(:percent))
  128. assert_equal("-12,345,678%", -12345678.format_s(:percent))
  129. assert_equal("-123,456,789%", -123456789.format_s(:percent))
  130. assert_equal("-1,234,567,890%", -1234567890.format_s(:percent))
  131. end
  132. def test_negative_euro_integer
  133. assert_equal("€-1", -1.format_s(:euro))
  134. assert_equal("€-12", -12.format_s(:euro))
  135. assert_equal("€-123", -123.format_s(:euro))
  136. assert_equal("€-1 234", -1234.format_s(:euro))
  137. assert_equal("€-12 345", -12345.format_s(:euro))
  138. assert_equal("€-123 456", -123456.format_s(:euro))
  139. assert_equal("€-1 234 567", -1234567.format_s(:euro))
  140. assert_equal("€-12 345 678", -12345678.format_s(:euro))
  141. assert_equal("€-123 456 789", -123456789.format_s(:euro))
  142. assert_equal("€-1 234 567 890", -1234567890.format_s(:euro))
  143. end
  144. def test_spaces
  145. assert_equal("1", 1.format_s(:us, :sep => " "))
  146. assert_equal("12", 12.format_s(:us, :sep => " "))
  147. assert_equal("123", 123.format_s(:us, :sep => " "))
  148. assert_equal("1 234", 1234.format_s(:us, :sep => " "))
  149. assert_equal("12 345", 12345.format_s(:us, :sep => " "))
  150. assert_equal("123 456", 123456.format_s(:us, :sep => " "))
  151. assert_equal("1 234 567", 1234567.format_s(:us, :sep => " "))
  152. assert_equal("12 345 678", 12345678.format_s(:us, :sep => " "))
  153. assert_equal("123 456 789", 123456789.format_s(:us, :sep => " "))
  154. assert_equal("1 234 567 890", 1234567890.format_s(:us, :sep => " "))
  155. end
  156. def test_negative_spaces
  157. assert_equal("-1", -1.format_s(:us, :sep => " "))
  158. assert_equal("-12", -12.format_s(:us, :sep => " "))
  159. assert_equal("-123", -123.format_s(:us, :sep => " "))
  160. assert_equal("-1 234", -1234.format_s(:us, :sep => " "))
  161. assert_equal("-12 345", -12345.format_s(:us, :sep => " "))
  162. assert_equal("-123 456", -123456.format_s(:us, :sep => " "))
  163. assert_equal("-1 234 567", -1234567.format_s(:us, :sep => " "))
  164. assert_equal("-12 345 678", -12345678.format_s(:us, :sep => " "))
  165. assert_equal("-123 456 789", -123456789.format_s(:us, :sep => " "))
  166. assert_equal("-1 234 567 890", -1234567890.format_s(:us, :sep => " "))
  167. end
  168. def test_size
  169. assert_equal("1", 1.format_s(:us, :size => 2))
  170. assert_equal("12", 12.format_s(:us, :size => 2))
  171. assert_equal("1,23", 123.format_s(:us, :size => 2))
  172. assert_equal("12,34", 1234.format_s(:us, :size => 2))
  173. assert_equal("1,23,45", 12345.format_s(:us, :size => 2))
  174. assert_equal("12,34,56", 123456.format_s(:us, :size => 2))
  175. assert_equal("1,23,45,67", 1234567.format_s(:us, :size => 2))
  176. assert_equal("12,34,56,78", 12345678.format_s(:us, :size => 2))
  177. assert_equal("1,23,45,67,89", 123456789.format_s(:us, :size => 2))
  178. assert_equal("12,34,56,78,90", 1234567890.format_s(:us, :size => 2))
  179. end
  180. def test_negative_size
  181. assert_equal("-1", -1.format_s(:us, :size => 2))
  182. assert_equal("-12", -12.format_s(:us, :size => 2))
  183. assert_equal("-1,23", -123.format_s(:us, :size => 2))
  184. assert_equal("-12,34", -1234.format_s(:us, :size => 2))
  185. assert_equal("-1,23,45", -12345.format_s(:us, :size => 2))
  186. assert_equal("-12,34,56", -123456.format_s(:us, :size => 2))
  187. assert_equal("-1,23,45,67", -1234567.format_s(:us, :size => 2))
  188. assert_equal("-12,34,56,78", -12345678.format_s(:us, :size => 2))
  189. assert_equal("-1,23,45,67,89", -123456789.format_s(:us, :size => 2))
  190. assert_equal("-12,34,56,78,90", -1234567890.format_s(:us, :size => 2))
  191. end
  192. def test_usd_decimal
  193. assert_equal("$1.1", 1.1.format_s(:usd))
  194. assert_equal("$12.12", 12.12.format_s(:usd))
  195. assert_equal("$123.123", 123.123.format_s(:usd))
  196. assert_equal("$1,234.1234", 1234.1234.format_s(:usd))
  197. assert_equal("$12,345.12345", 12345.12345.format_s(:usd))
  198. assert_equal("$123,456.123456", 123456.123456.format_s(:usd))
  199. assert_equal("$1,234,567.1234567", 1234567.1234567.format_s(:usd))
  200. assert_equal("$12,345,678.1234568", 12345678.12345678.format_s(:usd))
  201. assert_equal("$123,456,789.123457", 123456789.123456789.format_s(:usd))
  202. assert_equal("$1,234,567,890.01235", 1234567890.0123456789.format_s(:usd))
  203. end
  204. def test_percent_decimal
  205. assert_equal("1.1%", 1.1.format_s(:percent))
  206. assert_equal("12.12%", 12.12.format_s(:percent))
  207. assert_equal("123.123%", 123.123.format_s(:percent))
  208. assert_equal("1,234.1234%", 1234.1234.format_s(:percent))
  209. assert_equal("12,345.12345%", 12345.12345.format_s(:percent))
  210. assert_equal("123,456.123456%", 123456.123456.format_s(:percent))
  211. assert_equal("1,234,567.1234567%", 1234567.1234567.format_s(:percent))
  212. assert_equal("12,345,678.1234568%", 12345678.12345678.format_s(:percent))
  213. assert_equal("123,456,789.123457%", 123456789.123456789.format_s(:percent))
  214. assert_equal("1,234,567,890.01235%", 1234567890.0123456789.format_s(:percent))
  215. end
  216. def test_euro_decimal
  217. assert_equal("€1,1", 1.1.format_s(:euro))
  218. assert_equal("€12,12", 12.12.format_s(:euro))
  219. assert_equal("€123,123", 123.123.format_s(:euro))
  220. assert_equal("€1 234,1234", 1234.1234.format_s(:euro))
  221. assert_equal("€12 345,12345", 12345.12345.format_s(:euro))
  222. assert_equal("€123 456,123456", 123456.123456.format_s(:euro))
  223. assert_equal("€1 234 567,1234567", 1234567.1234567.format_s(:euro))
  224. assert_equal("€12 345 678,1234568", 12345678.12345678.format_s(:euro))
  225. assert_equal("€123 456 789,123457", 123456789.123456789.format_s(:euro))
  226. assert_equal("€1 234 567 890,01235", 1234567890.0123456789.format_s(:euro))
  227. end
  228. def test_decimal
  229. assert_equal("1.1", 1.1.format_s(:us))
  230. assert_equal("12.12", 12.12.format_s(:us))
  231. assert_equal("123.123", 123.123.format_s(:us))
  232. assert_equal("1,234.1234", 1234.1234.format_s(:us))
  233. assert_equal("12,345.12345", 12345.12345.format_s(:us))
  234. assert_equal("123,456.123456", 123456.123456.format_s(:us))
  235. assert_equal("1,234,567.1234567", 1234567.1234567.format_s(:us))
  236. assert_equal("12,345,678.1234568", 12345678.12345678.format_s(:us))
  237. assert_equal("123,456,789.123457", 123456789.123456789.format_s(:us))
  238. assert_equal("1,234,567,890.01235", 1234567890.0123456789.format_s(:us))
  239. assert_equal("1.1", 1.1.format_s)
  240. assert_equal("12.12", 12.12.format_s)
  241. assert_equal("123.123", 123.123.format_s)
  242. assert_equal("1,234.1234", 1234.1234.format_s)
  243. assert_equal("12,345.12345", 12345.12345.format_s)
  244. assert_equal("123,456.123456", 123456.123456.format_s)
  245. assert_equal("1,234,567.1234567", 1234567.1234567.format_s)
  246. assert_equal("12,345,678.1234568", 12345678.12345678.format_s)
  247. assert_equal("123,456,789.123457", 123456789.123456789.format_s)
  248. assert_equal("1,234,567,890.01235", 1234567890.0123456789.format_s)
  249. end
  250. def test_negative_decimal
  251. assert_equal("-1.1", -1.1.format_s(:us))
  252. assert_equal("-12.12", -12.12.format_s(:us))
  253. assert_equal("-123.123", -123.123.format_s(:us))
  254. assert_equal("-1,234.1234", -1234.1234.format_s(:us))
  255. assert_equal("-12,345.12345", -12345.12345.format_s(:us))
  256. assert_equal("-123,456.123456", -123456.123456.format_s(:us))
  257. assert_equal("-1,234,567.1234567", -1234567.1234567.format_s(:us))
  258. assert_equal("-12,345,678.1234568", -12345678.12345678.format_s(:us))
  259. assert_equal("-123,456,789.123457", -123456789.123456789.format_s(:us))
  260. assert_equal("-1,234,567,890.01235", -1234567890.0123456789.format_s(:us))
  261. end
  262. def test_negative_usd_decimal
  263. assert_equal("$-1.1", -1.1.format_s(:usd))
  264. assert_equal("$-12.12", -12.12.format_s(:usd))
  265. assert_equal("$-123.123", -123.123.format_s(:usd))
  266. assert_equal("$-1,234.1234", -1234.1234.format_s(:usd))
  267. assert_equal("$-12,345.12345", -12345.12345.format_s(:usd))
  268. assert_equal("$-123,456.123456", -123456.123456.format_s(:usd))
  269. assert_equal("$-1,234,567.1234567", -1234567.1234567.format_s(:usd))
  270. assert_equal("$-12,345,678.1234568", -12345678.12345678.format_s(:usd))
  271. assert_equal("$-123,456,789.123457", -123456789.123456789.format_s(:usd))
  272. assert_equal("$-1,234,567,890.01235", -1234567890.0123456789.format_s(:usd))
  273. end
  274. def test_negative_percent_decimal
  275. assert_equal("-1.1%", -1.1.format_s(:percent))
  276. assert_equal("-12.12%", -12.12.format_s(:percent))
  277. assert_equal("-123.123%", -123.123.format_s(:percent))
  278. assert_equal("-1,234.1234%", -1234.1234.format_s(:percent))
  279. assert_equal("-12,345.12345%", -12345.12345.format_s(:percent))
  280. assert_equal("-123,456.123456%", -123456.123456.format_s(:percent))
  281. assert_equal("-1,234,567.1234567%", -1234567.1234567.format_s(:percent))
  282. assert_equal("-12,345,678.1234568%", -12345678.12345678.format_s(:percent))
  283. assert_equal("-123,456,789.123457%", -123456789.123456789.format_s(:percent))
  284. assert_equal("-1,234,567,890.01235%", -1234567890.0123456789.format_s(:percent))
  285. end
  286. def test_negative_euro_decimal
  287. assert_equal("€-1,1", -1.1.format_s(:euro))
  288. assert_equal("€-12,12", -12.12.format_s(:euro))
  289. assert_equal("€-123,123", -123.123.format_s(:euro))
  290. assert_equal("€-1 234,1234", -1234.1234.format_s(:euro))
  291. assert_equal("€-12 345,12345", -12345.12345.format_s(:euro))
  292. assert_equal("€-123 456,123456", -123456.123456.format_s(:euro))
  293. assert_equal("€-1 234 567,1234567", -1234567.1234567.format_s(:euro))
  294. assert_equal("€-12 345 678,1234568", -12345678.12345678.format_s(:euro))
  295. assert_equal("€-123 456 789,123457", -123456789.123456789.format_s(:euro))
  296. assert_equal("€-1 234 567 890,01235", -1234567890.0123456789.format_s(:euro))
  297. end
  298. def test_european
  299. assert_equal("1,1", 1.1.format_s(:eu))
  300. assert_equal("12,12", 12.12.format_s(:eu))
  301. assert_equal("123,123", 123.123.format_s(:eu))
  302. assert_equal("1 234,1234", 1234.1234.format_s(:eu))
  303. assert_equal("12 345,12345", 12345.12345.format_s(:eu))
  304. assert_equal("123 456,123456", 123456.123456.format_s(:eu))
  305. assert_equal("1 234 567,1234567", 1234567.1234567.format_s(:eu))
  306. assert_equal("12 345 678,1234568", 12345678.12345678.format_s(:eu))
  307. assert_equal("123 456 789,123457", 123456789.123456789.format_s(:eu))
  308. assert_equal("1 234 567 890,01235", 1234567890.0123456789.format_s(:eu))
  309. end
  310. def test_negative_european
  311. assert_equal("-1,1", -1.1.format_s(:eu))
  312. assert_equal("-12,12", -12.12.format_s(:eu))
  313. assert_equal("-123,123", -123.123.format_s(:eu))
  314. assert_equal("-1 234,1234", -1234.1234.format_s(:eu))
  315. assert_equal("-12 345,12345", -12345.12345.format_s(:eu))
  316. assert_equal("-123 456,123456", -123456.123456.format_s(:eu))
  317. assert_equal("-1 234 567,1234567", -1234567.1234567.format_s(:eu))
  318. assert_equal("-12 345 678,1234568", -12345678.12345678.format_s(:eu))
  319. assert_equal("-123 456 789,123457", -123456789.123456789.format_s(:eu))
  320. assert_equal("-1 234 567 890,01235", -1234567890.0123456789.format_s(:eu))
  321. end
  322. def test_negative_accountant
  323. assert_equal("(1.1)", -1.1.format_s(:us, :acct => true))
  324. assert_equal("(12.12)", -12.12.format_s(:us, :acct => true))
  325. assert_equal("(123.123)", -123.123.format_s(:us, :acct => true))
  326. assert_equal("(1,234.1234)", -1234.1234.format_s(:us, :acct => true))
  327. assert_equal("(12,345.12345)", -12345.12345.format_s(:us, :acct => true))
  328. assert_equal("(123,456.123456)", -123456.123456.format_s(:us, :acct => true))
  329. assert_equal("(1,234,567.1234567)", -1234567.1234567.format_s(:us, :acct => true))
  330. assert_equal("(12,345,678.1234568)", -12345678.12345678.format_s(:us, :acct => true))
  331. assert_equal("(123,456,789.123457)", -123456789.123456789.format_s(:us, :acct => true))
  332. assert_equal("(1,234,567,890.01235)", -1234567890.0123456789.format_s(:us, :acct => true))
  333. end
  334. def test_negative_accountant_usd
  335. assert_equal("$(1.1)", -1.1.format_s(:usd, :acct => true))
  336. assert_equal("$(12.12)", -12.12.format_s(:usd, :acct => true))
  337. assert_equal("$(123.123)", -123.123.format_s(:usd, :acct => true))
  338. assert_equal("$(1,234.1234)", -1234.1234.format_s(:usd, :acct => true))
  339. assert_equal("$(12,345.12345)", -12345.12345.format_s(:usd, :acct => true))
  340. assert_equal("$(123,456.123456)", -123456.123456.format_s(:usd, :acct => true))
  341. assert_equal("$(1,234,567.1234567)", -1234567.1234567.format_s(:usd, :acct => true))
  342. assert_equal("$(12,345,678.1234568)", -12345678.12345678.format_s(:usd, :acct => true))
  343. assert_equal("$(123,456,789.123457)", -123456789.123456789.format_s(:usd, :acct => true))
  344. assert_equal("$(1,234,567,890.01235)", -1234567890.0123456789.format_s(:usd, :acct => true))
  345. end
  346. def test_negative_accountant_percent
  347. assert_equal("(1.1)%", -1.1.format_s(:percent, :acct => true))
  348. assert_equal("(12.12)%", -12.12.format_s(:percent, :acct => true))
  349. assert_equal("(123.123)%", -123.123.format_s(:percent, :acct => true))
  350. assert_equal("(1,234.1234)%", -1234.1234.format_s(:percent, :acct => true))
  351. assert_equal("(12,345.12345)%", -12345.12345.format_s(:percent, :acct => true))
  352. assert_equal("(123,456.123456)%", -123456.123456.format_s(:percent, :acct => true))
  353. assert_equal("(1,234,567.1234567)%", -1234567.1234567.format_s(:percent, :acct => true))
  354. assert_equal("(12,345,678.1234568)%", -12345678.12345678.format_s(:percent, :acct => true))
  355. assert_equal("(123,456,789.123457)%", -123456789.123456789.format_s(:percent, :acct => true))
  356. assert_equal("(1,234,567,890.01235)%", -1234567890.0123456789.format_s(:percent, :acct => true))
  357. end
  358. def test_negative_european_accountant_euro
  359. assert_equal("€(1,1)", -1.1.format_s(:euro, :acct => true))
  360. assert_equal("€(12,12)", -12.12.format_s(:euro, :acct => true))
  361. assert_equal("€(123,123)", -123.123.format_s(:euro, :acct => true))
  362. assert_equal("€(1 234,1234)", -1234.1234.format_s(:euro, :acct => true))
  363. assert_equal("€(12 345,12345)", -12345.12345.format_s(:euro, :acct => true))
  364. assert_equal("€(123 456,123456)", -123456.123456.format_s(:euro, :acct => true))
  365. assert_equal("€(1 234 567,1234567)", -1234567.1234567.format_s(:euro, :acct => true))
  366. assert_equal("€(12 345 678,1234568)", -12345678.12345678.format_s(:euro, :acct => true))
  367. assert_equal("€(123 456 789,123457)", -123456789.123456789.format_s(:euro, :acct => true))
  368. assert_equal("€(1 234 567 890,01235)", -1234567890.0123456789.format_s(:euro, :acct => true))
  369. end
  370. def test_negative_european_accountant
  371. assert_equal("(1,1)", -1.1.format_s(:eu, :acct => true))
  372. assert_equal("(12,12)", -12.12.format_s(:eu, :acct => true))
  373. assert_equal("(123,123)", -123.123.format_s(:eu, :acct => true))
  374. assert_equal("(1 234,1234)", -1234.1234.format_s(:eu, :acct => true))
  375. assert_equal("(12 345,12345)", -12345.12345.format_s(:eu, :acct => true))
  376. assert_equal("(123 456,123456)", -123456.123456.format_s(:eu, :acct => true))
  377. assert_equal("(1 234 567,1234567)", -1234567.1234567.format_s(:eu, :acct => true))
  378. assert_equal("(12 345 678,1234568)", -12345678.12345678.format_s(:eu, :acct => true))
  379. assert_equal("(123 456 789,123457)", -123456789.123456789.format_s(:eu, :acct => true))
  380. assert_equal("(1 234 567 890,01235)", -1234567890.0123456789.format_s(:eu, :acct => true))
  381. end
  382. def test_decimal_formatted
  383. assert_equal("1.1", 1.1.format_s(:us, :fd => true))
  384. assert_equal("12.12", 12.12.format_s(:us, :fd => true))
  385. assert_equal("123.123", 123.123.format_s(:us, :fd => true))
  386. assert_equal("1,234.123,4", 1234.1234.format_s(:us, :fd => true))
  387. assert_equal("12,345.123,45", 12345.12345.format_s(:us, :fd => true))
  388. assert_equal("123,456.123,456", 123456.123456.format_s(:us, :fd => true))
  389. assert_equal("1,234,567.123,456,7", 1234567.1234567.format_s(:us, :fd => true))
  390. assert_equal("12,345,678.123,456,8", 12345678.12345678.format_s(:us, :fd => true))
  391. assert_equal("123,456,789.123,457", 123456789.123456789.format_s(:us, :fd => true))
  392. assert_equal("1,234,567,890.012,35", 1234567890.0123456789.format_s(:us, :fd => true))
  393. end
  394. def test_negative_decimal_formatted
  395. assert_equal("-1.1", -1.1.format_s(:us, :fd => true))
  396. assert_equal("-12.12", -12.12.format_s(:us, :fd => true))
  397. assert_equal("-123.123", -123.123.format_s(:us, :fd => true))
  398. assert_equal("-1,234.123,4", -1234.1234.format_s(:us, :fd => true))
  399. assert_equal("-12,345.123,45", -12345.12345.format_s(:us, :fd => true))
  400. assert_equal("-123,456.123,456", -123456.123456.format_s(:us, :fd => true))
  401. assert_equal("-1,234,567.123,456,7", -1234567.1234567.format_s(:us, :fd => true))
  402. assert_equal("-12,345,678.123,456,8", -12345678.12345678.format_s(:us, :fd => true))
  403. assert_equal("-123,456,789.123,457", -123456789.123456789.format_s(:us, :fd => true))
  404. assert_equal("-1,234,567,890.012,35", -1234567890.0123456789.format_s(:us, :fd => true))
  405. end
  406. end # class TC_FormatNumber