foundation: start native language reality engineering root
This commit is contained in:
commit
0dec0b93fc
154 changed files with 49993 additions and 0 deletions
|
|
@ -0,0 +1,30 @@
|
|||
import assert from 'node:assert/strict'
|
||||
import { readFileSync } from 'node:fs'
|
||||
import test from 'node:test'
|
||||
import { compileUnifiedNumberTree } from './compile-unified-number-tree.mjs'
|
||||
|
||||
test('identity, webview and direct broker numbers compile into one unique evidence tree', () => {
|
||||
const generated = JSON.parse(readFileSync(new URL('../generated/unified-number-coordinate-tree.json', import.meta.url), 'utf8'))
|
||||
assert.deepEqual(generated, compileUnifiedNumberTree())
|
||||
assert.equal(generated.schema, 'hololake.unified-number-coordinate-tree/v2')
|
||||
assert.equal(generated.recordId, 'HLP-UNIFIED-NUMBER-TREE-001')
|
||||
assert.equal(generated.coordinateCount, 324)
|
||||
assert.equal(generated.moduleNodeCount, 46)
|
||||
assert.equal(generated.routeCount, 175)
|
||||
assert.equal(generated.identityNodeCount, 4)
|
||||
assert.equal(generated.protocolNodeCount, 99)
|
||||
assert.equal(generated.referenceOnlyNodeCount, 16)
|
||||
assert.equal(new Set(generated.moduleNodes.map((node) => node.path)).size, 46)
|
||||
assert.equal(new Set(generated.routes.map((route) => route.path)).size, 175)
|
||||
assert.equal(new Set([...generated.moduleNodes, ...generated.identityNodes, ...generated.protocolNodes, ...generated.routes].map((node) => node.path)).size, 324)
|
||||
assert.equal(generated.invariants.everyPhysicalCallHasNumberedRoute, true)
|
||||
assert.equal(generated.invariants.everyAcceptedCallHasEvidenceClass, true)
|
||||
assert.equal(generated.invariants.everyProtocolReferenceHasNumberCoordinate, true)
|
||||
assert.equal(generated.invariants.referenceOnlyNodesNeverExecutable, true)
|
||||
assert.equal(generated.invariants.oneModuleOneRuntimeRootPath, true)
|
||||
assert.equal(generated.invariants.unresolvedNumberReferenceCount, 0)
|
||||
assert.ok(generated.protocolNodes.filter((node) => node.nodeKind === 'GLS_REFERENCE_ONLY').every((node) => node.executionState === 'REFERENCE_ONLY_NOT_EXECUTABLE'))
|
||||
assert.ok(generated.routes.every((route) => route.admission && route.evidence))
|
||||
assert.ok(generated.moduleNodes.every((node) => node.path === `${generated.rootNumber}/MODULE/${node.moduleNumber}`))
|
||||
assert.ok(generated.moduleNodes.every((node) => node.schedulingPolicy === 'ONE_MODULE_ONE_NUMBER_PATH_SERIAL'))
|
||||
})
|
||||
Loading…
Reference in a new issue