{
  "@context": "https://www.w3.org/ns/JSONtest-v1.jsonld",
  "name": "A single ANNOTATION has all required keys and all annotation keys used meet required value constraints",
  "description": "Web Annotations: <ul> <li>MUST include certain properties (keys)</li> <li>MUST NOT have both body and bodyValue keys simultaneously</li> <li>MUST satisfy model constraints on values of required and any optional Annotation keys used</li> </ul> Note: Implementation of optional Annotation keys (features), optional constraints on key values, and optional keys and constraints on Agents involved in an Annotation checked by other tests.",
  "testType": "manual",
  "ref": "https://www.w3.org/TR/annotation-model/",
  "assertions": [
    "annotations/3.1-annotationContextValidated.json",
    "annotations/3.1-annotationIdValidated.json",
    "annotations/3.1-annotationTypeValidated.json",
    "annotations/3.1-targetKeyFound.json",
    "annotations/3.2-targetObjectsRecognized.json",
    "annotations/3.2.5-notBodyBodyValue.json",
    "annotations/3.2-bodyObjectsRecognized.json",
    "annotations/3.2.5-bodyValueValidated.json",
    "annotations/3.3.1-annotationCreatedValidated.json",
    "annotations/3.3.1-annotationModifiedValidated.json",
    "annotations/3.3.1-annotationGeneratedValidated.json",
    "annotations/3.3.6-annotationRightsValidated.json",
    "annotations/3.3.7-annotationCanonicalValidated.json",
    "annotations/3.3.7-annotationViaValidated.json",
    "annotations/bodiesTargets/3.2.1-bodyTextDirectionValidated.json",
    "annotations/bodiesTargets/3.3.1-bodyCreatedValidated.json",
    "annotations/bodiesTargets/3.3.1-bodyModifiedValidated.json",
    "annotations/bodiesTargets/3.3.6-bodyRightsValidated.json",
    "annotations/bodiesTargets/3.3.7-bodyCanonicalValidated.json",
    "annotations/bodiesTargets/3.3.7-bodyViaValidated.json",
    "annotations/bodiesTargets/3.2.7-bodyEWRNoItems.json",
    "annotations/bodiesTargets/3.3.5-bodyEWRNoPurpose.json",
    "annotations/bodiesTargets/3.2.4-bodyChoiceSetNoValue.json",
    "annotations/bodiesTargets/4-bodyChoiceSetNoSource.json",
    "annotations/bodiesTargets/3.3.5-bodyChoiceSetNoPurpose.json",
    "annotations/bodiesTargets/3.2.7-bodyEmbeddedTextualNoItems.json",
    "annotations/bodiesTargets/4-bodyEmbeddedTextualNoSource.json",
    "annotations/bodiesTargets/3.2.7-bodySpecificResourceNoItems.json",
    "annotations/bodiesTargets/4-bodySpecificResourceNoValue.json",
    "annotations/bodiesTargets/3.2.1-targTextDirectionValidated.json",
    "annotations/bodiesTargets/3.3.1-targCreatedValidated.json",
    "annotations/bodiesTargets/3.3.1-targModifiedValidated.json",
    "annotations/bodiesTargets/3.3.6-targRightsValidated.json",
    "annotations/bodiesTargets/3.3.7-targCanonicalValidated.json",
    "annotations/bodiesTargets/3.3.7-targViaValidated.json",
    "annotations/bodiesTargets/3.2.7-targEWRNoItems.json",
    "annotations/bodiesTargets/3.3.5-targEWRNoPurpose.json",
    "annotations/bodiesTargets/3.2.4-targChoiceSetNoValue.json",
    "annotations/bodiesTargets/4-targChoiceSetNoSource.json",
    "annotations/bodiesTargets/3.3.5-targChoiceSetNoPurpose.json",
    "annotations/bodiesTargets/3.2.7-targSpecificResourceNoItems.json",
    "annotations/bodiesTargets/4-targSpecificResourceNoValue.json",
    "annotations/bodiesTargets/3.2.4-targNoTypeTextualBody.json",
    "annotations/specificResource/4.2-selectorValidIfPresent.json",
    "annotations/specificResource/4.3-stateValidIfPresent.json",
    "annotations/specificResource/4.3.3-refinedByValidated.json",
    "annotations/specificResource/4.4-styleClassValidIfPresent.json",
    "annotations/specificResource/4.2-fragmentCssXPathSelectorValid.json",
    "annotations/specificResource/4.2.4-textQuoteSelectorValid.json",
    "annotations/specificResource/4.2-TextDataPositionSelectorValid.json",
    "annotations/specificResource/4.2.7-svgSelectorValid.json",
    "annotations/specificResource/4.2.8-rangeSelectorValid.json",
    "annotations/specificResource/4.3.1-timeStateValid.json",
    "annotations/specificResource/4.3.2-httpRequestStateValid.json"
  ]
}
