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);
        }
Пример #2
0
    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);
    }