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); }
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); }