const test = require('tap').test const BitBuffer = require('core/bit-buffer') const AlphanumericData = require('core/alphanumeric-data') const Mode = require('core/mode') const testData = [ { data: 'A', length: 1, bitLength: 6, dataBit: [40] }, { data: 'AB', length: 2, bitLength: 11, dataBit: [57, 160] }, { data: 'ABC12', length: 5, bitLength: 28, dataBit: [57, 168, 116, 32] } ] test('Alphanumeric Data', function (t) { testData.forEach(function (data) { const alphanumericData = new AlphanumericData(data.data) t.equal(alphanumericData.mode, Mode.ALPHANUMERIC, 'Mode should be ALPHANUMERIC') t.equal(alphanumericData.getLength(), data.length, 'Should return correct length') t.equal(alphanumericData.getBitsLength(), data.bitLength, 'Should return correct bit length') const bitBuffer = new BitBuffer() alphanumericData.write(bitBuffer) t.deepEqual(bitBuffer.buffer, data.dataBit, 'Should write correct data to buffer') }) t.end() })