public void WriteData() { manager.Start(); Assert.AreEqual(FT_STATUS.FT_OK, manager.Status); Assert.IsTrue(manager.IsConnected); //Test values out of range Assert.ThrowsException <ArgumentOutOfRangeException>(() => { manager.SetValue(-1, 0); }); Assert.ThrowsException <ArgumentOutOfRangeException>(() => { manager.SetValue(513, 0); }); //test values in range manager.SetValue(0, 0); manager.SetValue(512, 0); //Test replace array of different size var badSizeArray = new byte[45]; Assert.ThrowsException <ArgumentOutOfRangeException>(() => { manager.UpdateBuffer(badSizeArray); }); Assert.ThrowsException <ArgumentNullException>(() => { manager.UpdateBuffer(null); }); var goodSizeArray = new byte[513]; manager.UpdateBuffer(goodSizeArray); manager.Stop(); Assert.IsFalse(manager.IsConnected); }
/// <summary> /// Handle new message received /// </summary> /// <param name="e"></param> protected override void OnMessage(MessageEventArgs e) { base.OnMessage(e); if (e.IsText) { Send("DWM does not support text messages"); } if (e.IsBinary) { var data = e.RawData; if (data.Length != _ftdiManager.Options.BUFFER_SIZE) { Send("DMX binary length does not match FTDI buffer size"); } else { _ftdiManager.UpdateBuffer(data); } } }