Namespace UTSModule.Test.Command
    Public MustInherit Class TestCommandExecutor
        Implements ITestExecutor

        Public ReadOnly Property TestCommand() As TestCommand

        Protected Property CommandReturn() As TestCommandReturn

        Public Property IsRetry As Boolean

        Sub New(command As TestCommand)
            TestCommand = command
            CommandReturn = New TestCommandReturn()
        End Sub

        Public MustOverride Function Execute() As TestCommandReturn Implements ITestExecutor.Execute

        Public Function GetResult() As Boolean Implements ITestExecutor.GetResult
            Return CommandReturn.ExecuteResult
        End Function

        Public Function GetRecordValue() As String Implements ITestExecutor.GetRecordValue
            Return CommandReturn.RecordValue
        End Function


        Public Function GetLowerLimit() As String Implements ITestExecutor.GetLowerLimit
            Return CommandReturn.LowerLimit
        End Function

        Public Function GetUpperLimit() As String Implements ITestExecutor.GetUpperLimit
            Return CommandReturn.UpperLimit
        End Function
    End Class
End Namespace