-
-
Notifications
You must be signed in to change notification settings - Fork 107
Expand file tree
/
Copy pathConvertExpressionTests.cs
More file actions
31 lines (27 loc) · 1.22 KB
/
ConvertExpressionTests.cs
File metadata and controls
31 lines (27 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using com.github.javaparser;
using com.github.javaparser.ast.expr;
using JavaToCSharp.Expressions;
namespace JavaToCSharp.Tests;
public class ConvertExpressionTests
{
[Theory]
[InlineData("lst.size()", "lst.Count")]
[InlineData("lst.get(i)", "lst[i]")]
[InlineData("lst.set(i, value)", "lst[i] = value")]
[InlineData("str.length()", "str.Length")]
[InlineData("arr.length", "arr.Length")]
//Conversion not done if param number does not match the required
[InlineData("obj.size(i)", "obj.Size(i)")]
[InlineData("obj.get()", "obj.Get()")]
[InlineData("obj.get(i, j)", "obj.Get(i,j)")]
[InlineData("obj.set(i)", "obj.Set(i)")]
[InlineData("obj.set(i, j ,k)", "obj.Set(i,j,k)")]
[InlineData("obj.length(i)", "obj.Length(i)")]
public void Convert_DesignatedMethods_Into_PropertyAccessors(string javaExpr, string expectedCSharpExpr)
{
ParseResult parseResult = new JavaParser().parseExpression(javaExpr);
Expression parsedExpr = parseResult.getResult().FromRequiredOptional<Expression>();
var expr = ExpressionVisitor.VisitExpression(new ConversionContext(new JavaConversionOptions()), parsedExpr);
Assert.Equal(expectedCSharpExpr, expr?.ToString());
}
}