public void Receiver() { var receiver = new Receiver(_channel1); var receiverInput = new InputRemoting(receiver); var receiverDisposer = receiverInput.Subscribe(receiverInput); receiverInput.StartSending(); receiverInput.StopSending(); receiverDisposer.Dispose(); }
public void Sender() { var sender = new Sender(); var senderInput = new InputRemoting(sender); var senderDisposer = senderInput.Subscribe(new Observer(_channel1)); senderInput.StartSending(); senderInput.StopSending(); senderDisposer.Dispose(); }
public void Receiver() { var receiver = new Receiver(_channel1); Assert.That(receiver.remoteDevices, Is.Empty); Assert.That(receiver.remoteLayouts, Is.Empty); var receiverInput = new InputRemoting(receiver); var receiverDisposer = receiverInput.Subscribe(receiverInput); receiverInput.StartSending(); receiverInput.StopSending(); receiverDisposer.Dispose(); }
public void Sender() { var sender = new Sender(); Assert.That(sender.layouts, Is.Not.Empty); Assert.That(sender.devices, Is.Not.Empty); var senderInput = new InputRemoting(sender); var senderDisposer = senderInput.Subscribe(new Observer(_channel1)); senderInput.StartSending(); senderInput.StopSending(); senderDisposer.Dispose(); sender.Dispose(); }
public IEnumerator AddDevice() { var sender = new Sender(); var senderInput = new InputRemoting(sender); var senderSubscriberDisposer = senderInput.Subscribe(new Observer(_channel1)); var receiver = new Receiver(_channel2); var receiverInput = new InputRemoting(receiver); var receiverSubscriberDisposer = receiverInput.Subscribe(receiverInput); InputDevice device = null; InputDeviceChange change = default; receiver.onDeviceChange += (_device, _change) => { device = _device; change = _change; }; string layoutName = null; InputControlLayoutChange layoutChange = default; receiver.onLayoutChange += (_name, _change) => { layoutName = _name; layoutChange = _change; }; receiverInput.StartSending(); senderInput.StartSending(); yield return(new WaitUntil(() => device != null)); yield return(new WaitUntil(() => layoutName != null)); Assert.That(device, Is.Not.Null); Assert.That(change, Is.EqualTo(InputDeviceChange.Added)); Assert.That(layoutName, Is.Not.Null); Assert.That(layoutChange, Is.EqualTo(InputControlLayoutChange.Added)); Assert.That(receiver.remoteLayouts, Is.Not.Empty); Assert.That(receiver.remoteDevices, Is.Not.Empty); Assert.That(receiver.remoteDevices, Has.All.Matches <InputDevice>(d => d.remote)); senderInput.StopSending(); receiverInput.StopSending(); senderSubscriberDisposer.Dispose(); receiverSubscriberDisposer.Dispose(); sender.Dispose(); receiver.Dispose(); }