public void ConfigurationFactoryInput_Test()
        {
            IInputMapping mapping = JsonConvert.DeserializeObject <InputMapping>
                                        (TestUtilities.GetStringResource("InputMappings.DirectInput.KEYBOARD_DEVICE.json"));

            var configFactory = new TestConfigurationFactory(new[] { mapping });

            var realLayout =
                JsonConvert.DeserializeObject <ControllerLayout>(
                    TestUtilities.GetStringResource("InputMappings.keyboard_device.json"));

            var targetLayout =
                JsonConvert.DeserializeObject <ControllerLayout>(
                    TestUtilities.GetStringResource("InputMappings.xinput_device.json"));

            var fakeInputDevice = new Mock <IInputDevice>();

            fakeInputDevice.Setup(p => p.DeviceId).Returns("KEYBOARD_DEVICE");
            fakeInputDevice.Setup(p => p.DeviceLayout).Returns(realLayout);
            fakeInputDevice.Setup(p => p.DeviceApi).Returns(InputApi.DirectInput);

            var map = ControllerElementMappings.GetDefaultMappings(realLayout, targetLayout);
            var emulatedController = new EmulatedController(0, fakeInputDevice.Object, targetLayout, map);

            (IInputTemplate template, IInputMapping inputMappings) = configFactory.GetInputMappings(emulatedController);
            Assert.Equal(ControllerElement.KeyZ, template[ControllerElement.ButtonA]);
        }
示例#2
0
        public void EmulatedControllerCreation_Test()
        {
            var physicalDevice = new Mock <IInputDevice>();
            var targetLayout   = new Mock <IControllerLayout>();
            var layoutMapping  = new Mock <IControllerElementMappings>();

            IEmulatedController emulatedcontroller = new EmulatedController(0, physicalDevice.Object,
                                                                            targetLayout.Object, layoutMapping.Object);

            Assert.Same(physicalDevice.Object, emulatedcontroller.PhysicalDevice);
            Assert.Same(targetLayout.Object, emulatedcontroller.TargetLayout);
            Assert.Same(layoutMapping.Object, emulatedcontroller.LayoutMapping);
            Assert.Equal(0, emulatedcontroller.PortIndex);
        }