Skip to content

Fix output alteration in command factory for IPX800 v3 delayed outputs#50

Merged
elendil-software merged 1 commit intomainfrom
fix/altered-output
Jan 24, 2026
Merged

Fix output alteration in command factory for IPX800 v3 delayed outputs#50
elendil-software merged 1 commit intomainfrom
fix/altered-output

Conversation

@elendil-software
Copy link
Owner

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request fixes a critical bug in the IPX800 V3 HTTP command builder where the output number was being incorrectly modified using a pre-decrement operator (--output.Number) instead of a subtraction expression (output.Number-1). The fix ensures that the output object passed to the command builder is not altered as a side effect, while still generating the correct command string for delayed outputs.

Changes:

  • Fixed the output alteration bug by replacing pre-decrement operator with subtraction expression in IPX800V3SetOutputHttpCommandBuilder
  • Added test assertions to verify that output objects are not modified by command factory methods
  • Fixed parameter naming inconsistency (inputType → outputType) in test method

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
IPX800cs/Commands/Builders/v3/Http/IPX800V3SetOutputHttpCommandBuilder.cs Fixed bug where --output.Number was mutating the output object; replaced with output.Number-1 to compute the value without side effects
IPX800cs.Test/Commands/Builders/CommandFactoryTest.cs Added helper method AssertOutputIsNotAltered and integrated it into output command tests to prevent regression; also fixed parameter naming from inputType to outputType

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@elendil-software elendil-software merged commit 3b7c2fc into main Jan 24, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants