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.

91 Zeilen
2.5 KiB

  1. import getKiloCount from './getKiloCount'
  2. it('should exist', () => {
  3. expect(getKiloCount).toBeDefined()
  4. })
  5. it('should be a callable', () => {
  6. expect(typeof getKiloCount).toBe('function')
  7. })
  8. it('should accept 3 arguments', () => {
  9. expect(getKiloCount).toHaveLength(3)
  10. })
  11. describe.each`
  12. hundreds | hundredsName
  13. ${1} | ${'one hundred'}
  14. ${2} | ${'two hundred'}
  15. ${3} | ${'three hundred'}
  16. ${4} | ${'four hundred'}
  17. ${5} | ${'five hundred'}
  18. ${6} | ${'six hundred'}
  19. ${7} | ${'seven hundred'}
  20. ${8} | ${'eight hundred'}
  21. ${9} | ${'nine hundred'}
  22. `('on $hundreds in hundreds place', ({ hundreds, hundredsName }) => {
  23. describe('on 0 in tens place', () => {
  24. test.each`
  25. ones | onesName
  26. ${0} | ${''}
  27. ${1} | ${' one'}
  28. ${2} | ${' two'}
  29. ${3} | ${' three'}
  30. ${4} | ${' four'}
  31. ${5} | ${' five'}
  32. ${6} | ${' six'}
  33. ${7} | ${' seven'}
  34. ${8} | ${' eight'}
  35. ${9} | ${' nine'}
  36. `(`should return "${hundredsName}$onesName" for ${hundreds}0$ones`, ({ ones, onesName }) => {
  37. expect(getKiloCount(hundreds, 0, ones)).toBe([hundredsName, onesName].join(''))
  38. })
  39. })
  40. describe('on 1 in tens place', () => {
  41. test.each`
  42. ones | tenPlusName
  43. ${0} | ${' ten'}
  44. ${1} | ${' eleven'}
  45. ${2} | ${' twelve'}
  46. ${3} | ${' thirteen'}
  47. ${4} | ${' fourteen'}
  48. ${5} | ${' fifteen'}
  49. ${6} | ${' sixteen'}
  50. ${7} | ${' seventeen'}
  51. ${8} | ${' eighteen'}
  52. ${9} | ${' nineteen'}
  53. `(`should return "${hundredsName}$tenPlusName" for ${hundreds}1$ones`, ({ ones, tenPlusName }) => {
  54. expect(getKiloCount(hundreds, 1, ones)).toBe([hundredsName, tenPlusName].join(''))
  55. })
  56. })
  57. describe.each`
  58. tens | tensName
  59. ${2} | ${' twenty'}
  60. ${3} | ${' thirty'}
  61. ${4} | ${' forty'}
  62. ${5} | ${' fifty'}
  63. ${6} | ${' sixty'}
  64. ${7} | ${' seventy'}
  65. ${8} | ${' eighty'}
  66. ${9} | ${' ninety'}
  67. `('on $tens in tens place', ({ tens, tensName }) => {
  68. test.each`
  69. ones | onesName
  70. ${0} | ${''}
  71. ${1} | ${' one'}
  72. ${2} | ${' two'}
  73. ${3} | ${' three'}
  74. ${4} | ${' four'}
  75. ${5} | ${' five'}
  76. ${6} | ${' six'}
  77. ${7} | ${' seven'}
  78. ${8} | ${' eight'}
  79. ${9} | ${' nine'}
  80. `(`should return "${hundredsName}${tensName}$onesName" for ${hundreds}${tens}$ones`, ({ ones, onesName }) => {
  81. expect(getKiloCount(hundreds, tens, ones)).toBe([hundredsName, tensName, onesName].join(''))
  82. })
  83. })
  84. })