Add parameterized callable functions from CSharp

This commit is contained in:
2018-11-16 14:58:15 +01:00
parent e5ea4d0fde
commit f74992e47b
4 changed files with 101 additions and 6 deletions

View File

@@ -166,5 +166,44 @@ end
Assert.Equal(100, (long)result);
}
[Fact]
public void ReturnFromCSharpCallWithParameter()
{
const string input = @"
function testFunc (b)
if b then
return 100
else
return 50
end
end
";
var script = new Script(input);
Assert.Empty(script.Diagnostics.Messages);
var result = script.EvaluateFunction<NumberLong>("testFunc", new object[] {true});
Assert.Empty(script.Diagnostics.Messages);
Assert.Equal(100, (long)result);
var result2 = script.EvaluateFunction<NumberLong>("testFunc", new object[] {false});
Assert.Empty(script.Diagnostics.Messages);
Assert.Equal(50, (long)result2);
}
[Fact]
public void ReturnFromCSharpCallWithParameters()
{
const string input = @"
function add (a, b)
return a + b
end
";
var script = new Script(input);
Assert.Empty(script.Diagnostics.Messages);
var result = script.EvaluateFunction<NumberLong>("add", new object[] {400, 128});
Assert.Empty(script.Diagnostics.Messages);
Assert.Equal(528, (long)result);
}
}
}