nc_program_manager/NcProgramManager.Tests/Unit
Trentin Davide 4067366d06 fix(mitsubishi): symmetric read/write FTP path (ISS-020)
WriteProgramAsync resolved -path as a directory and combined it with
program.Name ("1" + "O0001" -> "1/O0001"), while ReadProgramAsync
resolved it as a program identifier under ProgramDirectory ("1" ->
"/PRG/1"). The write target therefore never matched the read target:
STOR went to a nonexistent relative dir and failed with "unable to
connect to remote server" (-204). Surfaced once ISS-018/019 stopped
masking it.

Per Mitsubishi NC Explorer manual IB-1500904, programs live under
PRG/USER and are addressed by their program name/number with no
extension. Resolve write the same way as read: ResolvePath is now
single-arg (path = identifier or full path, joined with
ProgramDirectory). program.Name is used for validation only.

Update write unit test to the symmetric contract and add a roundtrip
regression test (-path "1" -> /PRG/1).

Siemens/Fagor share the pattern but tie extension handling to name
(entangled with ISS-013); left open in ISS-020.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 09:57:10 +02:00
..
CncMachineFactoryTests.cs feat(16-fagor): Fagor CNC FTP support + validator gating 2026-05-25 20:27:18 +02:00
FagorMachineTests.cs feat(16-fagor): Fagor CNC FTP support + validator gating 2026-05-25 20:27:18 +02:00
FanucMachineTests.cs refactor(rename): FanucProgramManager → NcProgramManager 2026-05-17 22:31:36 +02:00
FanucProgramParsingTests.cs refactor(rename): FanucProgramManager → NcProgramManager 2026-05-17 22:31:36 +02:00
HeidenhainMachineTests.cs refactor(rename): FanucProgramManager → NcProgramManager 2026-05-17 22:31:36 +02:00
IsoProgramFormatterTests.cs refactor(rename): FanucProgramManager → NcProgramManager 2026-05-17 22:31:36 +02:00
LicenseFileTests.cs feat(14-test-hardening): env-var hardware test scaffolding + LicenseFile edge cases 2026-05-18 23:24:58 +02:00
LicenseValidatorTests.cs feat(14-test-hardening): env-var hardware test scaffolding + LicenseFile edge cases 2026-05-18 23:24:58 +02:00
MitsubishiMachineTests.cs fix(mitsubishi): symmetric read/write FTP path (ISS-020) 2026-06-02 09:57:10 +02:00
NcProgramValidatorTests.cs fix(validator,field-test): unblock Fanuc/Mitsubishi upload (ISS-018, ISS-019) 2026-06-02 09:42:46 +02:00
SiemensMachineTests.cs refactor(rename): FanucProgramManager → NcProgramManager 2026-05-17 22:31:36 +02:00