Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Completed implementation of HED validator #229

Merged
merged 14 commits into from
Dec 23, 2024

Conversation

VisLab
Copy link
Member

@VisLab VisLab commented Dec 23, 2024

This PR represents the first version of the completed validator for version 4.0.0. All features have been implemented.

This version only supports the BIDS non-legacy (schema-based) version of the BIDS validator.:

  • The JSON spec tests as well as the hed-validator tests run.
  • Validation based on JSON properties of the reserved tags has been fully implemented.
  • Validation of temporal behavior including Delay has been implemented.
  • The internal tests have been converted to use separate test data objects for readability and ease in adding new tests.

Summary of the philosophical changes:

  • Errors are detected as early as possible with early exit. For example the first stage is the Tokenizer which detects many parsing errors that were previously only detected at later validation stages.
  • Normalized representations of the primary objects (tag, group, and string) are built at construction time so that duplicates are detected when hedstrings is constructed.

TODO:

  1. Additional tests are to be added.
  2. The old validator code directory will be removed in the next round of PRs.
  3. The removal from step 2 will result in additional unused methods in other classes that will be removed.

@VisLab VisLab merged commit afe0e3e into hed-standard:develop Dec 23, 2024
3 of 5 checks passed
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