| 12345678910111213141516171819 |
- import assert from 'node:assert/strict'
- import { planPipeModels } from '../../../src/modules/cockpit/domain/pipeModels.js'
- const make=(industry,remark='',diameter=null)=>({code:industry+remark,industry,remark,diameter,positions:[[110.39,28.44],[110.3901,28.44]]})
- const pipes=[make('GAS'),make('WATER_SUPPLY'),make('DRAINAGE','污水'),make('DRAINAGE','雨水')]
- const before=JSON.stringify(pipes),plan=planPipeModels({pipes,components:[]})
- assert.equal(plan.instances.length,0,'unknown source diameters must not create default-diameter physical bodies')
- assert.equal(plan.fallbacks.length,4)
- assert.equal(plan.diameterSummary.missing,4)
- assert.equal(plan.visualDefaultCount,0)
- assert.equal(JSON.stringify(pipes),before)
- const unknown=planPipeModels({pipes:[{...make('DRAINAGE','雨水 污水'),networkLevel:2}],components:[]})
- assert.equal(unknown.instances.length,0)
- assert.equal(unknown.fallbacks.length,1)
- const reported=planPipeModels({pipes:[make('GAS','',150)],components:[]}).instances[0]
- assert.equal(reported.diameterM,.15)
- assert.equal(reported.displayDiameterM,.15)
- assert.equal(reported.diameterSource,'reported')
- assert.equal(reported.visualDefaultDiameterM,null)
- console.log('PASS source-sized bodies only; missing/unknown diameters retain explicit guide fallback, no defaults')
|