Exemple #1
0
        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);
        }
Exemple #2
0
        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
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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");
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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
        }