コード例 #1
0
        void Ex04()
        {
            var keyDownHandler             = Substitute.For <Action <VirtualKey> >();
            var dependencyArgumentsHandler = Substitute.For <Action <TestUwpControllers.IDependency1, TestUwpControllers.IDependency2, TestUwpControllers.IDependency3> >();
            var dependency1 = new TestUwpControllers.Dependency1();
            var dependency2 = new TestUwpControllers.Dependency2();
            var dependency3 = new TestUwpControllers.Dependency3();

            TestUwpControllers.DependencyParameterController controller = null;
            Given("a controller", () => controller = new TestUwpControllers.DependencyParameterController {
                KeyDownAssertionHandler = keyDownHandler, DependencyArgumentsHandler = dependencyArgumentsHandler
            });
            When("the KeyDown event is raised using the EventHandlerBase", () =>
                 UwpController.Using(Substitute.For <IKeyRoutedEventArgsResolver>(), typeof(KeyRoutedEventArgsWrapper))
                 .Apply(resolver => resolver.Key(Arg.Any <KeyRoutedEventArgs>()).Returns(VirtualKey.Enter))
                 .EventHandlersOf(controller)
                 .GetBy("Element")
                 .Resolve <TestUwpControllers.IDependency1>(() => dependency1)
                 .Resolve <TestUwpControllers.IDependency2>(() => dependency2)
                 .Resolve <TestUwpControllers.IDependency3>(() => dependency3)
                 .Raise("KeyDown")
                 );
            Then("the KeyDown event should be handled", () => keyDownHandler.Received(1).Invoke(VirtualKey.Enter));
            Then("the dependency arguments should be injected", () => dependencyArgumentsHandler.Received(1).Invoke(dependency1, dependency2, dependency3));
        }
コード例 #2
0
        void Ex10()
        {
            var pointerPressedHandler      = Substitute.For <Action <PointerDeviceType> >();
            var dependencyArgumentsHandler = Substitute.For <Action <TestUwpControllers.IDependency1, TestUwpControllers.IDependency2, TestUwpControllers.IDependency3> >();
            var dependency1 = new TestUwpControllers.Dependency1();
            var dependency2 = new TestUwpControllers.Dependency2();
            var dependency3 = new TestUwpControllers.Dependency3();

            TestUwpControllers.DependencyParameterControllerAsync controller = null;
            Given("a controller", () => controller = new TestUwpControllers.DependencyParameterControllerAsync {
                PointerPressedHandler = pointerPressedHandler, DependencyArgumentsHandler = dependencyArgumentsHandler
            });
            When("the PointerPressed event is raised asynchronously using the EventHandlerBase", async() =>
                 await UwpController.Using(Substitute.For <IPointerRoutedEventArgsResolver>(), typeof(PointerRoutedEventArgsWrapper))
                 .Apply(resolver => resolver.Pointer(Arg.Any <PointerRoutedEventArgs>()).Returns((Pointer)null))
                 .Using(Substitute.For <IPointerResolver>(), typeof(PointerWrapper))
                 .Apply(resolver => resolver.PointerDeviceType(Arg.Any <Pointer>()).Returns(PointerDeviceType.Mouse))
                 .EventHandlersOf(controller)
                 .GetBy("Element")
                 .Resolve <TestUwpControllers.IDependency1>(() => dependency1)
                 .Resolve <TestUwpControllers.IDependency2>(() => dependency2)
                 .Resolve <TestUwpControllers.IDependency3>(() => dependency3)
                 .RaiseAsync("PointerPressed")
                 );
            Then("the PointerPressed event should be handled", () => pointerPressedHandler.Received(1).Invoke(PointerDeviceType.Mouse));
            Then("the dependency arguments should be injected", () => dependencyArgumentsHandler.Received(1).Invoke(dependency1, dependency2, dependency3));
        }