DataPatternType

PackageReified.Data

DataPattern

DataPattern is the closed vocabulary of produced-data expectations. Each pattern checks one shape of a Data node; combine them with matching / Data.tryMatch to assert on selected parts of a produced JSON tree without listing unmentioned fields.

Form What it accepts
at path pattern A present value at the path that satisfies the pattern.
absent path No value at the path.
a literal such as "Ada" That exact value.
exactly value An explicit exact recursive pattern.
containing fields An object with at least the listed matching fields.
containingItems patterns A list containing each pattern in any order; occurrences are consumed once.
inOrder patterns A list containing the patterns as an ordered subsequence.
allItems pattern A list where every item matches.
someItem pattern A list where at least one item matches.
any Any present value.
anyText Any text value.
anyNumber Any number token.
oneOf patterns A value matching at least one alternative.
satisfying description predicate A value accepted by a custom predicate.

matching expectations actual returns unit or raises DataMatchException. Data.tryMatch expectations actual returns Result<unit, DataMismatch list> and accumulates mismatches from every expectation, each carrying the ExpectationIndex, Path, and actual value.

These patterns check Data nodes, not extracted typed values. Constraint checks typed values; tests of produced JSON need the former. Reified.Data has no dependencies, so a test project can use patterns without a validation library.

See Match selected parts of data for the walkthrough.

Specification

Kind
Type
Members
6
Examples
0
RequireExactSignature
this.RequireExact
CreateEveryItemSignature
DataPattern.CreateEveryItem(pattern)
CreateExactSignature
DataPattern.CreateExact(value)
CreateListContainingSignature
DataPattern.CreateListContaining(patterns)
CreateListInOrderSignature
DataPattern.CreateListInOrder(patterns)

Summary

NameSignatureSynopsis
Operations
RequireExactthis.RequireExactNo description available.
CreateEveryItemDataPattern.CreateEveryItem(pattern)No description available.
CreateExactDataPattern.CreateExact(value)No description available.
CreateListContainingDataPattern.CreateListContaining(patterns)No description available.
CreateListInOrderDataPattern.CreateListInOrder(patterns)No description available.
CreateSomeItemDataPattern.CreateSomeItem(pattern)No description available.

Operations

kind:member

RequireExact

this.RequireExact
Member

Parameters

NameTypeDescription
argumentNamestring

Returns

Data
kind:member

CreateEveryItem

DataPattern.CreateEveryItem(pattern)
Member

Parameters

NameTypeDescription
patternDataPattern

Returns

DataPattern
kind:member

CreateExact

DataPattern.CreateExact(value)
Member

Parameters

NameTypeDescription
valueData

Returns

DataPattern
kind:member

CreateListContaining

DataPattern.CreateListContaining(patterns)
Member

Parameters

NameTypeDescription
patternsDataPattern list

Returns

DataPattern
kind:member

CreateListInOrder

DataPattern.CreateListInOrder(patterns)
Member

Parameters

NameTypeDescription
patternsDataPattern list

Returns

DataPattern
kind:member

CreateSomeItem

DataPattern.CreateSomeItem(pattern)
Member

Parameters

NameTypeDescription
patternDataPattern

Returns

DataPattern