UNPKG

aureooms-js-integer

Version:

integer code bricks for JavaScript

49 lines (34 loc) 1.83 kB
import test from 'ava' ; import { parse } from '../../../src' ; test( 'parse' , t => { t.throws( parse.bind( null , 16 , 16 , '!00b0C0def' ) , /invalid/ ) ; t.throws( parse.bind( null , 37 , 37 , '!' ) , /not implemented/ ) ; t.deepEqual( parse( 2 , 2 , '0' ) , [ 0 ] ) ; t.deepEqual( parse( 2 , 2 , '1' ) , [ 1 ] ) ; t.deepEqual( parse( 2 , 2 , '10' ) , [ 1 , 0 ] ) ; t.deepEqual( parse( 2 , 2 , '11' ) , [ 1 , 1 ] ) ; t.deepEqual( parse( 2 , 2 , '1001010111' ) , [ 1 , 0 , 0 , 1 , 0 , 1 , 0 , 1 , 1 , 1 ] ) ; t.deepEqual( parse( 16 , 16 , '0' ) , [ 0 ] ) ; t.deepEqual( parse( 16 , 16 , 'a' ) , [ 10 ] ) ; t.deepEqual( parse( 16 , 16 , 'A0' ) , [ 10 , 0 ] ) ; t.deepEqual( parse( 16 , 16 , 'a1' ) , [ 10 , 1 ] ) ; t.deepEqual( parse( 16 , 16 , 'a00b0C0def' ) , [ 10 , 0 , 0 , 11 , 0 , 12 , 0 , 13 , 14 , 15 ] ) ; t.deepEqual( parse( 2 , 16 , '11' ) , [ 3 ] ) ; t.deepEqual( parse( 16 , 2 , '3' ) , [ 1 , 1 ] ) ; t.deepEqual( parse( 2 , 16 , '10001' ) , [ 1 , 1 ] ) ; t.deepEqual( parse( 16 , 2 , '11' ) , [ 1 , 0 , 0 , 0 , 1 ] ) ; t.deepEqual( parse( 2 , 10 , '11' ) , [ 3 ] ) ; t.deepEqual( parse( 10 , 2 , '3' ) , [ 1 , 1 ] ) ; t.deepEqual( parse( 10 , 16 , '256' ) , [ 1 , 0 , 0 ] ) ; t.deepEqual( parse( 16 , 10 , '100' ) , [ 2 , 5 , 6 ] ) ; t.deepEqual( parse( 10 , 16 , '255' ) , [ 15 , 15 ] ) ; t.deepEqual( parse( 16 , 10 , 'ff' ) , [ 2 , 5 , 5 ] ) ; t.deepEqual( parse( 16 , 100 , 'ff' ) , [ 2 , 55 ] ) ; t.deepEqual( parse( 16 , 1000 , 'ff' ) , [ 255 ] ) ; t.deepEqual( parse( 16 , 10000 , 'ff' ) , [ 255 ] ) ; t.deepEqual( parse( 16 , 100 , 'fedcba9876543210' ) , [ 18 , 36 , 47 , 58 , 54 , 44 , 93 , 6 , 47 , 20 ] ) ; t.deepEqual( parse( 36 , 10000 , '1234567890azertyuiopqsdfghjklmwxcvbn' ) , [ 312,6485,6500,280,6599,6167,8564,7451,522,8125,564,4362,6409,4355] ) ; } ) ;