public async Task CalculatorAddDuoTest() { var handlerProvider = new HandlerProvider(); var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); handlerProvider.LoadFromReference <HandlingTests>(); resolver.Register(new CalculatorParameter() { First = 10 }); //var sum = InterfaceHandling.CreateHandler<ICalculator, InterfaceHandlerTest<ICalculator>>(new HandlerArgument() { Arg = "5" }); var value = await handlerProvider.HandleAsync <CalculatorResult>(resolver.CreateSession(), "", 1, new CalculatorArgument() { Left = 2, Right = 3 }, new CalculatorArgument() { Left = 4, Right = 5 }); var result = (CalculatorResult)value; Assert.AreEqual(24, result.Result); }
public async Task HandleManySum() { var handler = new HandlerProvider(); var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); handler.LoadFromReference <HandlingTests>(); resolver.Register(new CalculatorParameter() { First = 10 }); var watch = Stopwatch.StartNew(); for (int i = 0; i < 100000; i++) { //var result = await handler.HandleAsync(0, new IntArgument() { Left = 2, Right = 3 }); //var result = await handler.HandleAsync(0, new IntArgument() { Left = 2, Right = 3 }); var value = await handler.HandleAsync <CalculatorResult>(resolver.CreateSession(), 1, new object[] { new CalculatorArgument() { Left = 2, Right = 3 }, }); } watch.Stop(); // s: 100k 0.59s }
public async Task HandleSumThree() { var handler = new HandlerProvider(); var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); handler.LoadFromReference <HandlingTests>(); var result = await handler.HandleAsync <int>(resolver.CreateSession(), 0, new object[] { new IntArgument() { Left = 2, Right = 3 }, new IntArgument() { Left = 4, Right = 5 }, new ByteArgument { Left = 6, Right = 7 } }); Assert.IsNotNull(result); Assert.IsTrue(result is int); Assert.IsTrue((int)result == (2 + 3 + 4 + 5 + 6 + 7)); }
public async Task HandleSumString() { var handler = new HandlerProvider(); var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); handler.LoadFromReference <HandlingTests>(); var result = await handler.HandleAsync <string>(resolver.CreateSession(), 0, "s"); Assert.IsNotNull(result); Assert.IsTrue(result is string); Assert.IsTrue((string)result == "sums"); }
public async Task HandleSumZero() { var handler = new HandlerProvider(); var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); handler.LoadFromReference <HandlingTests>(); var result = await handler.HandleAsync <int>(resolver.CreateSession(), 0, new object[] { }); Assert.IsNotNull(result); Assert.IsTrue(result is int); Assert.IsTrue((int)result == 1); }
public async Task HandleMinusAsyncWithRole() { var handler = new HandlerProvider(); var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); handler.LoadFromReference <HandlingTests>(); var result = await handler.HandleAsync <int>(resolver.CreateSession(), 2, new IntArgument() { Left = 2, Right = 3 }); Assert.IsNotNull(result); Assert.IsTrue(result is int); Assert.IsTrue((int)result == -1); }
public async Task CalculatorAddStringTest() { var handler = new HandlerProvider(); var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); handler.LoadFromReference <HandlingTests>(); resolver.Register(new CalculatorParameter() { First = 10 }); //var sum = InterfaceHandling.CreateHandler<ICalculator, InterfaceHandlerTest<ICalculator>>(new HandlerArgument() { Arg = "5" }); var result = await handler.HandleAsync <CalculatorResult>(resolver.CreateSession(), "IAddString", 1, "6"); Assert.AreEqual(7, result.Result); }
public async Task HandlerByteMinusAsyncWithAdminMinusRoles() { var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); var handler = new HandlerProvider(); handler.LoadFromReference <HandlingTests>(); resolver.Register(new Roles("Minus", "Admin")); var result = await handler.HandleAsync <int>(resolver.CreateSession(), 2, new ByteArgument() { Left = 6, Right = 2 }); Assert.IsNotNull(result); Assert.IsTrue(result is int); Assert.IsTrue((int)result == 3); }
public async Task HandleManyMultiplyAsync() { var handler = new HandlerProvider(); var resolver = new Resolver(); resolver.LoadFromReference <HandlingTests>(); handler.LoadFromReference <HandlingTests>(); var watch = Stopwatch.StartNew(); for (int i = 0; i < 100000; i++) { var result = await handler.HandleAsync <int>(resolver.CreateSession(), 1, new IntArgument() { Left = 2, Right = 3 }); } watch.Stop(); // 0.48s (0.8) 100k }