Add atomic Floor batch enqueue support - #3
Conversation
Adds EnqueueBatch and Contains to Floor for atomic FIFO batch waiting-room inserts and duplicate checks. This keeps Floor queue semantics consistent across direction-specific queues, prevents partial batch inserts, and supports grouped passenger arrivals without changing existing APIs. Includes a focused Floor regression suite, project registration updates, and a test report documenting the A-part compliance and validation results.
Statistics: add FormatSummary, per-elevator full-load count and working time as pure increments (existing methods and snapshot unchanged) Tests: add Statistics, System and Reliability suites; extend dispatch comparison harness to 8 scenarios (evening_peak/interfloor/saturation) Register new suites in RunCoreTests.cmd and project filters; add PartF and reliability verification reports with measured results
Add docs/F_TestData.md with 13-scenario measured dataset; update PartF report to include Reliability suite (7 suites, 214 scenarios / 2888 checks) and today's change summary
合并 upstream 楼层客流统计后,Statistics::Reset 需要楼层数,PassengerCreated/PassengerBoarded 携带楼层与方向;更新 F 部分 Statistics 单元测试事件调用,断言口径不变。
sun-tribunal
left a comment
There was a problem hiding this comment.
模拟系统检验流程(Verification Process)说明
sun-tribunal
left a comment
There was a problem hiding this comment.
合并 upstream 楼层客流统计后,Statistics::Reset 需要楼层数,PassengerCreated/携带楼层与方向;更新 F 部分 Statistics 单元测试事件调用,断言口径不变。
sun-tribunal
left a comment
There was a problem hiding this comment.
Adds EnqueueBatch and Contains to Floor for atomic FIFO batch waiting-room inserts and duplicate checks. This keeps Floor queue semantics consistent across direction-specific queues, prevents partial batch inserts, and supports grouped passenger arrivals without changing existing APIs. Includes a focused Floor regression suite, project registration updates, and a test report documenting the A-part compliance and validation results.
sun-tribunal
left a comment
There was a problem hiding this comment.
Statistics: add FormatSummary, per-elevator full-load count and working time as pure increments (existing methods and snapshot unchanged)
Tests: add Statistics, System and Reliability suites; extend dispatch comparison harness to 8 scenarios (evening_peak/interfloor/saturation)
Register new suites in RunCoreTests.cmd and project filters; add PartF and reliability verification reports with measured results
改动概述
Core/Floor.h/.cpp:新增两个公有接口,diff 为 31 行纯新增、0 行删除,既有 8 个公共接口逐字未改:
EnqueueBatch(ids, direction):原子整组 FIFO 入队,仅修改本层队列,无副作用
Contains(id) noexcept:去重/一致性校验,只读不抛异常
Core/Passenger.*:零改动,仅随套件回归
Core/CommonTypes.h:零改动,未重复定义任何类型
Tests/FloorTests.cpp:新增测试文件,10 场景 / 35 断言
Tests/RunCoreTests.cmd、ElevatorSimulation.vcxproj/.filters:登记新测试
双架构(x64/x86)全量通过:160 场景 / 2715 断言 + 406 项冒烟基线,0 失败
命名规则、接口完整性、公约合规(14/15 条)全部通过
README 未同步更新:接口行为表未补充 EnqueueBatch/Contains