23 lines
1.3 KiB
JavaScript
23 lines
1.3 KiB
JavaScript
import assert from 'node:assert/strict'
|
|
import createOcctHistory from './dist/bitbybit-occt-history.js'
|
|
|
|
const occt = await createOcctHistory()
|
|
assert.match(occt.occtVersion(), /^8\./)
|
|
const object = occt.makeBox(10, 10, 10)
|
|
const tool = occt.makeBox(5, 5, 5)
|
|
const response = occt.booleanHistory(object, tool, 'cut')
|
|
const objectStep = occt.shapeToStep(object)
|
|
const toolStep = occt.shapeToStep(tool)
|
|
assert.match(objectStep, /^ISO-10303-21;/)
|
|
assert.match(toolStep, /^ISO-10303-21;/)
|
|
const serializedResponse = occt.booleanHistoryFromStep(objectStep, toolStep, 'cut')
|
|
assert.equal(response.provider, 'occt-native')
|
|
assert.equal(response.records.every((record) => ['generated', 'modified', 'deleted'].includes(record.relation)), true)
|
|
assert.equal(typeof response.hasModified, 'boolean')
|
|
assert.equal(typeof response.hasGenerated, 'boolean')
|
|
assert.equal(typeof response.hasDeleted, 'boolean')
|
|
assert.equal(serializedResponse.provider, 'occt-native')
|
|
assert.equal(serializedResponse.records.length > 0, true)
|
|
assert.match(serializedResponse.resultStep, /^ISO-10303-21;/)
|
|
console.log(JSON.stringify({ occtVersion: response.occtVersion, recordCount: response.records.length, hasModified: response.hasModified, hasGenerated: response.hasGenerated, hasDeleted: response.hasDeleted }, null, 2))
|