public void GetArgumentSyntax_WhenUsingNormalValueAsNamedArgument_ShouldGetCode() { var argument = new VariableArgument("variableName", "namedArgument"); var syntax = argument.GetArgumentSyntax(); Assert.IsInstanceOf <ArgumentSyntax>(syntax); Assert.AreEqual("namedArgument:variableName", syntax.ToString()); }
// direct: If true then .Set method follows .Declare method. internal SetChainer(Chainer prev, string variableName, VariableArgument argument, bool direct = false) : base(prev) { var root = GetRoot(); if (argument == null) { argument = Designer.Null; } if (direct && prev is DeclareChainer) { variableName = ((DeclareChainer)prev).VariableName; } CheckAndThrow(variableName, root, Method); TryThrow(argument.Exception); Build = (buildContext, buildArgs) => { var variable = buildContext.TryGetVariable(variableName, out chainException, Variable.SearchType.Variable); if (chainException != null) { root.TryThrow(chainException, Method); } argument.DataType = variable.DataType; return(Text.GenerateSql(20) .NewLine(Text.Set).S() .Append(variableName) .Append(Text._Equal_) .Append(argument.Build(buildContext, buildArgs)) .Terminate() .ToString()); }; }