# SPDX-FileCopyrightText: ☭ Emery Hemingway # SPDX-License-Identifier: Unlicense import std/unittest import preserves, syndicate from syndicate/protocols/dataspace import Observe type Observe = dataspace.Observe[Ref] import ./test_schema test "patterns": let observerPat = ?Observe(pattern: !Foo) ?? {0: grab()} check($observerPat == """ > <_> <_>]>]> <_>]>""") let value = @["alles", "in", "ordnung"] observer = toPreserve(Observe(pattern: inject(?Foo, { 0: ?value })), Ref) have = capture(observerPat, observer).toPreserve(Ref).unpackLiterals want = [value.toPreserve(Ref)].toPreserve(Ref) check(have == want)