Another schema test
This commit is contained in:
parent
7ebe538c42
commit
2e8d53c779
|
@ -12,17 +12,34 @@ 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')))
|
||||
}))))
|
||||
})))
|
||||
parse('''
|
||||
<schema {
|
||||
version: 1,
|
||||
embeddedType: #f,
|
||||
definitions: {
|
||||
C: <dict {"core": <lit true>}>
|
||||
}
|
||||
}>
|
||||
'''))
|
||||
self.assertEqual(m.s.C.decode({'core': Symbol('true')}), m.s.C())
|
||||
self.assertEqual(preserve(m.s.C()), {'core': Symbol('true')})
|
||||
|
||||
def test_alternation_of_dictionary_literal(self):
|
||||
m = literal_schema(
|
||||
's',
|
||||
parse('''
|
||||
<schema {
|
||||
version: 1,
|
||||
embeddedType: #f,
|
||||
definitions: {
|
||||
C: <or [
|
||||
["notcore" <dict {"notcore": <lit true>}>]
|
||||
["core" <dict {"core": <lit true>}>]
|
||||
]>
|
||||
}
|
||||
}>
|
||||
'''))
|
||||
self.assertEqual(m.s.C.decode({'core': Symbol('true')}), m.s.C.core())
|
||||
self.assertEqual(preserve(m.s.C.core()), {'core': Symbol('true')})
|
||||
self.assertEqual(m.s.C.decode({'notcore': Symbol('true')}), m.s.C.notcore())
|
||||
self.assertEqual(preserve(m.s.C.notcore()), {'notcore': Symbol('true')})
|
||||
|
|
Loading…
Reference in New Issue