diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index ef0a7362..9e66d1f9 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -17,6 +17,8 @@ jobs:
steps:
- name: Check out the code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ with:
+ submodules: true
- name: Set up with Node.js LTS
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index f28e1f53..6c9adcce 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -43,6 +43,8 @@ jobs:
steps:
- name: Check out the code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ with:
+ submodules: true
- name: Set up with Node.js ${{ matrix.node-version }}
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..cfc4295c
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,4 @@
+[submodule "hed-tests"]
+ path = spec_tests/hed-tests
+ url = https://github.com/hed-standard/hed-tests.git
+ branch = main
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7b567abc..68b3de04 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,11 @@
### Changed
- Replaced action versions with hashes for security.
+- The JSON spec tests now come from the [hed-tests](https://github.com/hed-standard/hed-tests)
+ repository, checked out as the git submodule `spec_tests/hed-tests` instead of the vendored
+ `spec_tests/javascriptTests.json`. Cases this validator does not pass yet are skipped by name
+ in `spec_tests/skippedTests.js`. Clone with `--recurse-submodules` or run
+ `git submodule update --init` before `npm run testSpecs`.
### Fixed
@@ -16,7 +21,7 @@
### Added
-- `BidsWebAccessor` — a new browser-compatible BIDS file accessor that
+- `BidsWebAccessor` — a new browser-compatible BIDS file accessor that
reads dataset files from browser `File` objects provided via an
`` element or drag-and-drop upload. Schema loading is
performed via remote HTTPS fetching. This enables in-browser BIDS/HED
diff --git a/README.md b/README.md
index 7b7fd66a..05efb69e 100644
--- a/README.md
+++ b/README.md
@@ -66,6 +66,22 @@ main()
The `main` branch is now the default branch. All changes to the repository should
be done as PRs (pull requests) to the `main` branch.
+### Running the tests
+
+The JSON spec tests in `spec_tests/` read the [hed-tests](https://github.com/hed-standard/hed-tests)
+suite from the git submodule `spec_tests/hed-tests`, so check it out before running them:
+
+```code
+git clone --recurse-submodules https://github.com/hed-standard/hed-javascript
+cd hed-javascript
+npm install
+npm test # unit tests in tests/
+npm run testSpecs # hed-tests JSON suite in spec_tests/
+```
+
+In an existing clone, `git submodule update --init` fetches the submodule. See
+`spec_tests/README.md` for how the suite is run and how failing cases are skipped.
+
### Running the browser locally
The browser app has moved to the [hed-web](https://github.com/hed-standard/hed-web) repository.
diff --git a/jest.config.js b/jest.config.js
index d5fa2985..033d8d4f 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -5,15 +5,16 @@ module.exports = {
'^.+\\.(js|jsx)$': 'babel-jest',
},
transformIgnorePatterns: ['/node_modules/(?!unicode-name|semver)'],
- testPathIgnorePatterns: ['node_modules/', '/types/test.ts', '/browser/'],
+ testPathIgnorePatterns: [
+ 'node_modules/',
+ '/types/test.ts',
+ '/browser/',
+ '/spec_tests/hed-tests/',
+ ],
moduleNameMapper: {
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',
},
- collectCoverageFrom: [
- 'src/**/*.js',
- '!src/**/*.spec.js',
- '!src/**/*.test.js',
- ],
+ collectCoverageFrom: ['src/**/*.js', '!src/**/*.spec.js', '!src/**/*.test.js'],
coveragePathIgnorePatterns: [
'/node_modules/',
'/tests/',
diff --git a/spec_tests/README.md b/spec_tests/README.md
index e3522fb6..26a411e1 100644
--- a/spec_tests/README.md
+++ b/spec_tests/README.md
@@ -1,27 +1,74 @@
# HED spec tests
-This directory contains the HED specification-level test suite.
+This directory runs the official HED JSON test suite from the
+[hed-tests](https://github.com/hed-standard/hed-tests) repository against this validator.
-## Running tests
+## Getting the test data
-Run the spec tests using the npm script:
+The suite lives in the git submodule `spec_tests/hed-tests`, pinned to a specific hed-tests
+commit. It is empty in a plain clone until you fetch it:
```powershell
-npm run testSpecs
+git submodule update --init
```
-This is equivalent to:
+or clone with `git clone --recurse-submodules`. The runner fails with a message pointing here if
+the submodule is missing.
+
+## Running the tests
```powershell
-npx jest --testPathPatterns='spec_tests/'
+npm run testSpecs
```
-## Test files
+This is equivalent to `npx jest --testPathPatterns='/spec_tests/'`.
+
+## Files
+
+- **hedTests.spec.js** - the runner. Reads
+ `hed-tests/json_test_data/validation_tests.json` and runs every case's string, sidecar,
+ events and sidecar+events sub-tests through the BIDS validation entry points. A failing case
+ passes when one of its `error_code` or `alt_codes` is among the errors returned (among the
+ warnings, with no errors, when the case has `warning: true`). A passing case passes when no
+ errors are returned (and no warnings when `warning: true`).
+- **skippedTests.js** - cases this validator does not pass yet, keyed by test case name with a
+ one-line reason. Each listed case is reported as skipped in the jest summary. Remove the entry
+ once the case passes.
+- **hed-tests/** - the submodule. Do not edit files inside it; changes to the test suite go to
+ the hed-tests repository.
+
+## Schema loading
+
+Cases name schemas by version string (`8.4.0`, `ts:testconflict_2.1.0`, ...). Following the
+convention in `hed-tests/json_test_data/test_schemas/README.md`, the runner resolves each version
+string against `hed-tests/json_test_data/test_schemas/hedxml/` by cache-convention file name
+(`HED.xml` or `HED__.xml`) when such a file exists, and otherwise
+against the schemas bundled in `src/data/schemas/`. The test-only libraries (`testconflict`,
+`testclash`, `testminimal`, `testaux`) and the vendored 8.5.0 prerelease therefore need no
+network access. When building the schemas for a case throws, that issue is the result of every
+sub-test of the case, which is how the SCHEMA_LOAD_FAILED cases are checked.
-- **jsonTests.spec.js** — The main spec test suite that runs HED validation tests against test cases defined in `javascriptTests.json`. It validates parser behavior, BIDS support, and schema compliance using a comprehensive set of test vectors.
+## Schema tests are not run
+
+hed-tests also ships `schema_tests.json`, which checks that validators detect errors in HED
+schema files themselves (the cases are mediawiki schema source text). hed-javascript assumes the
+schemas it loads are valid and does not implement schema validation, so that file is skipped as a
+block in `hedTests.spec.js` and is not part of this validator's conformance target.
+
+## Updating the pin
+
+```powershell
+git -C spec_tests/hed-tests fetch origin
+git -C spec_tests/hed-tests checkout
+npm run testSpecs
+```
-- **javascriptTests.json** — Data file containing the test cases used by `jsonTests.spec.js`. Includes test scenarios for tag parsing, definition validation, BIDS file validation, and error handling.
+Add any newly failing case to `skippedTests.js` with a reason (or fix it), then commit the
+submodule pointer together with the skip-list change.
-## About spec tests
+## Debugging one case
-Spec tests validate the validator against the HED specification and ensure that all validator behavior is correct according to the spec. These are distinct from unit tests in `tests/` which test individual modules and functions.
+At the top of `hedTests.spec.js`, set `runAll` to `false` and put the error code and case names
+in `runMap`, or keep `runAll` and list cases in `skipMap`. `runOnly` restricts the sub-test kinds
+(`stringPass`, `stringFail`, `sidecarPass`, `sidecarFail`, `eventsPass`, `eventsFail`,
+`comboPass`, `comboFail`).
diff --git a/spec_tests/hed-tests b/spec_tests/hed-tests
new file mode 160000
index 00000000..183c235e
--- /dev/null
+++ b/spec_tests/hed-tests
@@ -0,0 +1 @@
+Subproject commit 183c235e527de4bc0b00f7c06b99f899dd31f4d5
diff --git a/spec_tests/hedTests.spec.js b/spec_tests/hedTests.spec.js
new file mode 100644
index 00000000..27259b58
--- /dev/null
+++ b/spec_tests/hedTests.spec.js
@@ -0,0 +1,344 @@
+/**
+ * Run the hed-tests JSON validation suite (spec_tests/hed-tests, a git submodule) against this
+ * validator.
+ *
+ * Only validation_tests.json is run. The suite's schema_tests.json validates HED schema files
+ * themselves (mediawiki source text); hed-javascript assumes the schemas it loads are valid and
+ * does not implement schema validation, so that file is skipped as a block below.
+ *
+ * Schema loading convention (hed-tests json_test_data/test_schemas/README.md): every version
+ * string in a case's "schema" field is resolved against test_schemas/hedxml by its cache-convention
+ * file name (HED.xml or HED__.xml) when such a file exists, and
+ * otherwise against the schemas bundled in src/data/schemas. A schema build that throws becomes
+ * the issue list of every sub-test of that case, so SCHEMA_LOAD_FAILED cases are expressible.
+ *
+ * Cases this validator does not pass yet are listed by name in skippedTests.js.
+ */
+import chai from 'chai'
+const assert = chai.assert
+import { beforeAll, describe, test } from '@jest/globals'
+import path from 'node:path'
+import fs from 'node:fs'
+
+import { BidsHedIssue } from '../src/bids/types/issues'
+import { buildSchemas } from '../src/schema/init'
+import { SchemaSpec, SchemasSpec } from '../src/schema/specs'
+import { BidsSidecar, BidsTsvFile } from '../src/bids'
+import { generateIssue, IssueError } from '../src/issues/issues'
+import { DefinitionManager } from '../src/parser/definitionManager'
+import parseTSV from '../src/bids/tsvParser'
+import { shouldRun } from '../tests/testHelpers/testUtilities'
+import { skippedTests } from './skippedTests'
+
+const hedTestsDataDir = path.join(__dirname, 'hed-tests', 'json_test_data')
+const testSchemasDir = path.join(hedTestsDataDir, 'test_schemas', 'hedxml')
+const validationTestsFile = path.join(hedTestsDataDir, 'validation_tests.json')
+
+// Debugging hooks: set runAll to false and list the cases to run in runMap, or keep runAll and
+// list cases to skip in skipMap. Both map an error code to an array of case names (empty = all).
+const runAll = true
+const runMap = new Map()
+const skipMap = new Map()
+// Restrict to some sub-test kinds while debugging, e.g. new Set(['stringFail']). Empty = all.
+const runOnly = new Set()
+
+function loadTestData() {
+ if (!fs.existsSync(validationTestsFile)) {
+ throw new Error(
+ `${validationTestsFile} not found. The hed-tests submodule is not checked out: run "git submodule update --init".`,
+ )
+ }
+ return JSON.parse(fs.readFileSync(validationTestsFile, 'utf8'))
+}
+
+const testInfo = loadTestData()
+
+/**
+ * Build the Schemas object for a case's "schema" field.
+ *
+ * @param {string|string[]} schemaVersions One version string or a list of them.
+ * @returns {Promise} The built schemas.
+ * @throws {IssueError} If the schemas cannot be built.
+ */
+function buildTestSchemas(schemaVersions) {
+ const versions = typeof schemaVersions === 'string' ? [schemaVersions] : schemaVersions
+ const specs = new SchemasSpec()
+ for (const version of versions) {
+ const spec = SchemaSpec.parseVersionSpec(version)
+ const localFile = path.join(testSchemasDir, spec.localName + '.xml')
+ if (fs.existsSync(localFile)) {
+ spec.localPath = localFile
+ }
+ specs.addSchemaSpec(spec)
+ }
+ return buildSchemas(specs)
+}
+
+const schemaCache = new Map()
+
+/**
+ * Build the schemas for a case, caching by the JSON of the "schema" field.
+ *
+ * @param {string|string[]} schemaVersions The case's "schema" field.
+ * @returns {Promise} The built schemas.
+ */
+function getTestSchemas(schemaVersions) {
+ const key = JSON.stringify(schemaVersions)
+ if (!schemaCache.has(key)) {
+ schemaCache.set(key, buildTestSchemas(schemaVersions))
+ }
+ return schemaCache.get(key)
+}
+
+/**
+ * Convert a thrown error into an issue.
+ *
+ * @param {Error} error A thrown error.
+ * @returns {Issue} The issue.
+ */
+function convertIssue(error) {
+ if (error instanceof IssueError) {
+ return error.issue
+ }
+ return generateIssue('internalError', { message: error.message })
+}
+
+/**
+ * Separate the error codes and warning codes of a list of issues.
+ *
+ * @param {Array} issues The issues.
+ * @returns {[Set, Set]} The error codes and the warning codes.
+ */
+function extractErrorCodes(issues) {
+ const errors = new Set()
+ const warnings = new Set()
+ for (const issue of issues) {
+ const hedIssue = issue instanceof BidsHedIssue ? issue.hedIssue : issue
+ if (hedIssue.level === 'error') {
+ errors.add(hedIssue.hedCode)
+ } else if (hedIssue.level === 'warning') {
+ warnings.add(hedIssue.hedCode)
+ }
+ }
+ return [errors, warnings]
+}
+
+function tsvToString(events) {
+ return events.map((row) => row.join('\t')).join('\n')
+}
+
+function stringifyList(items) {
+ return (items ?? []).map((item) => JSON.stringify(item))
+}
+
+function tsvListToStrings(eventList) {
+ return (eventList ?? []).map((events) => tsvToString(events))
+}
+
+function comboListToStrings(items) {
+ return (items ?? []).map((item) => [JSON.stringify(item.sidecar), tsvToString(item.events)])
+}
+
+describe('HED validation using the hed-tests JSON suite', () => {
+ test('should load the test data', () => {
+ expect(testInfo).toBeDefined()
+ expect(testInfo.length).toBeGreaterThan(0)
+ })
+
+ describe.each(testInfo)(
+ '$error_code $name : $description',
+ ({ error_code, alt_codes, name, schema, definitions, warning, tests }) => {
+ let hedSchemas = null
+ let loadIssue = null
+ let defList = []
+ let expectedErrors
+ const noErrors = new Set()
+
+ const passedStrings = tests.string_tests?.passes ?? []
+ const failedStrings = tests.string_tests?.fails ?? []
+ const passedSidecars = stringifyList(tests.sidecar_tests?.passes)
+ const failedSidecars = stringifyList(tests.sidecar_tests?.fails)
+ const passedEvents = tsvListToStrings(tests.event_tests?.passes)
+ const failedEvents = tsvListToStrings(tests.event_tests?.fails)
+ const passedCombos = comboListToStrings(tests.combo_tests?.passes)
+ const failedCombos = comboListToStrings(tests.combo_tests?.fails)
+
+ const assertErrors = function (expected, issues, header) {
+ const [errors, warnings] = extractErrorCodes(issues)
+ if (warning) {
+ assert.isTrue(errors.size === 0, `${header} expected no errors but received [${[...errors].join(', ')}]`)
+ let warningIntersection = [...expected].some((element) => warnings.has(element))
+ if (expected.size === 0 && warnings.size === 0) {
+ warningIntersection = true
+ }
+ assert.isTrue(
+ warningIntersection,
+ `${header} expected one of warnings[${[...expected].join(', ')}] but received [${[...warnings].join(', ')}]`,
+ )
+ return
+ }
+ let errorIntersection = [...expected].some((element) => errors.has(element))
+ if (expected.size === 0 && errors.size === 0) {
+ errorIntersection = true
+ }
+ assert.isTrue(
+ errorIntersection,
+ `${header} expected one of errors[${[...expected].join(', ')}] but received [${[...errors].join(', ')}]`,
+ )
+ }
+
+ /**
+ * Run a validation, returning the schema load issue instead if the schemas did not build.
+ *
+ * @param {function(): Array} validate The validation to run.
+ * @returns {Array} The issues.
+ */
+ const runValidation = function (validate) {
+ if (loadIssue !== null) {
+ return [loadIssue]
+ }
+ try {
+ return validate()
+ } catch (e) {
+ return [convertIssue(e)]
+ }
+ }
+
+ const newDefManager = function () {
+ const defManager = new DefinitionManager()
+ defManager.addDefinitions(defList)
+ return defManager
+ }
+
+ const statusOf = (expected) => (expected.size === 0 ? 'Expect pass' : 'Expect fail')
+
+ const stringValidator = function (str, expected) {
+ const header = `\n[${error_code} ${name}](${statusOf(expected)})\tSTRING: "${str}"`
+ const hTsv = `onset\tHED\n5.4\t${str}\n`
+ const issues = runValidation(() => {
+ const parsedTsv = parseTSV(hTsv)
+ assert.instanceOf(parsedTsv, Map, `${str} cannot be parsed`)
+ return new BidsTsvFile('string', { path: 'string test tsv' }, parsedTsv, {}, newDefManager()).validate(
+ hedSchemas,
+ )
+ })
+ assertErrors(expected, issues, header)
+ }
+
+ const sidecarValidator = function (side, expected) {
+ const header = `\n[${error_code} ${name}](${statusOf(expected)})\tSIDECAR "${side}"`
+ const issues = runValidation(() =>
+ new BidsSidecar('sidecar', { path: 'sidecar test' }, JSON.parse(side), newDefManager()).validate(hedSchemas),
+ )
+ assertErrors(expected, issues, header)
+ }
+
+ const eventsValidator = function (events, expected) {
+ const header = `\n[${error_code} ${name}](${statusOf(expected)})\tEvents:\n"${events}"`
+ const issues = runValidation(() => {
+ const parsedTsv = parseTSV(events)
+ assert.instanceOf(parsedTsv, Map, `${events} cannot be parsed`)
+ return new BidsTsvFile('events', { path: 'events test' }, parsedTsv, {}, newDefManager()).validate(hedSchemas)
+ })
+ assertErrors(expected, issues, header)
+ }
+
+ const comboValidator = function (side, events, expected) {
+ const header = `\n[${error_code} ${name}](${statusOf(expected)})\tCOMBO\t"${side}"\n"${events}"`
+ const issues = runValidation(() => {
+ const parsedTsv = parseTSV(events)
+ assert.instanceOf(parsedTsv, Map, `${events} cannot be parsed`)
+ return new BidsTsvFile(
+ 'events',
+ { path: 'combo test tsv' },
+ parsedTsv,
+ JSON.parse(side),
+ newDefManager(),
+ ).validate(hedSchemas)
+ })
+ assertErrors(expected, issues, header)
+ }
+
+ beforeAll(async () => {
+ expectedErrors = new Set(alt_codes ?? [])
+ expectedErrors.add(error_code)
+ try {
+ hedSchemas = await getTestSchemas(schema)
+ } catch (e) {
+ loadIssue = convertIssue(e)
+ return
+ }
+ let defIssues
+ ;[defList, defIssues] = DefinitionManager.createDefinitions(definitions ?? [], hedSchemas)
+ assert.equal(defIssues.length, 0, `${name}: input definitions "${definitions}" have errors "${defIssues}"`)
+ })
+
+ if (!shouldRun(error_code, name, runAll, runMap, skipMap)) {
+ // eslint-disable-next-line no-console
+ console.log(`----Skipping hed-tests case ${error_code} [${name}]`)
+ return
+ }
+
+ if (name in skippedTests) {
+ test.skip(`Skipping ${error_code} [${name}]: ${skippedTests[name]}`, () => {})
+ return
+ }
+
+ test('it should build the schemas', () => {
+ expect(loadIssue === null || expectedErrors.has(loadIssue.hedCode)).toBe(true)
+ })
+
+ if (passedStrings.length > 0 && (runOnly.size === 0 || runOnly.has('stringPass'))) {
+ test.each(passedStrings)('Valid string: %s', (str) => {
+ stringValidator(str, noErrors)
+ })
+ }
+
+ if (failedStrings.length > 0 && (runOnly.size === 0 || runOnly.has('stringFail'))) {
+ test.each(failedStrings)('Invalid string: %s', (str) => {
+ stringValidator(str, expectedErrors)
+ })
+ }
+
+ if (passedSidecars.length > 0 && (runOnly.size === 0 || runOnly.has('sidecarPass'))) {
+ test.each(passedSidecars)('Valid sidecar: %s', (side) => {
+ sidecarValidator(side, noErrors)
+ })
+ }
+
+ if (failedSidecars.length > 0 && (runOnly.size === 0 || runOnly.has('sidecarFail'))) {
+ test.each(failedSidecars)('Invalid sidecar: %s', (side) => {
+ sidecarValidator(side, expectedErrors)
+ })
+ }
+
+ if (passedEvents.length > 0 && (runOnly.size === 0 || runOnly.has('eventsPass'))) {
+ test.each(passedEvents)('Valid events: %s', (events) => {
+ eventsValidator(events, noErrors)
+ })
+ }
+
+ if (failedEvents.length > 0 && (runOnly.size === 0 || runOnly.has('eventsFail'))) {
+ test.each(failedEvents)('Invalid events: %s', (events) => {
+ eventsValidator(events, expectedErrors)
+ })
+ }
+
+ if (passedCombos.length > 0 && (runOnly.size === 0 || runOnly.has('comboPass'))) {
+ test.each(passedCombos)('Valid combo: [%s] [%s]', (side, events) => {
+ comboValidator(side, events, noErrors)
+ })
+ }
+
+ if (failedCombos.length > 0 && (runOnly.size === 0 || runOnly.has('comboFail'))) {
+ test.each(failedCombos)('Invalid combo: [%s] [%s]', (side, events) => {
+ comboValidator(side, events, expectedErrors)
+ })
+ }
+ },
+ )
+})
+
+describe('HED schema tests from the hed-tests JSON suite', () => {
+ test.skip('schema_tests.json is not run: hed-javascript assumes the schemas it loads are valid and does not validate schema files', () => {})
+})
diff --git a/spec_tests/javascriptTests.json b/spec_tests/javascriptTests.json
deleted file mode 100644
index e386cbe4..00000000
--- a/spec_tests/javascriptTests.json
+++ /dev/null
@@ -1,12966 +0,0 @@
-[
- {
- "error_code": "CHARACTER_INVALID",
- "alt_codes": [
- "TAG_INVALID",
- "UNITS_INVALID",
- "VALUE_INVALID"
- ],
- "name": "character-invalid-non-printing-appears",
- "description": "The HED string contains a UTF-8 character.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Item/Bl\b",
- "Item/ABC\u009e"
- ],
- "passes": [
- "Red, Blue, Description/Red",
- "Description/This is a \u00ca\u00b0 good character"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "show": "Red, Item/Bl\b"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "show": "Red, Label/a-\u00ca\u00b0-good"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Item/Bl\b"
- ]
- ],
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Item/{abc}"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/Temp, Label/a-\u00ca\u00b0-good"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "show": "Red, Item/Bl\b",
- "ball": "Def/Acc/4.5"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "show",
- "Description/a \u00ca\u00b0 good"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Blue"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "show": "Red, Label/a, Description/a \u00ca\u00b0 good"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "show",
- "Description/goodness"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "CHARACTER_INVALID",
- "alt_codes": [
- "TAG_INVALID",
- "UNITS_INVALID",
- "VALUE_INVALID"
- ],
- "name": "curly-braces-not-in-sidecar",
- "description": "The curly brace notation is used outside a sidecar.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "{col_1}, Red"
- ],
- "passes": [
- "Red, Blue, Description/Red"
- ]
- },
- "sidecar_tests": {
- "fails": [],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Statistical-accuracy/0.677, {response}"
- }
- },
- "response": {
- "HED": "Label/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "{who_knows}, Red"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/Temp"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [],
- "passes": []
- }
- }
- },
- {
- "error_code": "CHARACTER_INVALID",
- "alt_codes": [
- "TAG_INVALID",
- "VALUE_INVALID"
- ],
- "name": "invalid-character-name-value-class",
- "description": "An invalid character was used in an 8.3.0 or greater style name value class.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Parameter-label/[",
- "Parameter-label/Taco*",
- "Label/30$",
- "Label/30db kg"
- ],
- "passes": [
- "Parameter-label/Words",
- "Label/30e10",
- "Label/3e10asdf"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "show": "Parameter-label/["
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": "Parameter-label/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/%max1"
- ]
- ],
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/$30"
- ]
- ],
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/30db kg"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/3e10asdf"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [],
- "passes": []
- }
- }
- },
- {
- "error_code": "CHARACTER_INVALID",
- "alt_codes": [
- "TAG_INVALID",
- "VALUE_INVALID"
- ],
- "name": "invalid-character-name-value-class",
- "description": "An invalid character was used in an 8.2.0 or earlier.",
- "warning": false,
- "schema": "8.2.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Parameter-label/[",
- "Parameter-label/Taco*",
- "Label/30$",
- "Label/30db kg"
- ],
- "passes": [
- "Parameter-label/Words",
- "Label/30e10",
- "Label/3e10asdf"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "show": "Parameter-label/["
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": "Parameter-label/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/%max1"
- ]
- ],
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/$30"
- ]
- ],
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/30db kg"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/3e10asdf"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [],
- "passes": []
- }
- }
- },
- {
- "error_code": "COMMA_MISSING",
- "alt_codes": [],
- "name": "comma-missing-tag-groups",
- "description": "Two tag groups are not separated by commas: (A, B)(C, D).",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Red, Blue)(Green, (Yellow))",
- "(Def/MyColor, Onset)(Def/Acc/3.5)"
- ],
- "passes": [
- "(Red, Blue), (Green, (Yellow))",
- "(Def/MyColor, Onset),(Def/Acc/3.5)"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue)(Green, (Yellow))",
- "ball": "(Def/MyColor, Onset)(Def/Acc/3.5)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, ( Yellow))",
- "ball": "(Def/MyColor, Onset),(Def/Acc/3.5)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Red, Blue)(Green, (Yellow))"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Onset)(Def/Acc/3.5)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Red, Blue), (Green, (Yellow))"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Onset),(Def/Acc/3.5)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue)(Green, (Yellow))",
- "ball": "(Def/MyColor, Onset)(Def/Acc/3.5)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ],
- [
- 6.0,
- 0,
- "n/a",
- "(Blue, Green)(Blue, Red)"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, ( Yellow))",
- "ball": "(Def/MyColor, Onset),(Def/Acc/3.5)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "(Green, Def/MyColor),(Red)"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "COMMA_MISSING",
- "alt_codes": [],
- "name": "comma-missing-tag-and-group",
- "description": "A tag and a tag group are not separated by commas: A(B,D).",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Red, Blue(Green, (Yellow))",
- "(Def/MyColor, Onset)Def/Acc/3.5"
- ],
- "passes": [
- "Red, (Green, (Yellow))",
- "(Def/MyColor, Onset),Def/Acc/3.5"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Red(Green, (Yellow))",
- "ball": "(Def/MyColor, Onset)Def/Acc/3.5"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Red, (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset),Def/Acc/3.5"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red(Green, (Yellow))"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Onset)Def/Acc/3.5"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, (Green, (Yellow))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red(Green, (Yellow))",
- "ball": "(Def/MyColor, Onset)Def/Acc/3.5"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ],
- [
- 6.0,
- 0,
- "n/a",
- "(Green, Yellow)Red"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red, (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset),Def/Acc/3.5"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [
- "TAG_GROUP_ERROR",
- "TAG_INVALID"
- ],
- "name": "definition-invalid-tag-group",
- "description": "A Definition tag does not appear in a tag group at the top level in an annotation.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Definition/Apple, (Blue)), ((Definition/Blech, (Red)))",
- "Definition/Blech, (Red)"
- ],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Blue)), ((Definition/Blech, (Red)))",
- "def2": "Definition/Blech, (Red)"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Blech, (Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Blue)), ((Definition/Blech, (Red)))",
- "def2": "Definition/Blech, (Red)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/MyColor, Def/Apple"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Blue))",
- "def2": "(Definition/Blech, (Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/MyColor, Def/Apple"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [
- "TAG_EMPTY"
- ],
- "name": "definition-invalid-empty-inner-group",
- "description": "A definition's enclosing tag group has an empty inner group (i.e., the definition's contents).",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def2": "(Definition/Blech/#, ())"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def2": "(Definition/Blech/#, ())"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/MyColor, Def/Apple"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple)",
- "def2": "(Definition/Blech, (Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/MyColor, Def/Apple"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "definition-invalid-multiple-definition-tags",
- "description": "A definition's enclosing tag group contains more than a `Definition` tag and an inner group.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, Definition/Banana, (Blue))",
- "def2": "(Definition/Blech, (Red), Definition/Banana1)",
- "def3": "(Definition/Blech1, (Red), Blue)"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Blue))",
- "def2": "((Red), Definition/Blech)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, Definition/Banana, (Blue))",
- "def2": "(Definition/Blech, (Red), Definition/Banana1)",
- "def3": "(Definition/Blech1, (Red), Blue)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple, Def/Banana"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Blue))",
- "def2": "((Red), Definition/Blech)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Blech, Def/Apple"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "definition-invalid-inner-group-defs",
- "description": "A definition's inner tag group contains `Definition`, `Def` or `Def-expand` tags.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Definition/Banana, Blue))",
- "def2": "(Definition/Blech, (Red, Def/Apple))"
- }
- }
- }
- ],
- "passes": []
- },
- "event_tests": {
- "fails": [],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/a"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Definition/Banana, (Blue)))",
- "def2": "(Definition/Blech, ((Red), Def/MyColor))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple, Def/Banana"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Blue))",
- "def2": "((Red), Definition/Blech)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Blech, Def/Apple"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [],
- "name": "definition-invalid-bad-number-of-placeholders",
- "description": "A definition that includes a placeholder (`#`) does not have exactly two `#` characters.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#, Description/#))",
- "def2": "(Definition/Blech/#, (Red))"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#))",
- "def2": "(Definition/Blech/#, (Red, Label/#))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#, Description/#))",
- "def2": "(Definition/Blech/#, (Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple/3, Def/Blech/might"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#))",
- "def2": "(Definition/Blech/#, (Red, Label/#))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Blech/5, Def/Apple/4"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [
- "TAG_INVALID",
- "PLACEHOLDER_INVALID"
- ],
- "name": "definition-invalid-placeholder-incorrect-of-positions",
- "description": "A definition has placeholders (`#`) in incorrect positions.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Label/#))",
- "def2": "(Definition/Blech/#, (Red, #))"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Label/Blue))",
- "def2": "(Definition/Blech/#, (Label/#, Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Label/#))",
- "def2": "(Definition/Blech/#, (Red, #))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple, Def/Blech/might"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#))",
- "def2": "(Definition/Blech/#, (Red, Label/#))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Blech/5, Def/Apple/4"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [
- "TAG_INVALID",
- "PLACEHOLDER_INVALID"
- ],
- "name": "definition-invalid-placeholder-conflict",
- "description": "Definitions of the same name appear with and without a `#`.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Label/#))",
- "def2": "(Definition/Apple/#, (Red, #))"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Blech/#, (Label/#))",
- "def2": "(Definition/Apple, (Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Label/#))",
- "def2": "(Definition/Apple/#, (Red, #))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple/3, Def/Apple"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#))",
- "def2": "(Definition/Blech, (Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Blech, Def/Apple/4"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [],
- "name": "definition-invalid-multiple-definitions",
- "description": "Multiple `Definition` tags with same name are encountered.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#, Description/#))",
- "def2": "(Definition/Apple/#, (Label/#))",
- "def3": "(Definition/MyColor, (Blue))"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/ThisIsALabel, Description/#))",
- "def2": "(Definition/Apple2/#, (Label/#))",
- "def3": "(Definition/MyColor2, (Blue))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#, Description/#))",
- "def2": "(Definition/Apple/#, (Label/#))",
- "def3": "(Definition/MyColor, (Blue))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple/3, Def/Blech/might"
- ],
- [
- 5.0,
- 0,
- "Def/MyColor"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#))",
- "def2": "(Definition/Blech/#, (Red, Label/#))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Blech/5, Def/Apple/4"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "definition-invalid-content-has-top-level-tag",
- "description": "A tag with a required or unique attribute appears in a definition.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Event-context, Red))",
- "def2": "(Definition/Banana/#, (Label/#))"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Red))",
- "def2": "(Definition/Banana/#, (Label/#))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Event-context, Red))",
- "def2": "(Definition/Banana/#, (Label/#))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple, Def/Banana/might"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple, (Red))",
- "def2": "(Definition/Banana/#, (Label/#))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple, Def/Banana/might"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEFINITION_INVALID",
- "alt_codes": [
- "TAG_INVALID"
- ],
- "name": "definition-not-allowed-here",
- "description": "A definition appears in an unexpected place such as an events file or sidecar.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Item, (Label/Pie)))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Red, Blue, (Definition/myDef, (Label/Red, Blue))"
- ],
- "passes": [
- "Red, Blue"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Red, Blue, (Definition/myDef, (Label/Red, Blue))",
- "ball": "Def/Acc/4.5"
- }
- }
- }
- ],
- "passes": [
- {
- "defs": {
- "HED": {
- "face": "(Definition/myDef, (Label/Red, Blue)), (Definition/myDef2, (Label/Red, Blue))",
- "ball": "(Definition/myDef1, (Label/Red, Blue))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Definition/myDef, (Label/Red, Green))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, Blue, Def/MyColor"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red, Blue, (Definition/myDef, (Label/Red, Blue))",
- "ball": "Def/Acc/4.5"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/myDef, Red"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "defs": {
- "HED": {
- "def1": "(Definition/Apple/#, (Label/#))",
- "def2": "(Definition/Blech/#, (Red, Label/#))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Blech/5, Def/Apple/4"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_EXPAND_INVALID",
- "alt_codes": [],
- "name": "def-expand-invalid-name-not-definition",
- "description": "A `Def-expand` tag's name does not correspond to a definition.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def-expand/MyColor2, (Label/Pie))"
- ],
- "passes": [
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc2/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/MyColor2, (Label/Pie))"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/MyColor, (Label/Pie))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc2/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/MyColor2, (Label/Pie))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/MyColor, (Label/Pie))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc2/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/MyColor2, (Label/Pie))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ],
- [
- 5.0,
- 0,
- "ball",
- "(Def-expand/Junk, (Label/Red))"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/MyColor, (Label/Pie))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/MyColor, (Label/Pie))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_EXPAND_INVALID",
- "alt_codes": [
- "VALUE_INVALID"
- ],
- "name": "def-expand-invalid-missing-placeholder",
- "description": "A `Def-expand` is missing an expected placeholder value or has an unexpected placeholder value.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def-expand/Acc, (Acceleration, Red))",
- "(Def-expand/MyColor/Blue, (Label/Pie))"
- ],
- "passes": [
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc, (Acceleration, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration, Red))"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc, (Acceleration, Red))"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration, Red))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc, (Acceleration, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration, Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code"
- ],
- [
- 4.5,
- 0,
- "face"
- ],
- [
- 5.5,
- 0,
- "ball"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ],
- [
- 5.2,
- 0,
- "ball",
- "(Def-expand/MyColor, (Label/Pie))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_EXPAND_INVALID",
- "alt_codes": [
- "VALUE_INVALID",
- "UNITS_INVALID"
- ],
- "name": "def-expand-invalid-bad-placeholder-value-or-units",
- "description": "A `Def-expand` has an incorrect type of placeholder value.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def-expand/Acc/Make-me, (Acceleration/Make-me, Red))",
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m, Red))",
- "(Def-expand/Acc/4.5, (Acceleration/4.5m-per-s^2, Red))"
- ],
- "passes": [
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/Make-me, (Acceleration/Make-me, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m, Red))",
- "square": "(Def-expand/Acc/4.5, (Acceleration/4.5m-per-s^2, Red))"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/Make-me, (Acceleration/Make-me, Red))"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m, Red))"
- ],
- [
- 6.3,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5m-per-s^2, Red))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/Make-me, (Acceleration/Make-me, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m, Red))",
- "square": "(Def-expand/Acc/4.5, (Acceleration/4.5m-per-s^2, Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Def-expand/Acc/Make-me, (Acceleration/Make-me, Red))"
- ],
- [
- 5.5,
- 0,
- "ball",
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m, Red))"
- ],
- [
- 6.3,
- 0,
- "square",
- "(Def-expand/Acc/4.5, (Acceleration/4.5m-per-s^2, Red))"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Def-expand/Acc/5.5, (Acceleration/5.5 m-per-s^2, Red))"
- ],
- [
- 5.5,
- 0,
- "ball",
- "(Def-expand/Acc/5.5, (Acceleration/5.5 m-per-s^2, Red))"
- ],
- [
- 6.5,
- 0,
- "n/a",
- "n/a"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_EXPAND_INVALID",
- "alt_codes": [],
- "name": "def-expand-invalid-tags-not-in-definition",
- "description": "The tags within a Def-expand do not match the corresponding definition.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def-expand/Acc/4.5, (Acceleration/6, Red))",
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Blue))",
- "(Def-expand/MyColor, (Label/Cake))"
- ],
- "passes": [
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/6, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Blue))",
- "square": "(Def-expand/MyColor, (Label/Cake))"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/6, Red))"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Blue))"
- ],
- [
- 6.3,
- 0,
- "(Def-expand/MyColor, (Label/Cake))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/6, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Blue))",
- "square": "(Def-expand/MyColor, (Label/Cake))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Def-expand/Acc/4.5, (Acceleration/6, Red))"
- ],
- [
- 5.5,
- 0,
- "ball",
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Blue))"
- ],
- [
- 6.3,
- 0,
- "square",
- "(Def-expand/MyColor, (Label/Cake))"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Def-expand/Acc/6.5, (Acceleration/6.5 m-per-s^2, Red))"
- ],
- [
- 5.5,
- 0,
- "ball",
- "(Def-expand/Acc/8.5, (Acceleration/8.5 m-per-s^2, Red))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_EXPAND_INVALID",
- "alt_codes": [],
- "name": "def-expand-missing-inner-group",
- "description": "A Def-expand is missing its inner group containing the definition.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Item, (Label/Pie)))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def-expand/Acc/5.4)"
- ],
- "passes": [
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Orange",
- "ball": "(Def-expand/Acc/4.5)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))",
- "ball": "Red"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 5.4,
- 0,
- "(Def-expand/Acc/5.4 )"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5)",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "(Def-expand/Acc/4.5)"
- ],
- [
- 5.4,
- 0,
- "n/a",
- "Green"
- ],
- [
- 6.4,
- 0,
- "face",
- "n/a"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))",
- "ball": "(Acceleration/4.5, Blue), Def/MyColor"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "n/a"
- ],
- [
- 6.5,
- 0,
- "ball",
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_EXPAND_INVALID",
- "alt_codes": [
- "DEFINITION_INVALID"
- ],
- "name": "def-expand-has-extras",
- "description": "A Def-expand has extra tags or groups.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Item, (Label/Pie)))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red), Blue)",
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red), (Blue, Green), Black)"
- ],
- "passes": [
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red), Blue)",
- "ball": "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red), (Blue, Green), Black)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))",
- "ball": "Red"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red), Blue)"
- ],
- [
- 5.4,
- 0,
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red), (Blue, Green), Black)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red), Blue)",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Def/Acc, (Def-expand/Acc/4.5)"
- ],
- [
- 5.4,
- 0,
- "n/a",
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red), Blue)"
- ],
- [
- 6.4,
- 0,
- "face",
- "n/a"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))",
- "ball": "(Acceleration/4.5 m-per-s^2, Blue), Def/MyColor"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "n/a"
- ],
- [
- 6.5,
- 0,
- "ball",
- "(Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_INVALID",
- "alt_codes": [],
- "name": "def-invalid-name",
- "description": "A `Def` tag's name does not correspond to a definition.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Def/Apple2, Green",
- "Def/Acc2/4.5",
- "Def/Acc"
- ],
- "passes": [
- "Def/Acc/4.5"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Def/Apple2, Green",
- "ball": "Def/Acc2/4.5, Def/Acc/3.2"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Def/Acc/4.5"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Apple2, Green"
- ],
- [
- 5.5,
- 0,
- "Def/Acc2/4.5"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Acc/4.5"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Def/Apple2, Green",
- "ball": "Def/Acc2/4.5, Def/Acc/3.2"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Def/Apple2, Green"
- ],
- [
- 5.5,
- 0,
- "face",
- "Def/Acc2/4.5"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Def/Acc/4.5",
- "ball": "Item"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_INVALID",
- "alt_codes": [],
- "name": "def-invalid-missing-placeholder",
- "description": "A `Def` tag is missing an expected placeholder value or has an unexpected placeholder value.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Def/Acc, (Def/Acc/4.5, Red)",
- "Def/MyColor/Blue"
- ],
- "passes": [
- "Def/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Def/Acc, (Def/Acc/4.5, Red)",
- "ball": "(Def/MyColor/Blue, Green)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Def/Acc/4.5, Red",
- "ball": "(Acceleration/4.5 m-per-s^2, Red), Def/MyColor"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Acc, (Def/Acc/4.5, Red)"
- ],
- [
- 5.4,
- 0,
- "Def/MyColor/Blue, Green"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Def/Acc, (Def/Acc/4.5, Red)",
- "ball": "(Def/MyColor/Blue, Green)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Def/Acc, (Def/Acc/4.5, Red)"
- ],
- [
- 5.4,
- 0,
- "n/a",
- "Def/MyColor/Blue, Green"
- ],
- [
- 6.4,
- 0,
- "face",
- "n/a"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Def/Acc/4.5, Red",
- "ball": "(Acceleration/4.5 m-per-s^2, Red), Def/MyColor"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Def/Acc/5.5, (Acceleration/4.5 m-per-s^2, Red)"
- ],
- [
- 6.5,
- 0,
- "ball",
- "n/a"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "DEF_INVALID",
- "alt_codes": [
- "VALUE_INVALID",
- "UNITS_INVALID"
- ],
- "name": "def-invalid-bad-placeholder-value",
- "description": "A `Def` has a placeholder value of incorrect format or units for definition.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Def/Acc/baloney, (Def/Acc/4.5, Red)",
- "Def/Acc/3 m",
- "Def/Acc/4m-per-s^2",
- "Def/MyColor/Redish"
- ],
- "passes": [
- "Def/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Def/Acc/baloney, (Def/Acc/4.5, Red)",
- "ball": "Def/Acc/3 m",
- "square": "Def/Acc/4m-per-s^2",
- "triangle": "Def/MyColor/Redish"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def/Acc/4.5, Red)",
- "ball": "Def/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Acc/baloney, (Def/Acc/4.5, Red)"
- ],
- [
- 5.0,
- 0,
- "Def/3 m"
- ],
- [
- 6.3,
- 0,
- "Def/Acc/4m-per-s^2"
- ],
- [
- 7.2,
- 0,
- "Def/MyColor/Redish"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Def/Acc/baloney, (Def/Acc/4.5 m-per-s^2, Red)",
- "ball": "Def/Acc/3 m",
- "square": "Def/Acc/4m-per-s^2",
- "triangle": "Def/MyColor/Redish"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Def/Acc/baloney, (Def/Acc/4.5, Red)"
- ],
- [
- 5.0,
- 0,
- "face",
- "Def/Acc/3 m"
- ],
- [
- 6.3,
- 0,
- "n/a",
- "Def/Acc/4m-per-s^2"
- ],
- [
- 7.2,
- 0,
- "square",
- "Def/MyColor/Redish"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/Acc/4.5, Red)",
- "ball": "Def/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "ELEMENT_DEPRECATED",
- "alt_codes": [],
- "name": "tag-deprecated",
- "description": "A tag is deprecated",
- "warning": true,
- "schema": "8.2.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Def/MyColor, Green, Gentalia",
- "Gentalia"
- ],
- "passes": [
- "Torso"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Def/MyColor, Green, Gentalia",
- "ball": "Green, Blue"
- }
- },
- "other_code": {
- "HED": "Label/#, Gentalia"
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Torso"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Gentalia, Green"
- ],
- [
- 5.5,
- 0,
- "n/a"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Torso"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Gentalia",
- "ball": "Green"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Blue"
- ],
- [
- 5.5,
- 0,
- "face",
- "Red"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Torso",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "PARENTHESES_MISMATCH",
- "alt_codes": [],
- "name": "parentheses-mismatch-unmatched-parentheses",
- "description": "A HED string does not have the same number of open and closed parentheses.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def/MyColor, (Blue, (Yellow)), Red))",
- "((Red, ((Blue, Green), Yellow))",
- "((Red, ((Blue), Green)), (Yellow)"
- ],
- "passes": [
- "(Def/Acc/5.3, (Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, (Blue, (Yellow)), Red))",
- "ball": "(Red, ((Blue, Green), Yellow))",
- "square": "(Red, ((Blue), Green)), (Yellow)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def/Acc/5.3, (Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, (Blue, (Yellow)), Red))"
- ],
- [
- 5.5,
- 0,
- "(Red, ((Blue, Green), Yellow))"
- ],
- [
- 6.3,
- 0,
- "(Red, ((Blue), Green)), (Yellow)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/Acc/5.3, (Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "Def/Acc/6, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "PARENTHESES_MISMATCH",
- "alt_codes": [],
- "name": "parentheses-mismatch-incorrect-nesting",
- "description": "The open and closed parentheses are not correctly nested in the HED string.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def/MyColor)), (Blue, (Yellow)), (Red)",
- ")(Def/MyColor)), (Blue, (Yellow)), (Red))"
- ],
- "passes": [
- "(Def/Acc/5.3, (Red))",
- "(((((Def/Acc/5.3, (Red))))))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor)), (Blue, (Yellow)), (Red)",
- "ball": ")(Def/MyColor)), (Blue, (Yellow)), (Red))"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def/Acc/5.3, (Red))",
- "ball": "(((((Def/Acc/5.3, (Red))))))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor)), (Blue, (Yellow)), (Red)"
- ],
- [
- 5.5,
- 0,
- ")(Def/MyColor)), (Blue, (Yellow)), (Red))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/Acc/5.3, (Red))"
- ],
- [
- 5.5,
- 0,
- "(((((Def/Acc/5.3, (Red))))))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor)), (Blue, (Yellow)), (Red)",
- "ball": ")(Def/MyColor)), (Blue, (Yellow)), (Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "),Red, (((Def/MyColor)))"
- ],
- [
- 5.0,
- 0,
- "ball",
- "(Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/Acc/5.3, (Red))",
- "ball": "(((((Def/Acc/5.3, (Red))))))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, ((Def/MyColor))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "PLACEHOLDER_INVALID",
- "alt_codes": [
- "VALUE_INVALID"
- ],
- "name": "placeholder-invalid-misplaced",
- "description": "A `#` appears in a place that it should not (such as in the `HED` column of an event file outside a definition).",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Label/#",
- "Def/Acc/#"
- ],
- "passes": [
- "Label/This-label"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Label/#",
- "ball": "Def/Acc/#2"
- }
- }
- }
- ],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/#"
- ],
- [
- 5.0,
- 0,
- "Def/Acc/#"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label/This-label"
- ],
- [
- 6.0,
- 0,
- "(Def/Acc/3.5)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/banana",
- "ball": "Def/Acc/apple3, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/Acc/#"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Label/#"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "PLACEHOLDER_INVALID",
- "alt_codes": [],
- "name": "placeholder-invalid-#-in-categorical-column",
- "description": "A JSON sidecar has a placeholder (`#`) in the HED dictionary for a categorical column.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Label/#",
- "ball": "Def/Acc/#"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Label/This-label",
- "ball": "(Def/Acc/3.5)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Label/#",
- "ball": "Def/Acc/#"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "PLACEHOLDER_INVALID",
- "alt_codes": [],
- "name": "placeholder-invalid-json-value-column",
- "description": "A JSON sidecar does not have exactly one placeholder (`#`) in each HED string representing a value column.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "trial": {
- "HED": "Def/Acc/#, Label/#"
- },
- "memory": {
- "HED": "Blue, Red, Label/#"
- }
- }
- ],
- "passes": [
- {
- "trial": {
- "HED": "Def/Acc/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "trial": {
- "HED": "Def/Acc/#, Label/#"
- },
- "memory": {
- "HED": "Blue, Red, Label/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "trial",
- "memory",
- "HED"
- ],
- [
- 4.5,
- 0,
- "3",
- "4",
- "Green, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "2",
- "6",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "trial": {
- "HED": "Def/Acc/#, Label/Trial"
- },
- "memory": {
- "HED": "Blue, Red, Label/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "trial",
- "memory",
- "HED"
- ],
- [
- 4.5,
- 0,
- "5",
- "4",
- "Green"
- ],
- [
- 5.0,
- 0,
- "3",
- "2",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "PLACEHOLDER_INVALID",
- "alt_codes": [
- "TAG_EXTENSION_INVALID",
- "VALID_INVALID"
- ],
- "name": "placeholder-invalid-json-#-misplaced",
- "description": "A placeholder (`#`) is used in JSON sidecar or definition, but its parent in the schema does not have a placeholder child.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "trial": {
- "HED": "Sensory-event/#"
- },
- "defs": {
- "def1": "(Definition/Blech/#, (Red, Blue/#))"
- }
- }
- ],
- "passes": [
- {
- "trial": {
- "HED": "Label/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "trial": {
- "HED": "Sensory-event/#"
- },
- "defs": {
- "def1": "(Definition/Blech/#, (Red, Blue/#))"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "trial",
- "HED"
- ],
- [
- 4.5,
- 0,
- "3",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "2",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "trial": {
- "HED": "Sensory-event, Label/#"
- },
- "defs": {
- "def1": "(Definition/Blech/#, (Red, Label/#))"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "trial",
- "HED"
- ],
- [
- 4.5,
- 0,
- "3",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "2",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "SIDECAR_BRACES_INVALID",
- "alt_codes": [
- "CHARACTER_INVALID",
- "SIDECAR_INVALID"
- ],
- "name": "sidecar-braces-contents-invalid",
- "description": "The item in curly braces is not the word HED or a column name with HED annotations in the sidecar.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description but no HED"
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_action": {
- "Description": "Does not correspond to curly braces"
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{HED}, (Def/Acc/3.5)"
- }
- },
- "response_action": {
- "Description": "Does not correspond to curly braces"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), ({HED})",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED",
- "response_time"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue",
- 0
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor",
- 1
- ],
- [
- 5.5,
- 0,
- "face",
- "",
- 2
- ],
- [
- 5.7,
- 0,
- "face",
- "n/a",
- 3
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "SIDECAR_BRACES_INVALID",
- "alt_codes": [
- "VALUE_INVALID",
- "CHARACTER_INVALID",
- "UNITS_INVALID",
- "DEF_INVALID"
- ],
- "name": "sidecar-braces-invalid-spot",
- "description": "A curly brace reference must only appear where a tag could.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "(Label/{response_time})"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [],
- "passes": []
- }
- }
- },
- {
- "error_code": "SIDECAR_BRACES_INVALID",
- "alt_codes": [],
- "name": "sidecar-braces-circular-reference",
- "description": "The item in curly braces has a HED annotation that contains curly braces.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), {HED}",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "HED": "Label/#, {event_code}"
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), {HED}",
- "ball": "{response_time}, (Def/Acc/3.5)",
- "dog": "Orange, {event_type}"
- }
- },
- "response_time": {
- "HED": "Label/#"
- },
- "event_type": {
- "HED": {
- "banana": "Blue, {response_time}",
- "apple": "Green"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- },
- "response_count": {
- "Description": "A count used to test curly braces in value columns.",
- "HED": "(Item-count/#, {response_time})"
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{HED}, (Def/Acc/3.5, {response_action})"
- }
- },
- "response_action": {
- "Description": "Does not correspond to curly braces",
- "HED": "Label/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), ({HED})",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Parameter-value/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "response_time",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- 3.4,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- 6.8,
- "ball",
- "Green, Def/MyColor"
- ],
- [
- 5.2,
- 0,
- "n/a",
- "face",
- ""
- ],
- [
- 5.5,
- 0,
- "any",
- "face",
- "n/a"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "SIDECAR_BRACES_INVALID",
- "alt_codes": [],
- "name": "sidecar-braces-self-reference",
- "description": "The item in curly braces has a HED annotation that contains itself.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), {HED}",
- "ball": "{HED}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "HED": "Parameter-value/#, {response_time}"
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Parameter-value/#"
- },
- "response_count": {
- "Description": "A count used to test curly braces in value columns.",
- "HED": "(Item-count/#, {response_time})"
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "{HED}",
- "ball": "Red"
- }
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "{HED}, (Def/Acc/3.5, {response_action})"
- }
- },
- "response_action": {
- "Description": "Does not correspond to curly braces",
- "HED": "Parameter-value/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), ({HED})",
- "ball": "{HED}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Parameter-value/#, {response_time}"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "response_time",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- 3.4,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- 6.8,
- "ball",
- "Green, Def/MyColor"
- ],
- [
- 5.2,
- 0,
- "n/a",
- "face",
- ""
- ],
- [
- 5.5,
- 0,
- "any",
- "face",
- "n/a"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), ({HED})",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Parameter-value/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "response_time",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- 3.4,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- 6.8,
- "ball",
- "Green, Def/MyColor"
- ],
- [
- 5.2,
- 0,
- "n/a",
- "face",
- ""
- ],
- [
- 5.5,
- 0,
- "7,3",
- "face",
- "n/a"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "{HED}",
- "ball": "Red"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "response_time",
- "event_code"
- ],
- [
- 4.5,
- 0,
- 3.4,
- "face"
- ],
- [
- 5.0,
- 0,
- 6.8,
- "ball"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "SIDECAR_BRACES_INVALID",
- "alt_codes": [
- "CHARACTER_INVALID",
- "VALUE_INVALID",
- "UNITS_INVALID"
- ],
- "name": "sidecar-braces-appear-as-value-rather-than-tag",
- "description": "The curly braces are in a value rather than as a separate tag substitute.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "Label/{response_time}, Black"
- }
- },
- "response_time": {
- "Description": "Has description but no HED",
- "HED": "Orange"
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "Label/{response_time}, Black"
- }
- },
- "response_time": {
- "Description": "Has description but no HED",
- "HED": "Label/#"
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), ({response_time}, (Green, (Yellow)))",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), ({HED})",
- "ball": "Label/{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Orange"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ],
- [
- 5.2,
- 0,
- "face",
- ""
- ],
- [
- 5.5,
- 0,
- "face",
- "n/a"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow)), ({HED})",
- "ball": "{response_time}, (Def/Acc/3.5)"
- }
- },
- "response_time": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED",
- "response_time"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue",
- 1
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor",
- 1
- ],
- [
- 5.2,
- 0,
- "face",
- "",
- 1
- ],
- [
- 5.5,
- 0,
- "face",
- "n/a",
- 1
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "SIDECAR_INVALID",
- "alt_codes": [],
- "name": "sidecar-invalid-key-at-wrong-level",
- "description": "The HED key is not a second-level dictionary key.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "temp": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset), (Def/Acc/3.5)"
- }
- }
- }
- },
- {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset), (Def/Acc/3.5)"
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset),(Def/Acc/3.5)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "temp": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset), (Def/Acc/3.5)"
- }
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- },
- {
- "sidecar": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset), (Def/Acc/3.5)"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "SIDECAR_INVALID",
- "alt_codes": [],
- "name": "sidecar-invalid-na-annotated",
- "description": "An annotation entry is provided for `n/a`.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue),(Green, (Yellow))",
- "n/a": "(Def/MyColor, Onset), (Def/Acc/3.5)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset),(Def/Acc/3.5)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, Blue),(Green, (Yellow))",
- "n/a": "(Def/MyColor, Onset), (Def/Acc/3.5)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "n/a",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "SIDECAR_KEY_MISSING",
- "alt_codes": [],
- "name": "sidecar-key-missing",
- "description": "A value in a categorical column does not have an expected entry in a sidecar.",
- "warning": true,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "Black, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "square",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "SIDECAR_KEY_MISSING",
- "alt_codes": [],
- "name": "sidecar-refers-to-missing-tsv-hed-column",
- "description": "(Warning) A sidecar uses a {HED} column which does not appear in the corresponding tsv file.",
- "warning": true,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "{HED}",
- "ball": "Red"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "{HED}",
- "ball": "Red"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code"
- ],
- [
- 4.5,
- 0,
- "face"
- ],
- [
- 5.0,
- 0,
- "ball"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "{HED}",
- "ball": "Red"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Green"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Black"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EMPTY",
- "alt_codes": [],
- "name": "tag-empty-extra-commas-or-parentheses",
- "description": "A HED string has extra commas or parentheses separated by only white space.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Red, , , Green",
- "(, Red, Green), Blue",
- "(Red, , Green), Blue",
- "(Red, Green,), Blue",
- "(Red, Green), Blue,"
- ],
- "passes": [
- "(Red, Blue), Green"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "square": "Red, , , Green",
- "test": "(, Red, Green), Blue",
- "pine": "(Red, , Green), Blue",
- "apple": "(Red, Green,), Blue"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Red, Blue",
- "ball": "Def/Acc/4.5, Def/Acc/3.2"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 5.5,
- 0,
- "Red, , , Green"
- ],
- [
- 7.5,
- 0,
- "(, Red, Green), Blue"
- ],
- [
- 8.2,
- 0,
- "(Red, , Green), Blue"
- ],
- [
- 9.1,
- 0,
- "(Red, Green,), Blue"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, (Blue, Green)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "square": "Red, , , Green",
- "test": "(, Red, Green), Blue",
- "pine": "(Red, , Green), Blue",
- "apple": "(Red, Green,), Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "test",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "apple",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red, Green",
- "ball": "Def/Acc/4.5, Def/Acc/3.2"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EMPTY",
- "alt_codes": [],
- "name": "tag-empty-begin-end-comma",
- "description": "A HED string begins or ends with a comma (ignoring white space).",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- ", Blue,Def/Acc/3.2 m-per-s^2",
- "(Blue, Green),Yellow,",
- ",,(Blue, Green),Yellow,"
- ],
- "passes": [
- "(Red, Blue), Green"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": ", Blue,Def/Acc/3.2",
- "ball": "(Blue, Green),Yellow,",
- "square": ",,(Blue, Green),Yellow,"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Red, Blue",
- "ball": "Def/Acc/4.5, Def/Acc/3.2"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- ", (Blue, Green),Yellow,"
- ],
- [
- 5.5,
- 0,
- ",,(Blue, Green),Yellow,"
- ],
- [
- 6.5,
- 0,
- ", Blue,Def/Acc/3.2"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, (Blue, Green)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": ", Blue,Def/Acc/3.2",
- "ball": "(Blue, Green),Yellow,",
- "square": ",,(Blue, Green),Yellow,"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EMPTY",
- "alt_codes": [],
- "name": "tag-empty-empty-parentheses",
- "description": "A tag group is empty (i.e., empty parentheses are not allowed).",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Red, (), (Blue), ((Green)))",
- "((( ))), Red"
- ],
- "passes": [
- "(Red, ( Blue ), ((Green)))",
- "(((Def/Acc/3.5)))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, (), (Blue), ((Green)))",
- "ball": "((( ))), Red"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, ( Blue ), ((Green)))",
- "ball": "(((Def/Acc/3.5)))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Red, (), (Blue), ((Green)))"
- ],
- [
- 5.5,
- 0,
- "((( ))), Red"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Red, ( Blue ), ((Green)))"
- ],
- [
- 5.5,
- 0,
- "(((Def/Acc/3.5)))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, (), (Blue), ((Green)))",
- "ball": "((( ))), Red"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red, ( Blue ), ((Green)))",
- "ball": "(((Def/Acc/3.5)))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EXPRESSION_REPEATED",
- "alt_codes": [],
- "name": "tag-expression-repeated-same-level",
- "description": "A tag is repeated in the same tag group or level.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Red, (Blue), Red, Green",
- "(Red, Blue, (Green)), (Red, Blue, (Green))",
- "(Red, (Blue, Green, (Yellow)), Red, (Blue, Green, (Yellow)))"
- ],
- "passes": [
- "Red, (Blue, Red)",
- "(Red, Blue, (Green)), (Red, Blue, ((Green)))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Red, (Blue), Red, Green",
- "ball": "(Red, Blue, (Green)), (Red, Blue, (Green))",
- "square": "(Red, (Blue, Green, (Yellow)), Red, (Blue, Green, (Yellow)))"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Red, (Blue, Red)",
- "ball": "(Red, Blue, (Green)), (Red, Blue, ((Green)))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, (Blue), Red, Green"
- ],
- [
- 5.5,
- 0,
- "(Red, Blue, (Green)), (Red, Blue, (Green))"
- ],
- [
- 6.5,
- 0,
- "(Red, (Blue, Green, (Yellow)), Red, (Blue, Green, (Yellow)))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, (Blue, Red)"
- ],
- [
- 5.5,
- 0,
- "(Red, Blue, (Green)), (Red, Blue, ((Green)))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red, (Blue), Red, Green",
- "ball": "(Red, Blue, (Green)), (Red, Blue, (Green))",
- "square": "(Red, (Blue, Green, (Yellow)), Red, (Blue, Green, (Yellow)))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red, (Blue, Red)",
- "ball": "(Red, Blue, (Green)), (Red, Blue, ((Green)))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EXPRESSION_REPEATED",
- "alt_codes": [],
- "name": "tags-duplicated-across-multiple-rows",
- "description": "Tags are repeated because two rows have the same onset value.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Red, Blue, Green)"
- ],
- [
- 5.5,
- 0,
- "(Red, Blue, Green)"
- ],
- [
- 4.5,
- 0,
- "(Blue, Red, Green)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Red, Blue, Green)"
- ],
- [
- 5.5,
- 0,
- "(Red, Blue, Green)"
- ],
- [
- 4.5,
- 0,
- "(Blue, (Red, Green))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "ball": "(Green, ((Blue, Orange, (Black, Purple))), White), Blue, Orange"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "(Red, Blue, Green)"
- ],
- [
- 5.5,
- 0,
- "ball",
- "(Red, Blue, Green)"
- ],
- [
- 4.5,
- 0,
- "n/a",
- "(Blue, Red, Green)"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "ball": "(Green, ((Blue, Orange, (Black, Purple))), White), Blue, Orange"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "(Red, Blue, Green)"
- ],
- [
- 5.5,
- 0,
- "ball",
- "(Red, Blue, Green)"
- ],
- [
- 4.5,
- 0,
- "n/a",
- "(Blue, (Red, Green))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EXPRESSION_REPEATED",
- "alt_codes": [],
- "name": "tags-with-duplicated-onsets-across-multiple-rows",
- "description": "Tags are repeated because two rows have the same onset value.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, Def/MyColor)"
- ],
- [
- 5.5,
- 0,
- "(Onset, Def/MyColor)"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, Onset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, Def/MyColor)"
- ],
- [
- 5.5,
- 0,
- "(Onset, Def/MyColor)"
- ],
- [
- 4.5,
- 0,
- "(Blue, (Red, Green))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "ball": "(Green, ((Blue, Orange, (Black, Purple))), White), Blue, Orange"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "(Onset, Def/MyColor)"
- ],
- [
- 5.5,
- 0,
- "ball",
- "(Red, Blue, Green)"
- ],
- [
- 4.5,
- 0,
- "n/a",
- "(Def/MyColor, Onset)"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "ball": "(Green, ((Blue, Orange, (Black, Purple))), White), Blue, Orange"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "(Onset, Def/MyColor)"
- ],
- [
- 5.5,
- 0,
- "ball",
- "(Def/MyColor, Onset)"
- ],
- [
- 4.5,
- 0,
- "n/a",
- "Red"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EXTENDED",
- "alt_codes": [],
- "name": "tag-extended-extension",
- "description": "A tag represents an extension from the schema.",
- "warning": true,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Red-color/Red/Big-red, Blue/Nice-blue),(Green, (Yellow))",
- "Sensory-presentation/Visual-presentation/Nice-yellow",
- "Red-color/Red/Redish",
- "Red-color/Red/Redish/More-redish",
- "((Green/Greenish))",
- "Red/1red",
- "Red/Red--2red"
- ],
- "passes": [
- "Red-color/Red"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Red-color/Red/Big-red, Blue/Nice-blue),(Green, (Yellow))",
- "ball": "Sensory-presentation/Visual-presentation/Nice-yellow",
- "square": "((Green/Greenish))",
- "triangle": "Red/1red",
- "catwalk": "Red/Red--2red"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Red-color/Red"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Red-color/Red/Big-red, Blue/Nice-blue),(Green, (Yellow))"
- ],
- [
- 5.5,
- 0,
- "Sensory-presentation/Visual-presentation/Nice-yellow"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red-color/Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Red-color/Red/Big-red/Bigger-red, Blue/Nice-blue),(Green, (Yellow))",
- "ball": "Sensory-presentation/Visual-presentation/Nice-yellow"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EXTENSION_INVALID",
- "alt_codes": [],
- "name": "tag-extension-invalid-duplicate",
- "description": "A tag extension term is already in the schema.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Red-color/Red/DarkRed, Sensory-presentation/Red",
- "Sensory-presentation/Red/Redish"
- ],
- "passes": [
- "Red-color/Red/Redish",
- "((Green/Greenish))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Red-color/Red/DarkRed, Sensory-presentation/Red",
- "ball": "Sensory-presentation/Red/Redish"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Red-color/Red/Redish",
- "ball": "((Green/Greenish))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red-color/Red/DarkRed, Sensory-presentation/Red"
- ],
- [
- 5.5,
- 0,
- "Sensory-presentation/Red/Redish"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red-color/Red"
- ],
- [
- 5.5,
- 0,
- "((Green))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red-color/Red/DarkRed, Sensory-presentation/Red",
- "ball": "Sensory-presentation/Red/Redish"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red-color/Red",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_EXTENSION_INVALID",
- "alt_codes": [
- "CHARACTER_INVALID",
- "PLACEHOLDER_INVALID"
- ],
- "name": "tag-extension-invalid-bad-node-name",
- "description": "A tag extension term does not comply with rules for schema nodes.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Red/Red$2",
- "Red/R#d"
- ],
- "passes": [
- "Red-color/Red",
- "((Green))",
- "Red"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Red/Red$2",
- "ball": "Red/R#d"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Red-color/Red/Redish",
- "ball": "Red-color/Red/Redish/More-redish",
- "square": "((Green/Greenish))",
- "triangle": "Red/1red",
- "catwalk": "Red/Red--2red"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red/Red$2"
- ],
- [
- 5.5,
- 0,
- "Red/R#d"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red-color/Red/Redish"
- ],
- [
- 5.5,
- 0,
- "Red-color/Red/Redish/More-redish"
- ],
- [
- 6.5,
- 0,
- "((Green/Greenish))"
- ],
- [
- 7.5,
- 0,
- "Red/1red"
- ],
- [
- 8.2,
- 0,
- "Red/Red--2red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red/Red$2",
- "ball": "Red/R#d"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red/Redish-like",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_GROUP_ERROR",
- "alt_codes": [
- "TEMPORAL_TAG_ERROR",
- "TAG_INVALID",
- "DEFINITION_INVALID"
- ],
- "name": "tag-group-error-missing",
- "description": "A tag has tagGroup or topLevelTagGroup attribute, but is not enclosed in parentheses.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Definition/Blech, (Red)",
- "Def-expand/Acc/4.5 m-per-s^2, (Acceleration/4.5, Red)",
- "Onset",
- "Duration/3.0 s",
- "Delay/3.0 s"
- ],
- "passes": [
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "((Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)), Onset)",
- "(Duration/3.0 s, (Event))",
- "(Duration/3.0 s, Delay/2.0 s, (Event))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)), Onset"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))",
- "ball": "((Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)), Onset)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)"
- ],
- [
- 5.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)), Onset"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red))"
- ],
- [
- 5.5,
- 0,
- "((Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)), Onset)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)",
- "ball": "(Def-expand/Acc/4.5, (Acceleration/4.5 m-per-s^2, Red)), Onset"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_GROUP_ERROR",
- "alt_codes": [
- "TEMPORAL_TAG_ERROR"
- ],
- "name": "tag-group-error-not-top-level",
- "description": "A tag with the topLevelTagGroup does not appear at a HED tag group at the top level in an assembled HED annotation.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor, ((Duration/5 s, (Red)))"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor, (Duration/5 s, (Red))"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/banana",
- "ball": "((Def/Acc/3.0, Onset))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "(Def/Acc/3.0, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_GROUP_ERROR",
- "alt_codes": [
- "TEMPORAL_TAG_ERROR"
- ],
- "name": "tag-group-error-deferred-in-splice",
- "description": "A tag with the topLevelTagGroup does not appear at a HED tag group at the top level in an assembled HED annotation.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "duration": {
- "HED": "Duration/#, (Red, Blue)"
- },
- "event_code": {
- "HED": {
- "face": "(Red, Blue)",
- "ball": "Black"
- }
- },
- "ball_type": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- },
- {
- "duration": {
- "HED": "Duration/#, (Red, Blue)"
- },
- "event_code": {
- "HED": {
- "face": "(Red, Blue)",
- "ball": "{ball_type}, Black"
- }
- },
- "ball_type": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- }
- ],
- "passes": [
- {
- "duration": {
- "HED": "Parameter-value/#"
- },
- "event_code": {
- "HED": {
- "face": "({duration}, ((Red, Blue), {ball_type}))",
- "ball": "{ball_type}, Black"
- }
- },
- "ball_type": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor, ((Duration/5 s, (Red)))"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor, (Duration/5 s, (Red))"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "duration": {
- "HED": "Duration/#, (Red, Blue)"
- },
- "event_code": {
- "HED": {
- "face": "{duration}, ((Red, Blue), {ball_type})",
- "ball": "{ball_type}, Black"
- }
- },
- "ball_type": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "duration": {
- "HED": "Duration/#"
- },
- "event_code": {
- "HED": {
- "face": "({duration}, ((Red, Blue), {ball_type}))",
- "ball": "{ball_type}, Black"
- }
- },
- "ball_type": {
- "Description": "Has description with HED",
- "HED": "Label/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_GROUP_ERROR",
- "alt_codes": [
- "TEMPORAL_TAG_ERROR"
- ],
- "name": "multiple-top-level-tags-in-same-group",
- "description": "Multiple tags with the topLevelTagGroup attribute appear in the same top-level tag group. (Delay and Duration are allowed to be in the same topLevelTagGroup).",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def/MyColor, Onset, Event-context)",
- "(Event-context, Red, Offset)",
- "(Event-context, Duration/3.0 s, Offset)",
- "(Delay/3.0 s, Duration/2.0 s, Offset)"
- ],
- "passes": [
- "(Def/MyColor, Onset)",
- "((Event), Duration/3.0 s, Delay/2.0 s)"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Acceleration/banana",
- "ball": "(Def/Acc/3.0, Onset, Event-context)"
- }
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "Acceleration/5.0",
- "ball": "Red"
- }
- },
- "val_col": {
- "HED": "Time-interval/# s, (Duration/5.0 s, ({event_code}), Duration/6.0)"
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Acceleration/5.0)",
- "ball": "(Delay/5.0 s, (Acceleration/5.0))"
- }
- },
- "val_col": {
- "HED": "Time-interval/# s, (Duration/5.0 s, (Red)), {event_code}"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, (Event-context, Def/MyColor, Onset)"
- ],
- [
- 5.0,
- 0,
- "Green"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Red, (Event-context, (Def/MyColor))"
- ],
- [
- 5.0,
- 0,
- "Green"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/banana",
- "ball": "(Def/Acc/3.0, Onset, Event-context)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, (Def/MyColor, Event-context, Event-context)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "(Def/Acc/3.02, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue, (Event-context, (Label/Red))"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_INVALID",
- "alt_codes": [
- "PLACEHOLDER_INVALID"
- ],
- "name": "tag-invalid-in-schema",
- "description": "The tag is not valid in the schema it is associated with.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Label #",
- "ReallyInvalid/Extension",
- "ReallyInvalid"
- ],
- "passes": [
- "Brown-color/Brown"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Label #",
- "ball": "ReallyInvalid/Extension",
- "square": "ReallyInvalid"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Brown-color/Brown"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Label #"
- ],
- [
- 5.5,
- 0,
- "Property/Sensory-event"
- ],
- [
- 5.5,
- 0,
- "Sensory-event/Baloney"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Brown-color/Brown"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "ReallyInvalid",
- "ball": "Property/Sensory-event",
- "square": "Sensory-event/Baloney"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue/Apples"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_INVALID",
- "alt_codes": [],
- "name": "tag-has-extra-white space",
- "description": "A HED tag has extra internal whitespace, including directly before or after slashes.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Sensory- event,Green",
- "Sensory -event,Blue",
- "Event /Sensory-event, Black",
- "Event/ Sensory-event,White"
- ],
- "passes": [
- "Sensory-event, Green"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "square": "Sensory- event,Green",
- "test": "Sensory -event,Blue",
- "pine": "Event /Sensory-event, Black",
- "apple": "Event/ Sensory-event,White"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Sensory-event, Green",
- "ball": "Def/Acc/4.5, Def/Acc/3.2"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 5.5,
- 0,
- "Sensory- event,Green"
- ],
- [
- 7.5,
- 0,
- "Sensory -event,Blue"
- ],
- [
- 8.2,
- 0,
- "Event /Sensory-event, Black"
- ],
- [
- 9.1,
- 0,
- "Event/ Sensory-event,White"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Sensory-event, Green"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "square": "Sensory- event,Green",
- "test": "Sensory -event,Blue",
- "pine": "Event /Sensory-event, Black",
- "apple": "Event/ Sensory-event,White"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "test",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "apple",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": " Red, Green",
- "ball": "Def/Acc/4.5, Def/Acc/3.2"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_INVALID",
- "alt_codes": [],
- "name": "tag-has-leading-trailing-or-consecutive-slashes",
- "description": "A HED tag has leading, trailing or consecutive slashes.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "/Event",
- "Red/",
- "Event//Sensory-event",
- "//Event",
- "Body-part/Head-part//Brain",
- "Def/Acc/4.5//",
- "Def/Acc/4.5/",
- "/ /Def/Acc/4.5 ms/"
- ],
- "passes": [
- "Body-part/Head-part/Brain",
- "Label/Red, Informational-property/Label/Blue"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Event//Sensory-event",
- "ball": "/Event",
- "square": "Red/",
- "test": "/ /Def/Acc/4.5/"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Body-part/Head-part/Brain",
- "ball": "Def/Acc/4.5, Def/Acc/3.2"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "/Event,"
- ],
- [
- 5.5,
- 0,
- "Body-part/Head-part//Brain"
- ],
- [
- 6.5,
- 0,
- "Event/Sensory-event/"
- ],
- [
- 7.2,
- 0,
- "/ /Def/Acc/4.5/"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Event/Sensory-event"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Event//Sensory-event",
- "ball": "//Event",
- "square": "Body-part/Head-part//Brain",
- "test": "/ /Def/Acc/4.5"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red/, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ],
- [
- 7.2,
- 0,
- "n/a",
- "/ /Def/Acc/4.5"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Event/Sensory-event"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_NAMESPACE_PREFIX_INVALID",
- "alt_codes": [],
- "name": "tag-namespace_prefix-invalid-characters",
- "description": "A tag prefix has invalid characters.",
- "warning": false,
- "schema": [
- "8.3.0",
- "sc:score_1.0.0"
- ],
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "sc2:Sleep-modulator, Red",
- "sca:Sleep-modulator, Red"
- ],
- "passes": [
- "Blue",
- "sc:Sleep-modulator, Red"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "sc1:Sleep-modulator, Red",
- "ball": "(Def/MyColor, Onset)(Def/Acc/3.5)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Red, Blue), (Green, (Yellow))",
- "ball": "(Def/MyColor, Onset),(Def/Acc/3.5)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "sc1:Sleep-modulator, Red"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Red, Blue), (Green, (Yellow))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "sc1:Sleep-modulator, Red",
- "ball": "(Def/MyColor, Onset)(Def/Acc/3.5)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2, sc:Sleep-modulator",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_NAMESPACE_PREFIX_INVALID",
- "alt_codes": [],
- "name": "tag-namespace_prefix-with-colon-values",
- "description": "A tag prefix has invalid characters.",
- "warning": false,
- "schema": [
- "ts:8.3.0"
- ],
- "definitions": [
- "(ts:Definition/Acc/#, (ts:Acceleration/# m-per-s^2, ts:Red))",
- "(ts:Definition/MyColor, (ts:Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Creation-date/2009-04-09T12:04:14"
- ],
- "passes": [
- "ts:Creation-date/2009-04-09T12:04:14"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Creation-date/2009-04-09T12:04:14",
- "ball": "Red"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "ts:Creation-date/2009-04-09T12:04:14",
- "ball": "ts:Blue"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Creation-date/2009-04-09T12:04:14"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ts:Creation-date/2009-04-09T12:04:14"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Creation-date/2009-04-09T12:04:14",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Creation-date/2009-04-09T12:04:14"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "ts:Creation-date/2009-04-09T12:04:14",
- "ball": "ts:Def/Acc/7, ts:Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "ts:Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "ts:Green, ts:Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_NOT_UNIQUE",
- "alt_codes": [],
- "name": "tag-not-unique",
- "description": "A tag with unique attribute appears more than once in an event-level HED string.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Event-context, (Red, Blue)), (Event-context, (Green, Yellow))"
- ],
- "passes": [
- "(Event-context, (Red, Blue))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Event-context, (Red, Blue)), (Event-context, (Green, Yellow))"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Event-context, (Red, Blue))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Event-context, (Red, Blue)), (Event-context, (Green, Yellow))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Event-context, (Red, Blue))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Event-context, (Red, Blue)), (Event-context, (Green, Yellow))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Event-context, (Red, Blue))",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "(Event-context, (Red, Blue))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TAG_REQUIRES_CHILD",
- "alt_codes": [],
- "name": "tag-requires-child-no-child",
- "description": "A tag has the requireChild schema attribute but does not have a child.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Blue, Def)",
- "Def, Red"
- ],
- "passes": [
- "(Blue, Def/MyColor, (Red))",
- "Label/Redish, Def/MyColor, Red"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Blue, Def)",
- "ball": "Label, Red"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Blue, Def/MyColor, (Red))",
- "ball": "Label/Redish, Red"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Blue, Def)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Blue, Def/MyColor, (Red))"
- ],
- [
- 5.0,
- 0,
- "Label/Redish, Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Blue, Def)",
- "ball": "Label, Red"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Label/Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-not-tag-group",
- "description": "An Onset or Offset tag does not appear in a tag group.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Onset, Red",
- "Offset, Def/Acc/5.4"
- ],
- "passes": [
- "(Onset, Def/Acc/5.4)"
- ]
- },
- "sidecar_tests": {
- "fails": [],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/Acc/5.4)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Onset, Red"
- ],
- [
- 5.0,
- 0,
- "Onset, Def/MyColor"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, (Def-expand/MyColor, (Label/Pie)), (Red))"
- ],
- [
- 5.5,
- 0,
- "(Onset, Def/Acc/5.4)"
- ],
- [
- 6.3,
- 0,
- "(Offset, Def/Acc/5.4)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Onset, Red",
- "ball": "(Onset, Def/Acc/5.4)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Onset, Def/MyColor"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/Acc/5.4)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 5.5,
- 0,
- "n/a",
- "(Onset, Def/Acc/5.4)"
- ],
- [
- 6.3,
- 0,
- "n/a",
- "(Offset, Def/Acc/5.4)"
- ],
- [
- 8.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 9.0,
- 0,
- "n/a",
- "Green, ((Def-expand/MyColor, (Label/Pie)), Onset)"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-nested-group",
- "description": "An Onset or Offset tag appears in a nested tag group (not a top-level tag group).",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "((Onset, Def/MyColor), Red)"
- ],
- "passes": [
- "(Onset, Def/MyColor), Red"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "((Onset, Def/MyColor), Red)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor), Red"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "((Onset, Def/MyColor), Red)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, Def/MyColor), Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "((Onset, Def/MyColor), Red)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "n/a",
- "((Onset, Def/MyColor), Red)"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor), Red"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "n/a",
- "(Onset, Def/MyColor), Red"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-wrong-number-of-defs",
- "description": "An Onset or Offset tag is not grouped with exactly one Def-expand tag group or a Def tag.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Onset, (Red))"
- ],
- "passes": [
- "(Onset, Def/MyColor, (Red))",
- "(Onset, (Def-expand/MyColor, (Label/Pie)), (Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Onset, (Red))",
- "ball": "(Onset, Def/MyColor, Def/Acc/4.3)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor, (Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, (Red))"
- ],
- [
- 5.5,
- 0,
- "(Onset, Def/MyColor, Def/Acc/4.32)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, Def/MyColor, (Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Onset, (Red))",
- "ball": "(Onset, Def/MyColor, Def/Acc/4.3)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Green, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "n/a",
- "(Onset, (Yellow))"
- ],
- [
- 6.0,
- 0,
- "ball",
- "n/a"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor, (Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "n/a",
- "(Onset, Def/MyColor, (Blue))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-onset-has-more-groups",
- "description": "An Onset group has more than one additional tag group.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Onset, Def/MyColor, (Red), (Blue))",
- "((Def-expand/MyColor, (Label/Pie)), (Green), (Red), Onset)"
- ],
- "passes": [
- "(Onset, Def/MyColor)",
- "((Def-expand/MyColor, (Label/Pie)), (Red), Onset)"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor, (Red), (Blue))",
- "ball": "((Def-expand/MyColor, (Label/Pie)), (Green), (Yellow), Onset)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor)",
- "ball": "((Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, Def/MyColor, (Red), (Blue))"
- ],
- [
- 5.5,
- 0,
- "((Def-expand/MyColor, (Label/Pie)), (Green), ((Yellow)), Onset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, Def/MyColor)"
- ],
- [
- 5.0,
- 0,
- "((Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "((Def-expand/MyColor, (Label/Pie)), (Green), ((Yellow)), Onset)",
- "ball": "(Onset, Def/MyColor, (Red), (Blue))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ],
- [
- 6.0,
- 0,
- "n/a",
- "(Def/MyColor, (Red), (Blue), Onset)"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor)",
- "ball": "((Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "n/a",
- "((Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-offset-has-groups",
- "description": "An Offset appears with one or more tags or additional tag groups.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor)",
- "ball": "((Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Offset, Def/MyColor, (Red))",
- "circle": "((Def-expand/MyColor, (Label/Pie)), Offset, Blue)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor)",
- "ball": "((Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Offset, Def/MyColor)",
- "circle": "((Def-expand/MyColor, (Label/Pie)), Offset)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, Def/MyColor)"
- ],
- [
- 4.8,
- 0,
- "(Offset, Def/MyColor, (Red))"
- ],
- [
- 4.9,
- 0,
- "(Onset, Def/MyColor, (Red))"
- ],
- [
- 5.5,
- 0,
- "((Def-expand/MyColor, (Label/Pie)), (Green), Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Onset, Def/MyColor)"
- ],
- [
- 4.8,
- 0,
- "(Offset, Def/MyColor)"
- ],
- [
- 4.9,
- 0,
- "(Onset, Def/MyColor, (Red))"
- ],
- [
- 5.5,
- 0,
- "((Def-expand/MyColor, (Label/Pie)), Offset)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor)",
- "ball": "((Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Offset, Def/MyColor, (Red))",
- "circle": "((Def-expand/MyColor, (Label/Pie)), Offset, Blue)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "n/a"
- ],
- [
- 4.8,
- 0,
- "square",
- "n/a"
- ],
- [
- 4.9,
- 0,
- "ball",
- "Green"
- ],
- [
- 5.5,
- 0,
- "((Def-expand/MyColor, (Label/Pie)), Offset, Blue)",
- "Orange"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Onset, Def/MyColor)",
- "ball": "((Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Offset, Def/MyColor)",
- "circle": "((Def-expand/MyColor, (Label/Pie)), Offset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "n/a"
- ],
- [
- 4.8,
- 0,
- "square",
- "n/a"
- ],
- [
- 4.9,
- 0,
- "ball",
- "Green"
- ],
- [
- 5.5,
- 0,
- "circle",
- "Orange"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [],
- "name": "temporal-tag-error-offset-with-no-onset",
- "description": "An Offset tag associated with a given definition appears after a previous Offset tag without the appearance of an intervening Onset of the same name.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, Offset)"
- ],
- [
- 6.5,
- 0,
- "Red, (Def/MyColor, Offset)"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, Onset)"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Offset)"
- ],
- [
- 6.5,
- 0,
- "Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Onset)",
- "ball": "(Def/MyColor, Offset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Red, Blue"
- ],
- [
- 4.8,
- 0,
- "ball",
- "Red, Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Onset)",
- "ball": "(Def/MyColor, Offset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-extra tags",
- "description": "An Onset tag group with has tags besides the anchor Def or Def-expand that are not in a tag group.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Def/MyColor, Blue, Green, Onset)"
- ],
- "passes": [
- "(Def/MyColor, (Blue), Onset)"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Blue, Green, Onset)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, (Blue), Onset)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, Blue, (Green), Onset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, (Blue), Onset)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Blue, Green, Onset)",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "((Blue, Green), Def/MyColor, Onset)",
- "ball": "(Def/Acc/7, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [],
- "name": "temporal-tag-error-duplicated-onset-or-offset",
- "description": "An Onset or an Offset with a given Def or Def-expand anchor appears in the same event marker with another Onset or Offset that uses the same anchor.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, (Green), Onset)",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Def/MyColor, (Blue), Onset)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, (Green), Onset)",
- "ball": "(Def/MyColor, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Def/MyColor, Offset)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "(Def/MyColor, Offset)"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, (Green), Onset)",
- "ball": "(Def/MyColor, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Def/MyColor, Offset)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "(Def/MyColor, Offset)"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "((Blue, Green), Def/MyColor, Onset)",
- "ball": "(Def/MyColor, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [],
- "name": "temporal-tag-error-inset-outside-its-event",
- "description": "An Inset tag is not grouped with a Def or Def-expand of an ongoing Onset.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Inset, (Red))"
- ],
- [
- 6.5,
- 0,
- "Red, (Def/MyColor, Offset)"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, Onset)"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Offset)"
- ],
- [
- 6.5,
- 0,
- "Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Onset)",
- "ball": "(Def/MyColor, Offset)",
- "snack": "(Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "snack",
- "Red, Blue"
- ],
- [
- 4.8,
- 0,
- "face",
- "Red, Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Onset)",
- "ball": "(Def/MyColor, Offset)",
- "snack": "(Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 4.8,
- 0,
- "snack",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-inset-group-has-extras",
- "description": "An Inset group has tags or groups in addition to its defining Def or Def-expand.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 2.5,
- 0,
- "Red, (Def/MyColor, Onset)"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, Blue, Inset)"
- ],
- [
- 6.5,
- 0,
- "Red, (Def/MyColor, Onset)"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Def/MyColor, (Blue), Onset)"
- ],
- [
- 4.8,
- 0,
- "(Def/MyColor, (Green), Inset)"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Offset)"
- ],
- [
- 6.5,
- 0,
- "Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Onset)",
- "ball": "(Def/MyColor, Offset)",
- "snack": "(Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "snack",
- "Red, Blue"
- ],
- [
- 4.8,
- 0,
- "face",
- "Red, Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Onset)",
- "ball": "(Def/MyColor, Offset)",
- "snack": "(Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 4.7,
- 0,
- "face",
- "Blue"
- ],
- [
- 4.8,
- 0,
- "snack",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-duration-group",
- "description": "A Duration or Delay has extra tags or groups.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Duration/3.0 s, Delay/2.0 s, (Green), (Blue))",
- "(Duration/3.0 s, (Green), (Blue))",
- "(Delay/3.0 s, (Green), (Blue))"
- ],
- "passes": [
- "(Duration/3.0 s, Delay/2.0 s, (Blue))",
- "(Duration/3.0 s, (Blue))",
- "(Delay/3.0 s, (Blue))"
- ]
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 5.0,
- 0,
- "(Duration/3.0 s, Delay/2.0 s)"
- ],
- [
- 5.5,
- 0,
- "(Duration/3.0 s, Delay/2.0 s, Event)"
- ],
- [
- 6.0,
- 0,
- "(Duration/3.0 s, Delay/2.0 s, (Green), (Blue))"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "((Blue), Duration/3.0 s)"
- ],
- [
- 4.8,
- 0,
- "((Green), Delay/2.0 s)"
- ],
- [
- 5.0,
- 0,
- "((Green), Duration/3.0 s, Delay/2.0 s)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Duration/3.0 s, (Event))",
- "ball": "(Delay/3.0 s, (Event))",
- "snack": "(Duration/3.0 s, Delay/2.0 s, (Event))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 4.7,
- 0,
- "face",
- "Blue"
- ],
- [
- 4.8,
- 0,
- "snack",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-tag-appears-where-not-allowed",
- "description": "A temporal tag appears appears in a tsv with no onset column",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "duration",
- "HED"
- ],
- [
- 0,
- "(Duration/5 s, (Red))"
- ],
- [
- 0,
- "Red, (Def/MyColor, Onset)"
- ],
- [
- 0,
- "(Def/MyColor, Yellow, Inset)"
- ],
- [
- 0,
- "Red, (Def/MyColor, Onset)"
- ],
- [
- 0,
- "(Def/MyColor, Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "duration",
- "HED"
- ],
- [
- 0,
- "(Def/MyColor, (Blue))"
- ],
- [
- 0,
- "(Def/MyColor, (Green))"
- ],
- [
- 0,
- "(Def/MyColor)"
- ],
- [
- 0,
- "Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Onset)",
- "ball": "(Def/MyColor, Offset)",
- "snack": "(Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "event_code",
- "HED"
- ],
- [
- "n/a",
- "(Duration/5.0, (Red))"
- ],
- [
- "face",
- "Def/MyColor, Red, Blue"
- ],
- [
- "ball",
- "Def/MyColor, Red, Blue"
- ],
- [
- "snack",
- "Green"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Duration/5.0, (Red))",
- "ball": "(Delay/4.0, (Green))"
- }
- }
- },
- "events": [
- [
- "event_code",
- "HED"
- ],
- [
- "face",
- "Def/MyColor, Red, Blue"
- ],
- [
- "ball",
- "Def/MyColor, Red, Blue"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor)",
- "ball": "(Def/MyColor)",
- "snack": "(Def/MyColor)"
- }
- }
- },
- "events": [
- [
- "event_code",
- "HED"
- ],
- [
- "face",
- "Blue"
- ],
- [
- "face",
- "Blue"
- ],
- [
- "snack",
- "Blue"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "na-in-onset column",
- "description": "n/a is in the onset column.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "Black, White"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 5.0,
- 0,
- "face",
- "Def/MyColor, Red, Blue"
- ],
- [
- "n/a",
- 0,
- "ball",
- "(Onset, Def/MyColor, (Red))"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Orange",
- "ball": "(Delay/4.0, (Green))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 5.0,
- 0,
- "face",
- "Def/MyColor, Red, Blue"
- ],
- [
- "n/a",
- 0,
- "ball",
- "Item"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "(Black, White)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 5.0,
- "face",
- "Red, Blue"
- ],
- [
- "n/a",
- 0,
- "ball",
- "(Duration/5.0, (Red))"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5",
- "ball": "(Black, White)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 5.0,
- 0,
- "face",
- "Red, Blue"
- ],
- [
- "n/a",
- 0,
- "ball",
- "(Duration/5.0, (Red))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-not-tag-group-delay",
- "description": "A Delay is not in the tag group.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Delay/5, Red)",
- "(Delay/5, Def/Acc/5.4)",
- "(Delay/5, (Def-expand/Acc/5.4, (Acceleration/5.4 m-per-s^2, Red)))"
- ],
- "passes": [
- "(Delay/5 s, (Def/Acc/5.4))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Blue, Red",
- "ball": "(Delay/5.0 s, Def/Acc/5.4)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, (Def/Acc/5.4))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 5.0,
- 0,
- "Delay/1.0 s, Red"
- ]
- ],
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Delay/1.0 s, (Red)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, (Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Red",
- "ball": "Delay/5.0 s, Def/Acc/5.4"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Red"
- ],
- [
- 4.8,
- 0,
- "n/a",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, (Def/Acc/5.4))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 8.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 9.0,
- 0,
- "n/a",
- "Green, (Delay/5.0 s, (Def/MyColor))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-nested-group-delay",
- "description": "A delay appears in a group not in the top level.",
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "((Delay/5.0 s, Delay/7.0 s, (Def/MyColor)), Red)"
- ],
- "passes": [
- "(Onset, Delay/6 s, Def/MyColor), Red"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "((Delay/5.0 s, Onset, Def/MyColor), Red)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor), Red"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "((Delay/5.0 s, Onset, Def/MyColor), Red)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor), Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "((Delay/5.0 s, Onset, Def/MyColor), Red)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "n/a",
- "((Delay/5.0 s, Onset, Def/MyColor), Red)"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor), Red"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "n/a",
- "(Delay/5.0 s, Onset, Def/MyColor), Red"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-wrong-number-of-defs-delay",
- "description": "An Onset or Offset tag is not grouped with exactly one Def-expand tag group or a Def tag.",
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Delay/5.0 s, Onset, (Red))"
- ],
- "passes": [
- "(Delay/5.0 s, Onset, Def/MyColor, (Red))",
- "(Delay/5.0 s, Onset, (Def-expand/MyColor, (Label/Pie)), (Red))"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, (Red))",
- "ball": "(Delay/5.0 s, Onset, Def/MyColor, Def/Acc/4.3)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor, (Red))"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Onset, (Red))"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor, Def/Acc/4.3)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor, (Red))"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, (Red))",
- "ball": "(Delay/5.0 s, Onset, Def/MyColor, Def/Acc/4.3)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Green, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "n/a",
- "(Delay/5.0 s, Onset, (Yellow))"
- ],
- [
- 6.0,
- 0,
- "ball",
- "n/a"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor, (Red))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "n/a",
- "(Delay/5.0 s, Onset, Def/MyColor, (Blue))"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-onset-has-more-groups-delay",
- "description": "An Onset group has more than one additional tag group.",
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Delay/5.0 s, Onset, Def/MyColor, (Red), (Blue))",
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green), (Red), Onset)"
- ],
- "passes": [
- "(Delay/5.0 s, Onset, Def/MyColor)",
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Red), Onset)"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor, (Red), (Blue))"
- }
- }
- },
- {
- "event_code": {
- "HED": {
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green), (Yellow), Onset)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor)",
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor, (Red), (Blue))"
- ]
- ],
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green), ((Yellow)), Onset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor)"
- ],
- [
- 5.0,
- 0,
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green), ((Yellow)), Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "ball": "(Delay/5.0 s, Onset, Def/MyColor, (Red), (Blue))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "ball": "(Delay/5.0 s, Onset, Def/MyColor, (Blue))"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 6.0,
- 0,
- "n/a",
- "(Delay/5.0 s, Def/MyColor, (Red), (Blue), Onset)"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor)",
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "n/a",
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-offset-has-groups-delay",
- "description": "An Offset appears with one or more tags or additional tag groups.",
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor)",
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Delay/5.0 s, Offset, Def/MyColor, (Red))"
- }
- }
- },
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor)",
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Onset)",
- "circle": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Offset, Blue)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor)",
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Delay/5.0 s, Offset, Def/MyColor)",
- "circle": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Offset)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor)"
- ],
- [
- 4.8,
- 0,
- "(Delay/5.0 s, Offset, Def/MyColor, (Red))"
- ],
- [
- 4.9,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor, (Red))"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), (Green), Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor)"
- ],
- [
- 4.8,
- 0,
- "(Delay/5.0 s, Offset, Def/MyColor)"
- ],
- [
- 4.9,
- 0,
- "(Delay/5.0 s, Onset, Def/MyColor, (Red))"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Offset)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor)",
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Delay/5.0 s, Offset, Def/MyColor)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "n/a"
- ],
- [
- 4.8,
- 0,
- "square",
- "n/a"
- ],
- [
- 4.9,
- 0,
- "ball",
- "Green"
- ],
- [
- 5.5,
- 0,
- "n/a",
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Offset, Blue), Orange"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor)",
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Delay/5.0 s, Offset, Def/MyColor, (Red))",
- "circle": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Offset, Blue)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "n/a"
- ],
- [
- 4.8,
- 0,
- "square",
- "n/a"
- ],
- [
- 4.9,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Onset, Def/MyColor)",
- "ball": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Onset)",
- "square": "(Delay/5.0 s, Offset, Def/MyColor)",
- "circle": "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Offset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "n/a"
- ],
- [
- 4.8,
- 0,
- "square",
- "n/a"
- ],
- [
- 4.9,
- 0,
- "ball",
- "Green"
- ],
- [
- 10.0,
- 0,
- "n/a",
- "(Delay/5.0 s, (Def-expand/MyColor, (Label/Pie)), Offset)"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-mismatch-delay",
- "description": "An Offset tag associated with a given definition appears after a previous Offset tag without the appearance of an intervening Onset of the same name.",
- "schema": "8.3.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ],
- [
- 6.5,
- 0,
- "Red, (Delay/5.0 s, Def/MyColor, Offset)"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ],
- [
- 5.5,
- 0,
- "(Def/MyColor, Onset)"
- ],
- [
- 6.5,
- 0,
- "Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Offset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Red, Blue"
- ],
- [
- 4.8,
- 0,
- "ball",
- "Red, Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Offset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-extra tags-delay",
- "description": "An Onset tag group with has tags besides the anchor Def or Def-expand that are not in a tag group.",
- "schema": "8.3.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "(Delay/5.0 s, Def/MyColor, Blue, Green, Onset)"
- ],
- "passes": [
- "(Delay/5.0 s, Def/MyColor, (Blue), Onset)"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, Blue, Green, Onset)"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, (Blue), Onset)"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Blue, (Green), Onset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, (Blue), Onset)"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, Blue, Green, Onset)",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, (Blue, Green), Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/Acc/7, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "ball",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-duplicated-onset-or-offset-delay",
- "description": "An Onset or an Offset with a given Def or Def-expand anchor appears in the same event marker with another Onset or Offset that uses the same anchor.",
- "schema": "8.3.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, (Green), Onset)",
- "ball": "Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Delay/5.0 s, Def/MyColor, (Blue), Onset)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, (Green), Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, (Green), Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ],
- [
- 5.0,
- 0,
- "ball",
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, (Blue, Green), Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Onset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-inset-outside-its-event-delay",
- "description": "An Inset tag is not grouped with a Def or Def-expand of an ongoing Onset.",
- "schema": "8.3.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Inset, (Red))"
- ],
- [
- 6.5,
- 0,
- "Red, (Delay/5.0 s, Def/MyColor, Offset)"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Onset)"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ],
- [
- 6.5,
- 0,
- "Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Offset)",
- "snack": "(Delay/5.0 s, Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "snack",
- "Red, Blue"
- ],
- [
- 4.8,
- 0,
- "face",
- "Red, Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/2.0 s, Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Offset)",
- "snack": "(Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 1.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 4.8,
- 0,
- "ball",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "snack",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-inset-group-has-extras-delay",
- "description": "An Inset group has tags or groups in addition to its defining Def or Def-expand.",
- "schema": "8.3.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 2.5,
- 0,
- "Red, (Delay/5.0 s, Def/MyColor, Onset)"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Blue, Inset)"
- ],
- [
- 6.5,
- 0,
- "Red, (Delay/5.0 s, Def/MyColor, Onset)"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, (Blue), Onset)"
- ],
- [
- 4.8,
- 0,
- "(Delay/5.0 s, Def/MyColor, (Green), Inset)"
- ],
- [
- 5.5,
- 0,
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ],
- [
- 6.5,
- 0,
- "Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Offset)",
- "snack": "(Delay/5.0 s, Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "snack",
- "Red, Blue"
- ],
- [
- 4.8,
- 0,
- "face",
- "Red, Blue"
- ],
- [
- 5.0,
- 0,
- "face",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Offset)",
- "snack": "(Delay/5.0 s, Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 4.7,
- 0,
- "face",
- "Blue"
- ],
- [
- 4.8,
- 0,
- "snack",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "TEMPORAL_TAG_ERROR",
- "alt_codes": [
- "TAG_GROUP_ERROR"
- ],
- "name": "temporal-tag-error-tag-appears-where-not-allowed-delay",
- "description": "An Inset, Offset, or Onset tag appears in a tsv with no onset column",
- "schema": "8.3.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [],
- "passes": []
- },
- "event_tests": {
- "fails": [
- [
- [
- "duration",
- "HED"
- ],
- [
- 0,
- "Red, (Delay/5.0 s, Def/MyColor, Onset)"
- ],
- [
- 0,
- "(Delay/5.0 s, Def/MyColor, Yellow, Inset)"
- ],
- [
- 0,
- "Red, (Delay/5.0 s, Def/MyColor, Onset)"
- ],
- [
- 0,
- "(Delay/5.0 s, Def/MyColor, Offset)"
- ]
- ]
- ],
- "passes": [
- [
- [
- "duration",
- "HED"
- ],
- [
- 0,
- "(Def/MyColor, (Blue))"
- ],
- [
- 0,
- "(Def/MyColor, (Green))"
- ],
- [
- 0,
- "(Def/MyColor)"
- ],
- [
- 0,
- "Red"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, Onset)",
- "ball": "(Delay/5.0 s, Def/MyColor, Offset)",
- "snack": "(Delay/5.0 s, Def/MyColor, Inset)"
- }
- }
- },
- "events": [
- [
- "event_code",
- "HED"
- ],
- [
- "face",
- "Def/MyColor, Red, Blue"
- ],
- [
- "ball",
- "Def/MyColor, Red, Blue"
- ],
- [
- "snack",
- "Green"
- ]
- ]
- },
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Delay/5.0 s, Def/MyColor, Duration)",
- "ball": "(Delay/5.0 s, Def/MyColor, Delay/4.2)"
- }
- }
- },
- "events": [
- [
- "event_code",
- "HED"
- ],
- [
- "face",
- "Def/MyColor, Red, Blue"
- ],
- [
- "ball",
- "Def/MyColor, Red, Blue"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "(Def/MyColor)",
- "ball": "(Def/MyColor)",
- "snack": "(Def/MyColor)"
- }
- }
- },
- "events": [
- [
- "event_code",
- "HED"
- ],
- [
- "face",
- "Blue"
- ],
- [
- "face",
- "Blue"
- ],
- [
- "snack",
- "Blue"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "UNITS_INVALID",
- "alt_codes": [],
- "name": "units-invalid-for-unit-class",
- "description": "A tag has a value with units that are invalid or not of the correct unit class for the tag.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Acceleration/3 s",
- "Weight/3 ms"
- ],
- "passes": [
- "Distance/4 km"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Acceleration/3 s",
- "ball": "Weight/3 ms"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Distance/4 km",
- "ball": "Angle/4 degrees"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Acceleration/3 s"
- ],
- [
- 5.5,
- 0,
- "Weight/3 ms"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Distance/4 km"
- ],
- [
- 5.0,
- 0,
- "Angle/4 degrees"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/3 s",
- "ball": "Weight/3 ms"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "UNITS_INVALID",
- "alt_codes": [],
- "name": "units-invalid-si-units",
- "description": "A unit modifier is applied to units that are not SI units.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Distance/3 kfeet",
- "Distance/3 kmeters"
- ],
- "passes": [
- "Distance/3 kilometres"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Distance/3 kfeet",
- "ball": "Distance/3 kmeters"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Distance/3 kilometres"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Distance/3 kfeet"
- ],
- [
- 5.0,
- 0,
- "Distance/3 kmeters"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Distance/3 kilometres"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Distance/3 kfeet",
- "ball": "Distance/3 kmeters"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "VALUE_INVALID",
- "alt_codes": [
- "CHARACTER_INVALID",
- "TAG_INVALID"
- ],
- "name": "value-invalid-#-substitution",
- "description": "The value substituted for a placeholder (`#`) is not valid.",
- "warning": false,
- "schema": "8.3.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [],
- "passes": []
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Def/Acc/MyMy",
- "ball": "Distance/4mxxx"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Def/Acc/3.4",
- "ball": "Distance/4 m"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "response": {
- "HED": "Item-count/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "response",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- 4,
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "response": {
- "HED": "Item-count/#"
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "response",
- "HED"
- ],
- [
- 4.5,
- 0,
- 5,
- "Blue"
- ],
- [
- 5.0,
- 0,
- 2,
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "VALUE_INVALID",
- "alt_codes": [
- "CHARACTER_INVALID"
- ],
- "name": "value-invalid-incompatible-value-class",
- "description": "A tag placeholder value is incompatible with the specified value class.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Statistical-accuracy/1max1"
- ],
- "passes": [
- "Statistical-accuracy/0.677"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Statistical-accuracy/1max1"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Statistical-accuracy/0.677"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Statistical-accuracy/1max1"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Statistical-accuracy/0.677"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Statistical-accuracy/1max1"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "VALUE_INVALID",
- "alt_codes": [
- "CHARACTER_INVALID",
- "TAG_INVALID",
- "UNITS_INVALID"
- ],
- "name": "value-invalid-blank-missing-before-units",
- "description": "The units are not separated from the value by a single blank.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [
- "(Definition/Acc/#, (Acceleration/# m-per-s^2, Red))",
- "(Definition/MyColor, (Label/Pie))"
- ],
- "tests": {
- "string_tests": {
- "fails": [
- "Acceleration/5m-per-s^2"
- ],
- "passes": [
- "Acceleration/5 m-per-s^2"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "face": "Acceleration/5m-per-s^2"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2"
- }
- }
- }
- ]
- },
- "event_tests": {
- "fails": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Acceleration/5m-per-s^2"
- ]
- ]
- ],
- "passes": [
- [
- [
- "onset",
- "duration",
- "HED"
- ],
- [
- 4.5,
- 0,
- "Acceleration/5 m-per-s^2"
- ]
- ]
- ]
- },
- "combo_tests": {
- "fails": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/banana",
- "ball": "Def/Acc/apple3, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Red, Def/MyColor"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green"
- ]
- ]
- }
- ],
- "passes": [
- {
- "sidecar": {
- "event_code": {
- "HED": {
- "face": "Acceleration/5 m-per-s^2",
- "ball": "Def/Acc/7, Blue"
- }
- }
- },
- "events": [
- [
- "onset",
- "duration",
- "event_code",
- "HED"
- ],
- [
- 4.5,
- 0,
- "face",
- "Blue"
- ],
- [
- 5.0,
- 0,
- "ball",
- "Green, Def/MyColor"
- ]
- ]
- }
- ]
- }
- }
- },
- {
- "error_code": "VALUE_INVALID",
- "alt_codes": [
- "UNITS_INVALID"
- ],
- "name": "invalid-character-numeric-class",
- "description": "An invalid character was used in an 8.3.0 or greater style numeric value class.",
- "warning": false,
- "schema": "8.4.0",
- "definitions": [],
- "tests": {
- "string_tests": {
- "fails": [
- "Weight/3.0$ kg",
- "Weight/3.0db kg",
- "Weight/3.0& kg",
- "Weight/abc kg",
- "Weight/*3.0 kg",
- "Weight/3.0% kg",
- "Weight/3.0^ kg",
- "Weight/3.0? kg"
- ],
- "passes": [
- "Weight/3.0e10 kg",
- "Weight/3e10 kg",
- "Weight/3.0 kg",
- "Weight/3000 kg",
- "Weight/3e10 kg",
- "Weight/3.5e10 kg",
- "Weight/2.998e8 g",
- "Weight/6.022e23 g",
- "Weight/7.0e-10 g",
- "Weight/1.6e-35 kg"
- ]
- },
- "sidecar_tests": {
- "fails": [
- {
- "event_code": {
- "HED": {
- "show": "Weight/3.0a"
- }
- }
- }
- ],
- "passes": [
- {
- "event_code": {
- "HED": "Weight/# g"
- }
- }
- ]
- },
- "event_tests": {
- "fails": [],
- "passes": []
- },
- "combo_tests": {
- "fails": [],
- "passes": []
- }
- }
- }
-]
\ No newline at end of file
diff --git a/spec_tests/jsonTests.spec.js b/spec_tests/jsonTests.spec.js
deleted file mode 100644
index 8c2c0266..00000000
--- a/spec_tests/jsonTests.spec.js
+++ /dev/null
@@ -1,416 +0,0 @@
-import chai from 'chai'
-const assert = chai.assert
-import { beforeAll, describe, afterAll } from '@jest/globals'
-
-import { BidsHedIssue } from '../src/bids/types/issues'
-import { buildSchemas } from '../src/schema/init'
-import { SchemaSpec, SchemasSpec } from '../src/schema/specs'
-import { Schemas } from '../src/schema/containers'
-import path from 'node:path'
-import { BidsSidecar, BidsTsvFile } from '../src/bids'
-import { generateIssue, IssueError } from '../src/issues/issues'
-import { DefinitionManager } from '../src/parser/definitionManager'
-import parseTSV from '../src/bids/tsvParser'
-import { shouldRun } from '../tests/testHelpers/testUtilities'
-const fs = require('node:fs')
-
-const skipMap = new Map()
-const runAll = true
-//const runMap = new Map([['DEF_EXPAND_INVALID', ['def-expand-invalid-missing-placeholder']]])
-//const runMap = new Map([['TAG_GROUP_ERROR', ['tag-group-error-missing']]])
-const runMap = new Map([['TAG_GROUP_ERROR', ['tag-group-error-deferred-in-splice']]])
-//const runOnly = new Set(["eventsPass"])
-const runOnly = new Set()
-const skippedErrors = {}
-const readFileSync = fs.readFileSync
-const test_file_name = 'javascriptTests.json'
-// const test_file_name = 'temp6.json'
-
-function toMatchIssue(receivedError, expectedCode, expectedParams = {}) {
- const expectedIssue = generateIssue(expectedCode, expectedParams)
-
- const passType = receivedError instanceof IssueError
- const passMessage = receivedError.message === expectedIssue.message
-
- if (passType && passMessage) {
- return {
- pass: true,
- message: () => `Expected error not to match IssueError with message "${expectedIssue.message}", but it did.`,
- }
- } else {
- return {
- pass: false,
- message: () => {
- let msg = ''
- if (!passType) {
- msg += `Expected error to be instance of IssueError but got ${receivedError.constructor.name}\n`
- }
- if (!passMessage) {
- msg += `Expected message:\n "${expectedIssue.message}"\nReceived:\n "${receivedError.message}"`
- }
- return msg
- },
- }
- }
-}
-
-function comboListToStrings(items) {
- const comboItems = []
- if (items === undefined || items.length === 0) {
- return comboItems
- }
- for (const item of items) {
- const nextItem = [JSON.stringify(item.sidecar), tsvToString(item.events)]
- comboItems.push(nextItem)
- }
- return comboItems
-}
-
-function loadTestData() {
- const testFile = path.join(__dirname, test_file_name)
- return JSON.parse(readFileSync(testFile, 'utf8'))
-}
-
-const testInfo = loadTestData()
-
-function stringifyList(items) {
- const stringItems = []
- if (items === undefined || items.length === 0) {
- return stringItems
- }
- for (const item of items) {
- stringItems.push(JSON.stringify(item))
- }
- return stringItems
-}
-
-function tsvListToStrings(eventList) {
- const eventStrings = []
- if (eventList === undefined || eventList.length === 0) {
- return eventStrings
- }
- for (const item of eventList) {
- eventStrings.push(tsvToString(item))
- }
- return eventStrings
-}
-
-function tsvToString(events) {
- return events.map((row) => row.join('\t')).join('\n')
-}
-
-expect.extend({
- toMatchIssue(receivedError, expectedCode, expectedParams) {
- return toMatchIssue(receivedError, expectedCode, expectedParams)
- },
-})
-
-describe('HED validation using JSON tests', () => {
- const schemaMap = new Map([
- ['8.2.0', undefined],
- ['8.3.0', undefined],
- ['8.4.0', undefined],
- ])
-
- beforeAll(async () => {
- const spec2 = new SchemaSpec('', '8.2.0', '', path.join(__dirname, '../src/data/schemas/HED8.2.0.xml'))
- const specs2 = new SchemasSpec().addSchemaSpec(spec2)
-
- const spec3 = new SchemaSpec('', '8.3.0', '', path.join(__dirname, '../src/data/schemas/HED8.3.0.xml'))
- const specs3 = new SchemasSpec().addSchemaSpec(spec3)
-
- const spec4 = new SchemaSpec('', '8.4.0', '', path.join(__dirname, '../src/data/schemas/HED8.4.0.xml'))
- const specs4 = new SchemasSpec().addSchemaSpec(spec4)
-
- const spec3Lib = new SchemaSpec('ts', '8.4.0', '', path.join(__dirname, '../src/data/schemas/HED8.4.0.xml'))
- const specs3Lib = new SchemasSpec().addSchemaSpec(spec3Lib)
-
- const specScore = new SchemaSpec(
- 'sc',
- '1.0.0',
- 'score',
- path.join(__dirname, '../tests/otherTestData/HED_score_1.0.0.xml'),
- )
- const specsScore = new SchemasSpec().addSchemaSpec(specScore)
-
- const [schemas2, schemas3, schemas4, schemas3lib, schemaScore] = await Promise.all([
- buildSchemas(specs2),
- buildSchemas(specs3),
- buildSchemas(specs4),
- buildSchemas(specs3Lib),
- buildSchemas(specsScore),
- ])
-
- schemaMap.set('8.2.0', schemas2)
- schemaMap.set('8.3.0', schemas3)
- schemaMap.set('8.4.0', schemas4)
- schemaMap.set('ts:8.3.0', schemas3lib)
- schemaMap.set('sc:score_1.0.0', schemaScore)
- })
-
- afterAll(() => {})
-
- test('should load testInfo and schemas correctly', () => {
- expect(testInfo).toBeDefined()
- expect(schemaMap).toBeDefined()
- const schema2 = schemaMap.get('8.2.0')
- expect(schema2).toBeDefined()
- const schema3 = schemaMap.get('8.3.0')
- expect(schema3).toBeDefined()
- const schema4 = schemaMap.get('8.4.0')
- expect(schema4).toBeDefined()
- const schema3lib = schemaMap.get('ts:8.3.0')
- expect(schema3lib).toBeDefined()
- const schemaScore = schemaMap.get('sc:score_1.0.0')
- expect(schemaScore).toBeDefined()
- })
-
- describe.each(testInfo)(
- '$error_code $name : $description',
- ({ error_code, alt_codes, name, schema, definitions, warning, tests }) => {
- let hedSchema
- let defList
- let expectedErrors
- let noErrors
-
- const failedSidecars = stringifyList(tests.sidecar_tests.fails)
- const passedSidecars = stringifyList(tests.sidecar_tests.passes)
- const failedEvents = tsvListToStrings(tests.event_tests.fails)
- const passedEvents = tsvListToStrings(tests.event_tests.passes)
- const failedCombos = comboListToStrings(tests.combo_tests.fails)
- const passedCombos = comboListToStrings(tests.combo_tests.passes)
-
- /**
- * Separates the error codes and warning codes from the issues
- * @param issues
- * @returns {[Set,Set warnings.has(element))
- if (expectedErrors.size === 0 && warnings.size === 0) {
- warningIntersection = true
- }
- assert.isTrue(
- warningIntersection,
- `${header} expected one of warnings[${[...expectedErrors].join(', ')}] but received [${[...warnings].join(', ')}]`,
- )
- return
- }
- let errorIntersection = [...expectedErrors].some((element) => errors.has(element))
- if (expectedErrors.size === 0 && errors.size === 0) {
- errorIntersection = true
- }
- assert.isTrue(
- errorIntersection,
- `${header} expected one of errors[${[...expectedErrors].join(', ')}] but received [${[...errors].join(', ')}]`,
- )
- }
-
- const comboValidator = function (side, events, expectedErrors) {
- const status = expectedErrors.size === 0 ? 'Expect pass' : 'Expect fail'
- const header = `\n[${error_code} ${name}](${status})\tCOMBO\t"${side}"\n"${events}"`
- let issues
- try {
- const defManager = new DefinitionManager()
- defManager.addDefinitions(defList)
- const parsedTsv = parseTSV(events)
- assert.instanceOf(parsedTsv, Map, `${events} cannot be parsed`)
- const bidsTsv = new BidsTsvFile(`events`, { path: 'combo test tsv' }, parsedTsv, JSON.parse(side), defManager)
- issues = bidsTsv.validate(hedSchema)
- } catch (e) {
- issues = [convertIssue(e)]
- }
- assertErrors(expectedErrors, issues, header)
- }
-
- const eventsValidator = function (events, expectedErrors) {
- const status = expectedErrors.size === 0 ? 'Expect pass' : 'Expect fail'
- const header = `\n[${error_code} ${name}](${status})\tEvents:\n"${events}"`
- let eventsIssues
- try {
- const defManager = new DefinitionManager()
- defManager.addDefinitions(defList)
- const parsedTsv = parseTSV(events)
- assert.instanceOf(parsedTsv, Map, `${events} cannot be parsed`)
- const bidsTsv = new BidsTsvFile(`events`, { path: 'events test' }, parsedTsv, {}, defManager)
- eventsIssues = bidsTsv.validate(hedSchema)
- } catch (e) {
- eventsIssues = [convertIssue(e)]
- }
- assertErrors(expectedErrors, eventsIssues, header)
- }
-
- const sideValidator = function (side, expectedErrors) {
- const status = expectedErrors.size === 0 ? 'Expect pass' : 'Expect fail'
- const header = `\n[${error_code} ${name}](${status})\tSIDECAR "${side}"`
- let issues
- try {
- const defManager = new DefinitionManager()
- defManager.addDefinitions(defList)
- const bidsSide = new BidsSidecar(`sidecar`, { path: 'sidecar test' }, JSON.parse(side), defManager)
- issues = bidsSide.validate(hedSchema)
- } catch (e) {
- issues = [convertIssue(e)]
- }
- assertErrors(expectedErrors, issues, header)
- }
-
- const stringValidator = function (str, expectedErrors) {
- const status = expectedErrors.size === 0 ? 'Expect pass' : 'Expect fail'
- const header = `\n[${error_code} ${name}](${status})\tSTRING: "${str}"`
- const hTsv = `onset\tHED\n5.4\t${str}\n`
- let stringIssues
- try {
- const defManager = new DefinitionManager()
- defManager.addDefinitions(defList)
- const parsedTsv = parseTSV(hTsv)
- assert.instanceOf(parsedTsv, Map, `${str} cannot be parsed`)
- const bidsTsv = new BidsTsvFile(`string`, { path: 'string test tsv' }, parsedTsv, {}, defManager)
- stringIssues = bidsTsv.validate(hedSchema)
- } catch (e) {
- stringIssues = [convertIssue(e)]
- }
- assertErrors(expectedErrors, stringIssues, header)
- }
-
- /**
- * Convert an Error into an Issue.
- *
- * @param {Error} issueError A thrown error.
- * @returns {Issue} A HED issue.
- */
- const convertIssue = function (issueError) {
- if (issueError instanceof IssueError) {
- return issueError.issue
- } else {
- return generateIssue('internalError', { message: issueError.message })
- }
- }
-
- const getSchema = function (schemaVersion) {
- const parts = schemaVersion.split(':', 2)
- const prefix = parts.length === 1 ? '' : parts[0]
- const thisSchema = schemaMap.get(schemaVersion).schemas
- return [prefix, thisSchema.get(prefix)]
- }
-
- const getSchemas = function (schemaVersion) {
- const hedMap = new Map()
- if (typeof schemaVersion === 'string') {
- const [prefix, schema] = getSchema(schemaVersion)
- hedMap.set(prefix, schema)
- } else {
- for (const version of schemaVersion) {
- const [prefix, schema] = getSchema(version)
- hedMap.set(prefix, schema)
- }
- }
- return new Schemas(hedMap)
- }
-
- beforeAll(async () => {
- hedSchema = getSchemas(schema)
- assert(hedSchema !== undefined, 'HED schemas required should be defined')
- let defIssues
- ;[defList, defIssues] = DefinitionManager.createDefinitions(definitions, hedSchema)
- assert.equal(defIssues.length, 0, `${name}: input definitions "${definitions}" have errors "${defIssues}"`)
- expectedErrors = new Set(alt_codes)
- expectedErrors.add(error_code)
- noErrors = new Set()
- })
-
- afterAll(() => {})
-
- // If debugging a single test
- if (!shouldRun(error_code, name, runAll, runMap, skipMap)) {
- // eslint-disable-next-line no-console
- console.log(`----Skipping JSON Spec tests ${error_code} [${name}]}`)
- return
- }
- // Run tests except for the ones explicitly skipped or because they are warnings
- if (error_code in skippedErrors) {
- test.skip(`Skipping tests ${error_code} [${name}] skipped because ${skippedErrors[error_code]}`, () => {})
- } else if (name in skippedErrors) {
- test.skip(`Skipping tests ${error_code} [${name}] skipped because ${skippedErrors[name]}`, () => {})
- } else {
- test('it should have HED schema defined', () => {
- expect(hedSchema).toBeDefined()
- })
-
- if (tests.string_tests.passes.length > 0 && (runOnly.size === 0 || runOnly.has('stringPass'))) {
- test.each(tests.string_tests.passes)('Valid string: %s', (str) => {
- stringValidator(str, new Set())
- })
- }
-
- if (tests.string_tests.fails.length > 0 && (runOnly.size === 0 || runOnly.has('stringFail'))) {
- test.each(tests.string_tests.fails)('Invalid string: %s', (str) => {
- stringValidator(str, expectedErrors)
- })
- }
-
- if (passedSidecars.length > 0 && (runOnly.size === 0 || runOnly.has('sidecarPass'))) {
- test.each(passedSidecars)(`Valid sidecar: %s`, (side) => {
- sideValidator(side, noErrors)
- })
- }
-
- if (failedSidecars.length > 0 && (runOnly.size === 0 || runOnly.has('sidecarFail'))) {
- test.each(failedSidecars)(`Invalid sidecar: %s`, (side) => {
- sideValidator(side, expectedErrors)
- })
- }
-
- if (passedEvents.length > 0 && (runOnly.size === 0 || runOnly.has('eventsPass'))) {
- test.each(passedEvents)(`Valid events: %s`, (events) => {
- eventsValidator(events, noErrors)
- })
- }
-
- if (failedEvents.length > 0 && (runOnly.size === 0 || runOnly.has('eventsFail'))) {
- test.each(failedEvents)(`Invalid events: %s`, (events) => {
- eventsValidator(events, expectedErrors)
- })
- }
-
- if (passedCombos.length > 0 && (runOnly.size === 0 || runOnly.has('combosPass'))) {
- test.each(passedCombos)(`Valid combo: [%s] [%s]`, (side, events) => {
- comboValidator(side, events, noErrors)
- })
- }
-
- if (failedCombos.length > 0 && (runOnly.size === 0 || runOnly.has('combosFail'))) {
- test.each(failedCombos)(`Invalid combo: [%s] [%s]`, (side, events) => {
- comboValidator(side, events, expectedErrors)
- })
- }
- }
- },
- )
-})
diff --git a/spec_tests/skippedTests.js b/spec_tests/skippedTests.js
new file mode 100644
index 00000000..46e90858
--- /dev/null
+++ b/spec_tests/skippedTests.js
@@ -0,0 +1,48 @@
+/**
+ * hed-tests cases that hed-javascript does not pass yet, keyed by test case name.
+ *
+ * The runner (hedTests.spec.js) skips a whole case by name and reports the reason in the jest
+ * summary. Remove an entry once the case passes. Reasons record what was observed when the entry
+ * was added, not a diagnosis.
+ *
+ * Observed 2026-10-07 against hed-tests 183c235.
+ */
+export const skippedTests = {
+ // SCHEMA_LOAD_FAILED: merge-group cases that should load, but the partnered schema merger
+ // rejects any short tag shared between libraries.
+ 'multiple-libraries-with-same-partner': 'merger rejects shared short tag Shared-item',
+ 'merge-order-independent-loads': 'merger rejects shared short tag Shared-item',
+ 'duplicate-schema-in-merge-group': 'merger rejects the same schema listed twice',
+ 'shared-element-compatible-across-libraries': 'merger rejects shared short tag Shared-item',
+ 'shared-rooted-hierarchy-different-children': 'merger rejects shared rooted tag',
+ 'shared-rooted-tag-disjoint-children': 'merger rejects shared rooted tag',
+ 'shared-hierarchy-diverges-at-grandchild': 'merger rejects shared tag hierarchy',
+
+ // SCHEMA_LOAD_FAILED: loading an unpartnered library XML throws
+ // "TypeError: propertyDefinitions is not iterable" in the schema parser.
+ 'namespaced-groups-load-independently': 'unpartnered library XML crashes the schema parser',
+ 'unpartnered-library-in-shared-namespace': 'unpartnered library XML crashes the schema parser',
+ 'two-unpartnered-libraries-in-same-namespace': 'unpartnered library XML crashes the schema parser',
+
+ // SCHEMA_LOAD_FAILED: auxiliary sections (unit classes, units, unit modifiers, value classes,
+ // schema attributes) are not merged and conflicts in them are not detected.
+ 'aux-new-unit-class-merges-directly': 'merged auxiliary sections not usable after load',
+ 'aux-new-units-under-shared-class': 'merged auxiliary sections not usable after load',
+ 'aux-unit-attribute-conflict': 'auxiliary conflict not detected',
+ 'aux-value-class-conflict': 'auxiliary conflict not detected',
+ 'aux-schema-attribute-property-conflict': 'auxiliary conflict not detected',
+ 'aux-schema-attribute-description-conflict': 'auxiliary conflict not detected',
+ 'aux-unit-modifier-conflict': 'auxiliary conflict not detected',
+
+ // TEMPORAL_TAG_ERROR: non-convertible time units are accepted.
+ 'temporal-tag-error-delay-not-convertible': 'Delay/3 month accepted',
+ 'temporal-tag-error-duration-not-convertible': 'Duration/3 year accepted',
+
+ // UNITS_INVALID: compound units and the 8.5.0 anyUnits unit class.
+ 'units-invalid-compound-units': 'compound unit modifiers not handled',
+ 'units-invalid-any-units': 'anyUnits unit class and Quantity tag of 8.5.0 not handled',
+
+ // VALUE_INVALID
+ 'bad-value-in-curly-column': 'value column consumed by a brace reference is not validated',
+ 'value-invalid-date-time-format': 'date-time values are not checked against the BIDS Datetime format',
+}