mightyscape-1.2/extensions/fablabchemnitz/dxf_dwg_importer/node_modules/dxf/test/unit/groupEntities.test.js

44 lines
1.3 KiB
JavaScript

import fs from 'fs'
import { join } from 'path'
import expect from 'expect'
import { parseString, denormalise, groupEntitiesByLayer } from '../../src'
describe('Group entities', () => {
it('by layer', () => {
const parsed = parseString(
fs.readFileSync(join(__dirname, '../resources/floorplan.dxf'), 'utf-8'),
)
const entities = denormalise(parsed)
const byLayer = groupEntitiesByLayer(entities)
expect(Object.keys(byLayer)).toEqual([
'0',
'A-NOTE',
'A-TEXT',
'A-DIMS-1',
'ANNTEXT',
'xref-Bishop-Overland-08$0$A-WALL',
'xref-Bishop-Overland-08$0$A-CASE-1',
'xref-Bishop-Overland-08$0$A-OPENING',
'xref-Bishop-Overland-08$0$A-GARAGE-DOOR',
'xref-Bishop-Overland-08$0$S-STEM-WALL',
'xref-Bishop-Overland-08$0$S-FOOTER',
'xref-Bishop-Overland-08$0$A-HEADER',
'xref-Bishop-Overland-08$0$R-BEAM',
'xref-Bishop-Overland-08$0$A-FOOTPRINT',
'xref-Bishop-Overland-08$0$S-SLAB',
'xref-Bishop-Overland-08$0$TEMP',
'xref-Bishop-Overland-08$0$A-FIXTURE',
'View Port',
])
const layerEntityCounts = Object.keys(byLayer).map((layer) => {
return byLayer[layer].length
})
expect(layerEntityCounts).toEqual([
4, 183, 31, 131, 52, 177, 199, 159, 1, 26, 87, 27, 8, 5, 1, 3, 2, 1,
])
})
})