Skip to content

Conversation

@t-b
Copy link
Collaborator

@t-b t-b commented Feb 3, 2026

Close #2615

t-b and others added 4 commits February 3, 2026 16:55
Copilot AI review requested due to automatic review settings February 3, 2026 16:10
@t-b t-b self-assigned this Feb 3, 2026
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 PR adds comprehensive unit tests for previously untested utility functions in UTF_Utils_Checks.ipf, introduces a reusable wave-type data generator for tests, and normalizes several wave-type predicate implementations to return strict boolean values.

Changes:

  • Added GetEmptyWavesOfAllTypes() to UTF_DataGenerators.ipf to generate a reference wave containing empty waves for all supported Igor Pro wave types (numeric, text, wave ref, DFREF, and complex), to drive multi-data tests.
  • Implemented unit tests in UTF_Utils_Checks.ipf for numeric predicates (IsFinite, IsNaN, IsInf, IsInteger), string utilities (IsNull, IsEmpty, StringEndsWith, ListHasOnlyOneUniqueEntry), window/value utilities (WindowExists, ValueCanBeWritten, CheckIfClose, CheckIfSmall, FuncRefIsAssigned), and wave-property checks (IsTextWave, IsNumericWave, IsWaveRefWave, IsFloatingPointWave, IsDoubleFloatingPointWave, IsSingleFloatingPointWave, IsGlobalWave, IsComplexWave, IsFreeWave).
  • Updated MIES_Utilities_Checks.ipf implementations of IsFloatingPointWave, IsDoubleFloatingPointWave, IsSingleFloatingPointWave, and IsComplexWave to return canonical boolean (0/1) values based on explicit bitmask comparisons, and adjusted StringEndsWith to use a reverse, case-insensitive search consistent with the new tests.

Reviewed changes

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

File Description
Packages/tests/UTF_DataGenerators.ipf Adds GetEmptyWavesOfAllTypes() providing a single source of truth for all Igor Pro wave types, used to drive the new wave-type tests.
Packages/tests/Basic/UTF_Utils_Checks.ipf Replaces the “missing tests” list with concrete unit tests covering numeric, string, and wave property utilities, including multi-data-driven tests for all wave types and case-insensitive behavior tests for list/string functions.
Packages/MIES/MIES_Utilities_Checks.ipf Normalizes wave-type predicate return values to strict booleans and refines StringEndsWith to a reverse, case-insensitive suffix search compatible with the newly added tests.

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

@t-b t-b merged commit 7254941 into main Feb 3, 2026
36 of 39 checks passed
@t-b t-b deleted the feature/2617-add-unit-tests-utf-utils-checks branch February 3, 2026 20:19
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.

2 participants