blob: d45842f292b574d7ee5bca383d15073e1f23124f [file] [log] [blame]
*** Keywords ***
Create Machine
${TEST_DIR}= Evaluate r"${CURDIR}".replace(" ", "\\ ")
Execute Command mach create
Execute Command i @${TEST_DIR}/PeripheralWithAliases.cs
Create Log Tester 0
Create Test Peripheral
[Arguments] ${parameters}=${EMPTY}
Execute Command machine LoadPlatformDescriptionFromString "test: Mocks.PeripheralWithAliases @ sysbus {${parameters}}"
*** Test Cases ***
Should Create Peripheral Without Using Aliases
Create Machine
Create Test Peripheral normalParameter: 5; mode: PeripheralModes.Mode1; aliasedParameter: 10
Wait For Log Entry normalParameter = 5
Wait For Log Entry mode = Mode1
Wait For Log Entry aliasedParameter = 10
Wait For Log Entry aliasedParameterDefault = 0
Should Create Peripheral Using Aliases
Create Machine
Create Test Peripheral normalParameter: -12; mode: Modes.Mode2; ctorAlias: 100; ctorAliasDefault: 15
Wait For Log Entry normalParameter = -12
Wait For Log Entry mode = Mode2
Wait For Log Entry aliasedParameter = 100
Wait For Log Entry aliasedParameterDefault = 15
Should Warn When Using Aliases
Create Machine
Create Test Peripheral normalParameter: 5; mode: Modes.Mode1; ctorAlias: 10; ctorAliasDefault: 15
Wait For Log Entry Using alias 'Modes' for type 'PeripheralModes'
Wait For Log Entry Using alias 'ctorAlias' for parameter 'aliasedParameter'
Should Not Be In Log Using alias 'ctorAliasDefault' for parameter 'aliasedParameterDefault'
Should Not Accept Invalid Aliases
Create Machine
Run Keyword And Expect Error *Could not find corresponding attribute for parameter 'aliasedParameter'*
... Create Test Peripheral normalParameter: 5; mode: Modes.Mode1; invalidParameter: 10