Get the name of a number, even if it's stupidly big.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Repozitorijs ir arhivēts. Tam var aplūkot failus un to var klonēt, bet nevar iesūtīt jaunas izmaiņas, kā arī atvērt jaunas problēmas/izmaiņu pieprasījumus.

130 rindas
4.4 KiB

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