public async Task TestWriteAndReadFromNanoHid() { //Send the request part of the Message Contract var request = new byte[NanoBufferSize]; request[0] = 63; request[1] = 62; request[2] = 1; request[3] = 1; request[4] = 1; var filterDeviceDefinition = new FilterDeviceDefinition(productId: 4112, vendorId: 10741); var integrationTester = new IntegrationTester(filterDeviceDefinition.GetHidDeviceFactory(loggerFactory)); await integrationTester.TestAsync(request, (result, device) => { Assert.AreEqual(NanoBufferSize, result.Data.Length); Assert.AreEqual(63, result.Data[0]); Assert.AreEqual(62, result.Data[1]); var windowsHidDevice = (HidDevice)device; #if WINDOWS_UWP #else //TODO: share this with UWP Assert.AreEqual(DeviceType.Hid, device.ConnectedDeviceDefinition.DeviceType); Assert.AreEqual("AirNetix", device.ConnectedDeviceDefinition.Manufacturer); Assert.AreEqual(filterDeviceDefinition.ProductId, device.ConnectedDeviceDefinition.ProductId); Assert.AreEqual(filterDeviceDefinition.VendorId, device.ConnectedDeviceDefinition.VendorId); Assert.AreEqual("STS-170", device.ConnectedDeviceDefinition.ProductName); Assert.AreEqual(NanoBufferSize, device.ConnectedDeviceDefinition.ReadBufferSize); Assert.AreEqual(NanoBufferSize, device.ConnectedDeviceDefinition.WriteBufferSize); Assert.AreEqual("000000000001", device.ConnectedDeviceDefinition.SerialNumber); Assert.AreEqual((ushort)1, device.ConnectedDeviceDefinition.Usage); Assert.AreEqual((ushort)65280, device.ConnectedDeviceDefinition.UsagePage); Assert.AreEqual((ushort)256, device.ConnectedDeviceDefinition.VersionNumber); Assert.AreEqual(NanoBufferSize, windowsHidDevice.ReadBufferSize); Assert.AreEqual(NanoBufferSize, windowsHidDevice.WriteBufferSize); #endif return(Task.FromResult(true)); }, NanoBufferSize); }
public async Task TestWriteAndReadFromTemperHid() { //Send the request part of the Message Contract var request = new byte[9] { 0x00, 0x01, 0x80, 0x33, 0x01, 0x00, 0x00, 0x00, 0x00 }; var filterDeviceDefinition = new FilterDeviceDefinition(vendorId: 0x413d, productId: 0x2107, usagePage: 65280); var integrationTester = new IntegrationTester( #if WINDOWS_UWP filterDeviceDefinition.CreateUwpHidDeviceFactory(loggerFactory)); #else filterDeviceDefinition.GetHidDeviceFactory(loggerFactory)); #endif await integrationTester.TestAsync(request, (result, device) => { Assert.IsTrue(device.IsInitialized); var temperatureTimesOneHundred = (result.Data[4] & 0xFF) + (result.Data[3] << 8); var temp = Math.Round(temperatureTimesOneHundred / 100.0m, 2, MidpointRounding.ToEven); //I think my room should pretty much always be between these temperatures Assert.IsTrue(temp is > 10 and < 35); var windowsHidDevice = (HidDevice)device; #if WINDOWS_UWP #else //TODO: Share these with UWP Assert.AreEqual(TemperBufferSize, device.ConnectedDeviceDefinition.ReadBufferSize); Assert.AreEqual(TemperBufferSize, device.ConnectedDeviceDefinition.WriteBufferSize); Assert.AreEqual(TemperBufferSize, windowsHidDevice.ReadBufferSize); Assert.AreEqual(TemperBufferSize, windowsHidDevice.WriteBufferSize); #endif return(Task.FromResult(true)); }, TemperBufferSize); }