Skip to content

Fixing the input and output validation for the Junction class - #1

Open
Dilosch03 wants to merge 1 commit into
GorillaOfDestiny:mainfrom
Dilosch03:patch-1
Open

Fixing the input and output validation for the Junction class#1
Dilosch03 wants to merge 1 commit into
GorillaOfDestiny:mainfrom
Dilosch03:patch-1

Conversation

@Dilosch03

Copy link
Copy Markdown

-Added missing raise keyword — CircuitException(...) by itself just creates the error object and discards it. Without raise, Python never actually stops execution, so invalid junctions were silently accepted.

-Fixed logic operator, ‘or’ to ‘and’ — The original check n_inputs != 1 or n_outputs != 1 rejected every junction except 1:1, making splitters (1:3) and mergers (3:1) impossible. Changed to and so it only rejects when neither side is 1.

-Added zero-side guard — New check rejects junctions with 0 inputs or 0 outputs, which would crash in step().

-Fix logic operator: or → and so that N:1 and 1:N junctions are correctly allowed (previously only 1:1 passed)
-Add missing raise keyword on CircuitException, before the exception was created but never thrown.
-Add guard against zero-value inputs/outputs (n_inputs < 1 or n_outputs < 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant