Files
deb-murano/murano/tests/dsl/meta/ContractExamples.yaml
Stan Lagun ac21005828 Unit tests for contracts
in addition to unit tests:
* in MuranoObject parent property renamed to owner
* fixed ownership of temporary method arguments
* more descriptive exceptions in contracts and related places

Change-Id: I4ee491c5428a4a64a21ccb5b1947acac386eb78f
Closes-Bug: #1337225
Partial-Bug: #1316786
2014-07-03 19:18:10 +04:00

138 lines
2.4 KiB
YAML

Name: ContractExamples
Properties:
sampleClass:
Contract: $.class(SampleClass1)
Methods:
testStringContract:
Arguments:
arg:
Contract: $.string()
Body:
Return: $arg
testIntContract:
Arguments:
arg:
Contract: $.int()
Body:
Return: $arg
testBoolContract:
Arguments:
arg:
Contract: $.bool()
Body:
Return: $arg
testClassContract:
Arguments:
arg:
Contract: $.class(SampleClass2)
Body:
Return: $arg
testClassFromIdContract:
Arguments:
arg:
Contract: $.class(SampleClass1)
Body:
Return: $arg
testCheckContract:
Arguments:
- arg1:
Contract: $.class(SampleClass2).check($.class2Property = qwerty)
- arg2:
Contract: $.int().check($ > 10)
testOwnedContract:
Arguments:
- arg1:
Contract: $.class(SampleClass1).owned()
- arg2:
Contract: $.class(SampleClass2).owned()
testNotOwnedContract:
Arguments:
- arg1:
Contract: $.class(SampleClass1).notOwned()
- arg2:
Contract: $.class(SampleClass2).notOwned()
testScalarContract:
Arguments:
- arg1:
Contract: 'fixed'
- arg2:
Contract: 456
- arg3:
Contract: true
Body:
Return: $arg1
testListContract:
Arguments:
- arg:
Contract: [$.int()]
Body:
Return: $arg
testListWithMinLengthContract:
Arguments:
- arg:
Contract: [$.int(), 3]
Body:
Return: $arg
testListWithMinMaxLengthContract:
Arguments:
- arg:
Contract: [$.int(), 2, 4]
Body:
Return: $arg
testDictContract:
Arguments:
- arg:
Contract:
A: $.string()
B: $.int()
Body:
Return: $arg
testDictExprContract:
Arguments:
- arg:
Contract:
$.int(): $.string()
B: $.int()
Body:
Return: $arg
testDictMultiExprContract:
Arguments:
- arg:
Contract:
$.int(): $.string()
$.string(): $.int()
Body:
Return: $arg
testNotNullContract:
Arguments:
- arg:
Contract: $.notNull()
Body:
Return: $arg
testDefault:
Arguments:
- arg:
Contract: $.string()
Default: DEFAULT
Body:
Return: $arg