private static DeviceViewModel CreateDeviceViewMode_AxesChanged(out IHOTASQueue hotasQueue, out IHOTASDevice subHotasDevice)
        {
            var subFileSystem         = Substitute.For <IFileSystem>();
            var subDispatcherFactory  = Substitute.For <DispatcherFactory>();
            var subMediaPlayerFactory = Substitute.For <MediaPlayerFactory>();
            var subJoystickFactory    = Substitute.For <JoystickFactory>();

            var hotasQueueFactory = new HOTASQueueFactory(Substitute.For <IKeyboard>());
            var testJoystick      = new TestJoystick_AxisChanged();

            subJoystickFactory.CreateJoystick(Arg.Any <IDirectInput>(), Arg.Any <Guid>()).Returns(j => testJoystick);

            IDispatcher testDispatcher = new TestDispatcher_AxisChanged();

            subDispatcherFactory.CreateDispatcher().Returns(d => testDispatcher);

            hotasQueue     = hotasQueueFactory.CreateHOTASQueue();
            subHotasDevice = Substitute.For <IHOTASDevice>();

            var axisMap = Substitute.For <HOTASAxis>();

            axisMap.MapId = (int)JoystickOffset.Slider1;
            axisMap.Type  = HOTASButton.ButtonType.AxisLinear;
            subHotasDevice.ButtonMap.Returns(new ObservableCollection <IHotasBaseMap>()
            {
                axisMap
            });

            var deviceVm = new DeviceViewModel(subDispatcherFactory.CreateDispatcher(), subFileSystem, subMediaPlayerFactory, subHotasDevice);

            return(deviceVm);
        }
        private static DeviceViewModel CreateDeviceViewMode(out IHOTASQueue hotasQueue, out IHOTASDevice hotasDevice, out IJoystick subJoystick)
        {
            var subFileSystem         = Substitute.For <IFileSystem>();
            var subDispatchFactory    = Substitute.For <DispatcherFactory>();
            var subDirectInputFactory = Substitute.For <DirectInputFactory>();
            var subMediaPlayerFactory = Substitute.For <MediaPlayerFactory>();
            var subJoystickFactory    = Substitute.For <JoystickFactory>();

            var hotasQueueFactory  = new HOTASQueueFactory(Substitute.For <IKeyboard>());
            var hotasDeviceFactory = new HOTASDeviceFactory();

            var deviceId    = Guid.NewGuid();
            var productId   = Guid.NewGuid();
            var directInput = subDirectInputFactory.CreateDirectInput();

            subJoystick = subJoystickFactory.CreateJoystick(directInput, deviceId);
            subJoystick.Capabilities.Returns(new Capabilities());

            hotasQueue  = hotasQueueFactory.CreateHOTASQueue();
            hotasDevice = hotasDeviceFactory.CreateHOTASDevice(directInput, subJoystickFactory, productId, deviceId, "test", hotasQueue);
            hotasDevice.Capabilities = new Capabilities()
            {
                AxeCount = 0, ButtonCount = 2
            };

            var deviceVm = new DeviceViewModel(subDispatchFactory.CreateDispatcher(), subFileSystem, subMediaPlayerFactory, hotasDevice);

            return(deviceVm);
        }
Exemple #3
0
 public HOTASCollection(DirectInputFactory directInputFactory, JoystickFactory joystickFactory, HOTASQueueFactory hotasQueueFactory, HOTASDeviceFactory hotasDeviceFactory)
 {
     _directInputFactory = directInputFactory ?? throw new ArgumentNullException(nameof(directInputFactory));
     _joystickFactory    = joystickFactory ?? throw new ArgumentNullException(nameof(joystickFactory));
     _hotasQueueFactory  = hotasQueueFactory ?? throw new ArgumentNullException(nameof(hotasQueueFactory));
     _hotasDeviceFactory = hotasDeviceFactory ?? throw new ArgumentNullException(nameof(hotasDeviceFactory));
     _directInput        = _directInputFactory?.CreateDirectInput();
     Initialize();
 }
        private static DeviceViewModel CreateDeviceViewMode_LostConnection(out IHOTASQueue hotasQueue, out IHOTASDevice subHotasDevice)
        {
            var subFileSystem         = Substitute.For <IFileSystem>();
            var subDispatcherFactory  = Substitute.For <DispatcherFactory>();
            var subMediaPlayerFactory = Substitute.For <MediaPlayerFactory>();
            var subJoystickFactory    = Substitute.For <JoystickFactory>();

            var hotasQueueFactory = new HOTASQueueFactory(Substitute.For <IKeyboard>());
            var testJoystick      = new TestJoystick_LostConnection();

            subJoystickFactory.CreateJoystick(Arg.Any <IDirectInput>(), Arg.Any <Guid>()).Returns(j => testJoystick);

            hotasQueue     = hotasQueueFactory.CreateHOTASQueue();
            subHotasDevice = Substitute.For <IHOTASDevice>();
            subHotasDevice.ButtonMap.Returns(new ObservableCollection <IHotasBaseMap>());
            subHotasDevice.Capabilities.Returns(new Capabilities()
            {
                AxeCount = 0, ButtonCount = 2
            });

            var deviceVm = new DeviceViewModel(subDispatcherFactory.CreateDispatcher(), subFileSystem, subMediaPlayerFactory, subHotasDevice);

            return(deviceVm);
        }