|
- import combiningPrefix from './combiningPrefix'
-
- it('should exist', () => {
- expect(combiningPrefix).toBeDefined()
- })
-
- it('should be a callable', () => {
- expect(typeof combiningPrefix).toBe('function')
- })
-
- it('should accept a minimum of 3 arguments', () => {
- expect(combiningPrefix).toHaveLength(3)
- })
-
- describe('on 0 in hundreds place', () => {
- describe('on 0 in tens place', () => {
- test.each`
- value | display | name
- ${1} | ${'1'} | ${'mi'}
- ${2} | ${'2'} | ${'bi'}
- ${3} | ${'3'} | ${'tri'}
- ${4} | ${'4'} | ${'kuwadri'}
- ${5} | ${'5'} | ${'kuwinti'}
- ${6} | ${'6'} | ${'seksti'}
- ${7} | ${'7'} | ${'septi'}
- ${8} | ${'8'} | ${'okti'}
- ${9} | ${'9'} | ${'noni'}
- `('should return "$name" on $display', ({ value, name }) => {
- expect(combiningPrefix(0n, 0, value)).toBe(name)
- })
- })
-
- describe.each`
- tens | tensName
- ${1} | ${'desi'}
- ${2} | ${'bihinti'}
- ${3} | ${'trihinti'}
- ${4} | ${'kuwadrahinti'}
- ${5} | ${'kuwinkuwahinti'}
- ${6} | ${'seksahinti'}
- ${7} | ${'septuwahinti'}
- ${8} | ${'oktohinti'}
- ${9} | ${'nonahinti'}
- `('on $tens in tens place', ({ tens, tensName }) => {
- test.each`
- ones | display
- ${0} | ${tensName}
- ${1} | ${'un' + tensName}
- ${2} | ${'duwo' + tensName}
- ${3} | ${'tre' + tensName}
- ${4} | ${'kuwatuwor' + tensName}
- ${5} | ${'kuwin' + tensName}
- ${6} | ${'seks' + tensName}
- ${7} | ${'septen' + tensName}
- ${8} | ${'okto' + tensName}
- ${9} | ${'nobem' + tensName}
- `(`should return "$display" for ${tens}$ones`, ({ ones, display }) => {
- expect(combiningPrefix(0n, tens, ones)).toBe(display)
- })
- })
- })
-
- describe.each`
- hundreds | hundredsName
- ${1n} | ${'sen'}
- ${2n} | ${'duwosen'}
- ${3n} | ${'tresen'}
- ${4n} | ${'kuwadringhen'}
- ${5n} | ${'kuwinghen'}
- ${6n} | ${'sesen'}
- ${7n} | ${'septinghen'}
- ${8n} | ${'oktinghen'}
- ${9n} | ${'nonghen'}
- `('on $hundreds in hundreds place', ({ hundreds, hundredsName }) => {
- describe.each`
- tens | tensName
- ${0} | ${'ti'}
- ${1} | ${'desi'}
- ${2} | ${'bihinti'}
- ${3} | ${'trihinti'}
- ${4} | ${'kuwadrahinti'}
- ${5} | ${'kuwinkuwahinti'}
- ${6} | ${'seksahinti'}
- ${7} | ${'septuwahinti'}
- ${8} | ${'oktohinti'}
- ${9} | ${'nonahinti'}
- `('on $tens in tens place', ({ tens, tensName }) => {
- test.each`
- ones | display
- ${0} | ${hundredsName + tensName}
- ${1} | ${hundredsName + 'un' + tensName}
- ${2} | ${hundredsName + 'duwo' + tensName}
- ${3} | ${hundredsName + 'tre' + tensName}
- ${4} | ${hundredsName + 'kuwatuwor' + tensName}
- ${5} | ${hundredsName + 'kuwin' + tensName}
- ${6} | ${hundredsName + 'seks' + tensName}
- ${7} | ${hundredsName + 'septen' + tensName}
- ${8} | ${hundredsName + 'okto' + tensName}
- ${9} | ${hundredsName + 'nobem' + tensName}
- `(`should return "$display" for ${hundreds}${tens}$ones`, ({ ones, display }) => {
- expect(combiningPrefix(hundreds, tens, ones)).toBe(display)
- })
- })
- })
-
- describe.each`
- hundredThousands | hundredThousandsName
- ${1n} | ${'sen'}
- ${2n} | ${'duwosen'}
- ${3n} | ${'tresen'}
- ${4n} | ${'kuwadringhen'}
- ${5n} | ${'kuwinghen'}
- ${6n} | ${'sesen'}
- ${7n} | ${'septinghen'}
- ${8n} | ${'oktinghen'}
- ${9n} | ${'nonghen'}
- `('on $hundredThousands in hundred thousands place', ({ hundredThousands, hundredThousandsName }) => {
- describe.each`
- tenThousands | tenThousandsName
- ${0n} | ${''}
- ${1n} | ${'des'}
- ${2n} | ${'bihin'}
- ${3n} | ${'trihin'}
- ${4n} | ${'kuwadrahin'}
- ${5n} | ${'kuwinkuwahin'}
- ${6n} | ${'seksahin'}
- ${7n} | ${'septuwahin'}
- ${8n} | ${'oktohin'}
- ${9n} | ${'nonahin'}
- `('on $tenThousands in ten thousands place', ({ tenThousands, tenThousandsName }) => {
- test.each`
- thousands | display | name
- ${0n} | ${hundredThousands + '' + tenThousands + '0000'} | ${hundredThousandsName + tenThousandsName + 'milyati'}
- ${1000n} | ${hundredThousands + '' + tenThousands + '1000'} | ${hundredThousandsName + 'un' + tenThousandsName + 'milyati'}
- ${2000n} | ${hundredThousands + '' + tenThousands + '2000'} | ${hundredThousandsName + 'duwo' + tenThousandsName + 'milyati'}
- ${3000n} | ${hundredThousands + '' + tenThousands + '3000'} | ${hundredThousandsName + 'tre' + tenThousandsName + 'milyati'}
- ${4000n} | ${hundredThousands + '' + tenThousands + '4000'} | ${hundredThousandsName + 'kuwatuwor' + tenThousandsName + 'milyati'}
- ${5000n} | ${hundredThousands + '' + tenThousands + '5000'} | ${hundredThousandsName + 'kuwin' + tenThousandsName + 'milyati'}
- ${6000n} | ${hundredThousands + '' + tenThousands + '6000'} | ${hundredThousandsName + 'seks' + tenThousandsName + 'milyati'}
- ${7000n} | ${hundredThousands + '' + tenThousands + '7000'} | ${hundredThousandsName + 'septen' + tenThousandsName + 'milyati'}
- ${8000n} | ${hundredThousands + '' + tenThousands + '8000'} | ${hundredThousandsName + 'okto' + tenThousandsName + 'milyati'}
- ${9000n} | ${hundredThousands + '' + tenThousands + '9000'} | ${hundredThousandsName + 'nobem' + tenThousandsName + 'milyati'}
- `(`should return "$name" for $display`, ({ thousands, name }) => {
- const kiloHundreds = hundredThousands * 1000n + tenThousands * 100n + thousands / 100n
- expect(combiningPrefix(kiloHundreds, 0, 0)).toBe(name)
- })
- })
- })
-
- test.each`
- value | display | name
- ${1n} | ${'1000000'} | ${'milyamilyati'}
- ${2n} | ${'2000000'} | ${'duwomilyamilyati'}
- ${3n} | ${'3000000'} | ${'tremilyamilyati'}
- ${4n} | ${'4000000'} | ${'kuwatuwormilyamilyati'}
- ${5n} | ${'5000000'} | ${'kuwinmilyamilyati'}
- ${6n} | ${'6000000'} | ${'seksmilyamilyati'}
- ${7n} | ${'7000000'} | ${'septenmilyamilyati'}
- ${8n} | ${'8000000'} | ${'oktomilyamilyati'}
- ${9n} | ${'9000000'} | ${'nobemmilyamilyati'}
- `('should return "$name" on $display', ({ value, name }) => {
- expect(combiningPrefix(value * 10000n, 0, 0)).toBe(name)
- })
-
- test.each`
- value | display | name
- ${1n} | ${'1001000'} | ${'milyamilyaunmilyati'}
- ${2n} | ${'2002000'} | ${'duwomilyamilyaduwomilyati'}
- ${3n} | ${'3003000'} | ${'tremilyamilyatremilyati'}
- ${4n} | ${'4004000'} | ${'kuwatuwormilyamilyakuwatuwormilyati'}
- ${5n} | ${'5005000'} | ${'kuwinmilyamilyakuwinmilyati'}
- ${6n} | ${'6006000'} | ${'seksmilyamilyaseksmilyati'}
- ${7n} | ${'7007000'} | ${'septenmilyamilyaseptenmilyati'}
- ${8n} | ${'8008000'} | ${'oktomilyamilyaoktomilyati'}
- ${9n} | ${'9009000'} | ${'nobemmilyamilyanobemmilyati'}
- `('should return "$name" on $display', ({ value, name }) => {
- expect(combiningPrefix(value * 10010n, 0, 0)).toBe(name)
- })
|