Get the name of a number, even if it's stupidly big.
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.

130 linhas
4.3 KiB

  1. import getKiloName from './getLongKiloName'
  2. it('should exist', () => {
  3. expect(getKiloName).toBeDefined()
  4. })
  5. it('should be a callable', () => {
  6. expect(typeof getKiloName).toBe('function')
  7. })
  8. it('should accept 1 argument', () => {
  9. expect(getKiloName).toHaveLength(1)
  10. })
  11. test.each`
  12. thousandPower | name
  13. ${0} | ${''}
  14. ${1} | ${'thousand'}
  15. ${2} | ${'million'}
  16. ${3} | ${'thousand million'}
  17. ${4} | ${'billion'}
  18. ${5} | ${'thousand billion'}
  19. ${6} | ${'trillion'}
  20. ${7} | ${'thousand trillion'}
  21. ${8} | ${'quadrillion'}
  22. ${9} | ${'thousand quadrillion'}
  23. ${10} | ${'quintillion'}
  24. ${11} | ${'thousand quintillion'}
  25. ${12} | ${'sextillion'}
  26. ${13} | ${'thousand sextillion'}
  27. ${14} | ${'septillion'}
  28. ${15} | ${'thousand septillion'}
  29. ${16} | ${'octillion'}
  30. ${17} | ${'thousand octillion'}
  31. ${18} | ${'nonillion'}
  32. ${19} | ${'thousand nonillion'}
  33. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  34. expect(getKiloName(thousandPower)).toBe(name)
  35. })
  36. test.each`
  37. thousandPower | name
  38. ${20} | ${'decillion'}
  39. ${40} | ${'vigintillion'}
  40. ${60} | ${'trigintillion'}
  41. ${80} | ${'quadragintillion'}
  42. ${100} | ${'quinquagintillion'}
  43. ${120} | ${'sexagintillion'}
  44. ${140} | ${'septuagintillion'}
  45. ${160} | ${'octogintillion'}
  46. ${180} | ${'nonagintillion'}
  47. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  48. expect(getKiloName(thousandPower)).toBe(name)
  49. })
  50. test.each`
  51. thousandPower | name
  52. ${200} | ${'centillion'}
  53. ${400} | ${'duocentillion'}
  54. ${600} | ${'trecentillion'}
  55. ${800} | ${'quadringentillion'}
  56. ${1000} | ${'quingentillion'}
  57. ${1200} | ${'sescentillion'}
  58. ${1400} | ${'septingentillion'}
  59. ${1600} | ${'octingentillion'}
  60. ${1800} | ${'nongentillion'}
  61. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  62. expect(getKiloName(thousandPower)).toBe(name)
  63. })
  64. test.each`
  65. thousandPower | name
  66. ${2000} | ${'milliatillion'}
  67. ${4000} | ${'duomilliatillion'}
  68. ${6000} | ${'tremilliatillion'}
  69. ${8000} | ${'quattuormilliatillion'}
  70. ${10000} | ${'quinmilliatillion'}
  71. ${12000} | ${'sexmilliatillion'}
  72. ${14000} | ${'septenmilliatillion'}
  73. ${16000} | ${'octomilliatillion'}
  74. ${18000} | ${'novemmilliatillion'}
  75. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  76. expect(getKiloName(thousandPower)).toBe(name)
  77. })
  78. test.each`
  79. thousandPower | name
  80. ${20000} | ${'decmilliatillion'}
  81. ${40000} | ${'viginmilliatillion'}
  82. ${60000} | ${'triginmilliatillion'}
  83. ${80000} | ${'quadraginmilliatillion'}
  84. ${100000} | ${'quinquaginmilliatillion'}
  85. ${120000} | ${'sexaginmilliatillion'}
  86. ${140000} | ${'septuaginmilliatillion'}
  87. ${160000} | ${'octoginmilliatillion'}
  88. ${180000} | ${'nonaginmilliatillion'}
  89. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  90. expect(getKiloName(thousandPower)).toBe(name)
  91. })
  92. test.each`
  93. thousandPower | name
  94. ${200000} | ${'cenmilliatillion'}
  95. ${400000} | ${'duocenmilliatillion'}
  96. ${600000} | ${'trecenmilliatillion'}
  97. ${800000} | ${'quadringenmilliatillion'}
  98. ${1000000} | ${'quingenmilliatillion'}
  99. ${1200000} | ${'sescenmilliatillion'}
  100. ${1400000} | ${'septingenmilliatillion'}
  101. ${1600000} | ${'octingenmilliatillion'}
  102. ${1800000} | ${'nongenmilliatillion'}
  103. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  104. expect(getKiloName(thousandPower)).toBe(name)
  105. })
  106. test.each`
  107. thousandPower | name
  108. ${2000000} | ${'milliamilliatillion'}
  109. ${4000000} | ${'duomilliamilliatillion'}
  110. ${6000000} | ${'tremilliamilliatillion'}
  111. ${8000000} | ${'quattuormilliamilliatillion'}
  112. ${10000000} | ${'quinmilliamilliatillion'}
  113. ${12000000} | ${'sexmilliamilliatillion'}
  114. ${14000000} | ${'septenmilliamilliatillion'}
  115. ${16000000} | ${'octomilliamilliatillion'}
  116. ${18000000} | ${'novemmilliamilliatillion'}
  117. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  118. expect(getKiloName(thousandPower)).toBe(name)
  119. })