public void ItShouldPossibleToInvokeToString() { const string expected = @"public System.String Call(System.Int32 par) { System.String result; result = par.ToString(); return result; }"; var newExpression = Function.Create() .WithParameter <int>("par") .WithBody( CodeLine.CreateVariable <string>("result"), CodeLine.Assign(Operation.Variable("result"), StringOperation.ToString("par")) ) .Returns("result"); AssertString.AreEqual(expected, newExpression.ToString()); var lambda = newExpression.ToLambda <Func <int, string> >(); Assert.IsNotNull(lambda); var result = lambda(1); Assert.AreEqual("1", result); }
public string OperateString(string name, StringOperation operation, string attribute) { var variable = GameManager.instance.gameStatus.GetStringVariable(name); switch (operation) { case StringOperation.set: variable.value = attribute; break; case StringOperation.cat: variable.value = variable.value + attribute; break; default: Debug.LogWarning("Operation " + operation.ToString() + "Not implemented yet"); break; } return(variable.value); }