Get the name of a number, even if it's stupidly big.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Dieses Repo ist archiviert. Du kannst Dateien sehen und es klonen, kannst aber nicht pushen oder Issues/Pull-Requests öffnen.

121 Zeilen
4.0 KiB

  1. import getShortKiloName from './getShortKiloName'
  2. it('should exist', () => {
  3. expect(getShortKiloName).toBeDefined()
  4. })
  5. it('should be a callable', () => {
  6. expect(typeof getShortKiloName).toBe('function')
  7. })
  8. it('should accept 1 argument', () => {
  9. expect(getShortKiloName).toHaveLength(1)
  10. })
  11. test.each`
  12. thousandPower | name
  13. ${0n} | ${''}
  14. ${1n} | ${'thousand'}
  15. ${2n} | ${'million'}
  16. ${3n} | ${'billion'}
  17. ${4n} | ${'trillion'}
  18. ${5n} | ${'quadrillion'}
  19. ${6n} | ${'quintillion'}
  20. ${7n} | ${'sextillion'}
  21. ${8n} | ${'septillion'}
  22. ${9n} | ${'octillion'}
  23. ${10n} | ${'nonillion'}
  24. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  25. expect(getShortKiloName(thousandPower)).toBe(name)
  26. })
  27. test.each`
  28. thousandPower | name
  29. ${11n} | ${'decillion'}
  30. ${21n} | ${'vigintillion'}
  31. ${31n} | ${'trigintillion'}
  32. ${41n} | ${'quadragintillion'}
  33. ${51n} | ${'quinquagintillion'}
  34. ${61n} | ${'sexagintillion'}
  35. ${71n} | ${'septuagintillion'}
  36. ${81n} | ${'octogintillion'}
  37. ${91n} | ${'nonagintillion'}
  38. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  39. expect(getShortKiloName(thousandPower)).toBe(name)
  40. })
  41. test.each`
  42. thousandPower | name
  43. ${101n} | ${'centillion'}
  44. ${201n} | ${'duocentillion'}
  45. ${301n} | ${'trecentillion'}
  46. ${401n} | ${'quadringentillion'}
  47. ${501n} | ${'quingentillion'}
  48. ${601n} | ${'sescentillion'}
  49. ${701n} | ${'septingentillion'}
  50. ${801n} | ${'octingentillion'}
  51. ${901n} | ${'nongentillion'}
  52. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  53. expect(getShortKiloName(thousandPower)).toBe(name)
  54. })
  55. test.each`
  56. thousandPower | name
  57. ${1001n} | ${'milliatillion'}
  58. ${2001n} | ${'duomilliatillion'}
  59. ${3001n} | ${'tremilliatillion'}
  60. ${4001n} | ${'quattuormilliatillion'}
  61. ${5001n} | ${'quinmilliatillion'}
  62. ${6001n} | ${'sexmilliatillion'}
  63. ${7001n} | ${'septenmilliatillion'}
  64. ${8001n} | ${'octomilliatillion'}
  65. ${9001n} | ${'novemmilliatillion'}
  66. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  67. expect(getShortKiloName(thousandPower)).toBe(name)
  68. })
  69. test.each`
  70. thousandPower | name
  71. ${10001n} | ${'decmilliatillion'}
  72. ${20001n} | ${'viginmilliatillion'}
  73. ${30001n} | ${'triginmilliatillion'}
  74. ${40001n} | ${'quadraginmilliatillion'}
  75. ${50001n} | ${'quinquaginmilliatillion'}
  76. ${60001n} | ${'sexaginmilliatillion'}
  77. ${70001n} | ${'septuaginmilliatillion'}
  78. ${80001n} | ${'octoginmilliatillion'}
  79. ${90001n} | ${'nonaginmilliatillion'}
  80. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  81. expect(getShortKiloName(thousandPower)).toBe(name)
  82. })
  83. test.each`
  84. thousandPower | name
  85. ${100001n} | ${'cenmilliatillion'}
  86. ${200001n} | ${'duocenmilliatillion'}
  87. ${300001n} | ${'trecenmilliatillion'}
  88. ${400001n} | ${'quadringenmilliatillion'}
  89. ${500001n} | ${'quingenmilliatillion'}
  90. ${600001n} | ${'sescenmilliatillion'}
  91. ${700001n} | ${'septingenmilliatillion'}
  92. ${800001n} | ${'octingenmilliatillion'}
  93. ${900001n} | ${'nongenmilliatillion'}
  94. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  95. expect(getShortKiloName(thousandPower)).toBe(name)
  96. })
  97. test.each`
  98. thousandPower | name
  99. ${1000001n} | ${'milliamilliatillion'}
  100. ${2000001n} | ${'duomilliamilliatillion'}
  101. ${3000001n} | ${'tremilliamilliatillion'}
  102. ${4000001n} | ${'quattuormilliamilliatillion'}
  103. ${5000001n} | ${'quinmilliamilliatillion'}
  104. ${6000001n} | ${'sexmilliamilliatillion'}
  105. ${7000001n} | ${'septenmilliamilliatillion'}
  106. ${8000001n} | ${'octomilliamilliatillion'}
  107. ${9000001n} | ${'novemmilliamilliatillion'}
  108. `('should return "$name" for 1000^$thousandPower', ({ name, thousandPower }) => {
  109. expect(getShortKiloName(thousandPower)).toBe(name)
  110. })