public void ConvertVarRefToStringVarRefInt32InParameterWithNoCallerParameters()
        {
            WxeVariableReference      varRef    = new WxeVariableReference(c_param);
            WxeParameterConverterMock converter = new WxeParameterConverterMock(_int32InParameter);

            Assert.That(converter.ConvertVarRefToString(varRef, null), Is.Null);
        }
        public void ConvertVarRefToStringRequiredVarRefInParameterWithNoCallerParameters()
        {
            WxeVariableReference      varRef    = new WxeVariableReference(c_param);
            WxeParameterConverterMock converter = new WxeParameterConverterMock(_requiredInt32InParameter);

            converter.ConvertVarRefToString(varRef, null);
        }
        public void ConvertVarRefToStringVarRefInParameterWithVarRef()
        {
            WxeVariableReference value  = new WxeVariableReference(c_param);
            WxeVariableReference varRef = new WxeVariableReference(c_param);

            _callerParameters.Add(c_param, value);
            WxeParameterConverterMock converter = new WxeParameterConverterMock(_int32InParameter);

            Assert.That(converter.ConvertVarRefToString(varRef, _callerParameters), Is.Null);
        }
        public void ConvertObjectToStringVarRefInt32InParameter()
        {
            int value = 1;
            WxeVariableReference varRef = new WxeVariableReference(c_param);

            _callerParameters.Add(c_param, value);
            WxeParameterConverterMock converter = new WxeParameterConverterMock(_int32InParameter);

            Assert.That(converter.ConvertVarRefToString(varRef, _callerParameters), Is.EqualTo(value.ToString()));
        }
        public void ConvertVarRefToStringRequiredVarRefInParameterWithVarRef()
        {
            WxeVariableReference value  = new WxeVariableReference(c_param);
            WxeVariableReference varRef = new WxeVariableReference(c_param);

            _callerParameters.Add(c_param, value);
            WxeParameterConverterMock converter = new WxeParameterConverterMock(_requiredInt32InParameter);

            converter.ConvertVarRefToString(varRef, _callerParameters);
        }
        internal void ReturnParametersToCaller()
        {
            NameObjectCollection callerVariables = _function.ParentStep.Variables;

            for (int i = 0; i < _parameterDeclarations.Length; ++i)
            {
                if (i < _actualParameters.Length)
                {
                    WxeVariableReference varRef = _actualParameters[i] as WxeVariableReference;
                    if (varRef != null)
                    {
                        _parameterDeclarations[i].CopyToCaller(varRef.Name, _variables, callerVariables);
                    }
                }
            }
        }
        /// <summary> Pass actualParameters to Variables. </summary>
        public void EnsureParametersInitialized(NameObjectCollection additionalParameters)
        {
            if (_parametersInitialized)
            {
                return;
            }

            NameObjectCollection callerVariables = (_function.ParentStep != null) ? _function.ParentStep.Variables : null;

            callerVariables = NameObjectCollection.Merge(callerVariables, additionalParameters);

            if (_actualParameters.Length > _parameterDeclarations.Length)
            {
                throw new ApplicationException(
                          string.Format("{0} parameters provided but only {1} were expected.", _actualParameters.Length, _parameterDeclarations.Length));
            }

            for (int i = 0; i < _parameterDeclarations.Length; ++i)
            {
                if (i < _actualParameters.Length && _actualParameters[i] != null)
                {
                    WxeVariableReference varRef = _actualParameters[i] as WxeVariableReference;
                    if (callerVariables != null && varRef != null)
                    {
                        _parameterDeclarations[i].CopyToCallee(varRef.Name, callerVariables, _variables);
                    }
                    else
                    {
                        _parameterDeclarations[i].CopyToCallee(_actualParameters[i], _variables);
                    }
                }
                else if (_parameterDeclarations[i].Required)
                {
                    throw new ApplicationException("Parameter '" + _parameterDeclarations[i].Name + "' is missing.");
                }
            }

            _parametersInitialized = true;
        }
 public new string ConvertVarRefToString(WxeVariableReference varRef, NameObjectCollection callerVariables)
 {
     return(base.ConvertVarRefToString(varRef, callerVariables));
 }
Ejemplo n.º 9
0
 public ResourceObjectWithVarRef(IResourcePathBuilder resourcePathBuilder, Assembly assembly, WxeVariableReference pathReference)
     : base(resourcePathBuilder, assembly)
 {
     ArgumentUtility.CheckNotNull("pathReference", pathReference);
     _pathReference = pathReference;
 }
Ejemplo n.º 10
0
 public ResourceObjectWithVarRef(WxeVariableReference pathReference)
 {
     ArgumentUtility.CheckNotNull("pathReference", pathReference);
     _pathReference = pathReference;
 }