public void TestParseResult() { DbAccessorHelper.Init(new MsDbAccessor(connstr));// 配置 // X U 0 0 3 0 0 2 var bts = ValueHelper.StrToToHexByte("32 55 30 30 33 30 30 32"); var s = new Sensor() { ModuleNo = 2 }; s.AddParameter(new SensorParam(new FormulaParam()) { Value = 0.002 }); var res = new SensorAcqResult { Response = bts, Sensor = s }; var sa = new FTM50SSmallLaserSensorAdapter(); sa.ParseResult(ref res); var data = res.Data; Assert.IsNotNull(data); Assert.AreEqual(3.002, data.RawValues[0], 0.0000001); Assert.AreEqual(3000.000, data.PhyValues[0], 0.0000001); bts = ValueHelper.StrToToHexByte("32 55 30 46 33 59 30 32"); Trace.WriteLine(res.Data.JsonResultData); res.Response = bts; try { sa.ParseResult(ref res); } catch { } Assert.AreEqual((int)Errors.ERR_DATA_PARSEFAILED, res.ErrorCode); Trace.WriteLine(res.Data.JsonResultData); bts = ValueHelper.StrToToHexByte("32 56 30 46 33 59 30 32"); res.Response = bts; sa.ParseResult(ref res); Assert.AreEqual((int)Errors.ERR_INVALID_DATA, res.ErrorCode); Trace.WriteLine(res.Data.JsonResultData); }
public void TestRequest() { var sa = new FTM50SSmallLaserSensorAdapter(); var r = this.GetSensorAcqResult(); var s = new Sensor { ModuleNo = 2 }; r.Sensor = s; sa.Request(ref r); var bts = r.Request; Assert.AreEqual(0xcc, bts[0]); Assert.AreEqual(0x02, bts[1]); }