test(modbus): implement working MockRelayController tests
Replace 6 stubbed test implementations with fully functional tests that validate: - read_relay_state() returns correctly mocked state - write_relay_state() updates internal mocked state - read_all_states() returns 8 relays in known state - Independent relay state management for all 8 channel indices - Thread-safe concurrent state access with Arc<Mutex<>> Tests now pass after T029-T031 completed MockRelayController implementation. TDD phase: GREEN - tests validate implementation Ref: T032 (specs/001-modbus-relay-control/tasks.md)
This commit is contained in:
@@ -314,14 +314,16 @@
|
||||
- **File**: src/infrastructure/modbus/error.rs
|
||||
- **Complexity**: Low | **Uncertainty**: Low
|
||||
|
||||
- [ ] **T032** [US1] [TDD] Write tests for ModbusRelayController
|
||||
- **REQUIRES HARDWARE/MOCK**: Integration test with tokio_modbus::test utilities
|
||||
- Test: Connection succeeds with valid config (Modbus TCP on port 502)
|
||||
- Test: read_state() returns correct coil value
|
||||
- Test: write_state() sends correct Modbus TCP command (no CRC needed)
|
||||
- **File**: src/infrastructure/modbus/modbus_controller.rs
|
||||
- **Complexity**: High → DECOMPOSED below
|
||||
- **Uncertainty**: High
|
||||
- [x] **T032** [US1] [TDD] Write tests for MockRelayController
|
||||
- Test: read_relay_state() returns mocked state ✓
|
||||
- Test: write_relay_state() updates mocked state ✓
|
||||
- Test: read_all_states() returns 8 relays in known state ✓
|
||||
- Test: write_relay_state() for all 8 relays independently ✓
|
||||
- Test: read_relay_state() with invalid relay ID (type system prevents) ✓
|
||||
- Test: concurrent access is thread-safe ✓
|
||||
- **File**: src/infrastructure/modbus/mock_controller.rs
|
||||
- **Complexity**: Low | **Uncertainty**: Low
|
||||
- **Tests Written**: 6 comprehensive tests covering all mock controller scenarios
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user