message: gro, high precision example
diff: @@ -12,6 +12,13 @@ const groString = `MD of 2 waters, t= 4.2
  2WATER HW3 6 1.326 0.120 0.568 1.9427 -0.8216 -0.0244
  1.82060 1.82060 1.82060`
  +const groStringHighPrecision = `Generated by trjconv : 2168 system t= 15.00000
  + 3
  + 1ETH C1 1 2.735383 2.672010 1.450194 0.2345 -0.1622 0.2097
  + 1ETH H11 2 0.015804 2.716597 1.460588 0.8528 -0.7984 0.6605
  + 1ETH H12 3 2.744822 2.565544 1.409227 -2.3812 2.8618 1.8101
  + 1.82060 1.82060 1.82060`
  +
  describe('gro reader', () => {
  it('basic', () => {
  const parsed = parse(groString)
  @@ -37,4 +44,29 @@ describe('gro reader', () => {
  }
  }
  })
  +
  + it('high precision', () => {
  + const parsed = parse(groStringHighPrecision)
  +
  + if (parsed.isError) {
  + console.log(parsed)
  + } else {
  + const groFile = parsed.result
  +
  + const header = groFile.blocks[0].getTable('header')
  + if (header) {
  + expect(header.columnNames).toEqual(['title', 'timeInPs', 'numberOfAtoms', 'boxX', 'boxY', 'boxZ'])
  +
  + expect(header.getColumn('title').getString(0)).toBe('Generated by trjconv : 2168 system')
  + expect(header.getColumn('timeInPs').getFloat(0)).toBeCloseTo(15)
  + expect(header.getColumn('numberOfAtoms').getInteger(0)).toBe(3)
  +
  + expect(header.getColumn('boxX').getFloat(0)).toBeCloseTo(1.82060)
  + expect(header.getColumn('boxY').getFloat(0)).toBeCloseTo(1.82060)
  + expect(header.getColumn('boxZ').getFloat(0)).toBeCloseTo(1.82060)
  + } else {
  + console.error('no header')
  + }
  + }
  + })
  });
  