Stub out some schema tests

This commit is contained in:
Tony Garnock-Jones 2022-06-07 21:46:06 +02:00
parent e019148065
commit 34183a9519
1 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,28 @@
import unittest
from preserves import *
from preserves.schema import meta, Compiler
def literal_schema(modname, s):
c = Compiler()
c.load_schema((Symbol(modname),), preserve(s))
return c.root
class BasicSchemaTests(unittest.TestCase):
def test_dictionary_literal(self):
m = literal_schema(
's',
meta.Schema(
version = meta.Version(),
embeddedType = meta.EmbeddedTypeName.false(),
definitions = meta.Definitions({
Symbol('C'): meta.Definition.Pattern(
meta.Pattern.CompoundPattern(
meta.CompoundPattern.dict(
meta.DictionaryEntries({
"core": meta.NamedSimplePattern.anonymous(
meta.SimplePattern.lit(Symbol('true')))
}))))
})))
self.assertEqual(m.s.C.decode({'core': Symbol('true')}), m.s.C())
self.assertEqual(preserve(m.s.C()), {'core': Symbol('true')})