|
|
|
@ -19,12 +19,9 @@ namespace Avalonia.Markup.UnitTests.Parsers |
|
|
|
|
|
|
|
public int MethodWithReturn() => 0; |
|
|
|
|
|
|
|
public int MethodWithReturnAndParameters(int i) => i; |
|
|
|
public int MethodWithReturnAndParameter(object i) => (int)i; |
|
|
|
|
|
|
|
public static void StaticMethod() { } |
|
|
|
|
|
|
|
public static void ManyParameters(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9) { } |
|
|
|
public static int ManyParametersWithReturnType(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) => 1; |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
@ -42,10 +39,8 @@ namespace Avalonia.Markup.UnitTests.Parsers |
|
|
|
[Theory] |
|
|
|
[InlineData(nameof(TestObject.MethodWithoutReturn), typeof(Action))] |
|
|
|
[InlineData(nameof(TestObject.MethodWithReturn), typeof(Func<int>))] |
|
|
|
[InlineData(nameof(TestObject.MethodWithReturnAndParameters), typeof(Func<int, int>))] |
|
|
|
[InlineData(nameof(TestObject.MethodWithReturnAndParameter), typeof(Func<object, int>))] |
|
|
|
[InlineData(nameof(TestObject.StaticMethod), typeof(Action))] |
|
|
|
[InlineData(nameof(TestObject.ManyParameters), typeof(Action<int, int, int, int, int, int, int, int, int>))] |
|
|
|
[InlineData(nameof(TestObject.ManyParametersWithReturnType), typeof(Func<int, int, int, int, int, int, int, int, int>))] |
|
|
|
public async Task Should_Get_Method_WithCorrectDelegateType(string methodName, Type expectedType) |
|
|
|
{ |
|
|
|
var data = new TestObject(); |
|
|
|
@ -61,10 +56,10 @@ namespace Avalonia.Markup.UnitTests.Parsers |
|
|
|
public async Task Can_Call_Method_Returned_From_Observer() |
|
|
|
{ |
|
|
|
var data = new TestObject(); |
|
|
|
var observer = ExpressionObserverBuilder.Build(data, nameof(TestObject.MethodWithReturnAndParameters)); |
|
|
|
var observer = ExpressionObserverBuilder.Build(data, nameof(TestObject.MethodWithReturnAndParameter)); |
|
|
|
var result = await observer.Take(1); |
|
|
|
|
|
|
|
var callback = (Func<int, int>)result; |
|
|
|
var callback = (Func<object, int>)result; |
|
|
|
|
|
|
|
Assert.Equal(1, callback(1)); |
|
|
|
|
|
|
|
|