public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { if (Convert.ToInt32(value.Dlv.A, 16) != DDI) return null; ApplicationDataModel.Representations.EnumerationMember enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterUndefined.ToModelEnumMember(); var reservedBitsMask = 0x00000003; var valueLowerTwoBits = (int)value.Value & reservedBitsMask; if(valueLowerTwoBits == 0) enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterManualOff.ToModelEnumMember(); else if (valueLowerTwoBits == 1) enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterAutoOn.ToModelEnumMember(); else if (valueLowerTwoBits == 2) enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterError.ToModelEnumMember(); else if (valueLowerTwoBits == 3) enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterUndefined.ToModelEnumMember(); return new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }; }
private static void CompareCondensedSectionOverrideState(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPrescriptionUsed.ToModelEnumMember().Code) Assert.AreEqual(0, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPrescriptionOverridden.ToModelEnumMember().Code) Assert.AreEqual(1, isoValue.Value); }
private static SpatialValue CreateSpatialValue(TIM tim, byte order, int value) { var dlvs = tim.Items.Where(x => x.GetType() == typeof(DLV)); var matchingDlv = dlvs.ElementAtOrDefault(order) as DLV; if (matchingDlv == null) { return(null); } var ddis = DdiLoader.Ddis; var resolution = 1d; if (matchingDlv.A != null && ddis.ContainsKey(Convert.ToInt32(matchingDlv.A, 16))) { resolution = ddis[Convert.ToInt32(matchingDlv.A, 16)].Resolution; } var spatialValue = new SpatialValue { Id = order, Dlv = matchingDlv, Value = value * resolution, }; return(spatialValue); }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { if (Convert.ToInt32(value.Dlv.A, 16) != DDI) return null; ApplicationDataModel.Representations.EnumerationMember enumMember = null; if (value.Value == 1) enumMember = DefinedTypeEnumerationInstanceList.dtiDrawbar.ToModelEnumMember(); else if (value.Value == 2) enumMember = DefinedTypeEnumerationInstanceList.dtiRearTwoPoint.ToModelEnumMember(); else if (value.Value == 3) enumMember = DefinedTypeEnumerationInstanceList.dtiThreePoint.ToModelEnumMember(); else if (value.Value == 7) enumMember = DefinedTypeEnumerationInstanceList.dtiRearPivotWagonHitch.ToModelEnumMember(); if (enumMember == null) return null; return new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }; }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI) { return(null); } ApplicationDataModel.Representations.EnumerationMember enumMember; if (value.Value == 0) { enumMember = DefinedTypeEnumerationInstanceList.dtiWeightUnStable.ToModelEnumMember(); } else if (value.Value == 1) { enumMember = DefinedTypeEnumerationInstanceList.dtiWeightStable.ToModelEnumMember(); } else if (value.Value == 2) { enumMember = DefinedTypeEnumerationInstanceList.dtiWeightError.ToModelEnumMember(); } else { return(null); } return(new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }); }
public void GivenIsoSpatialRowAndMeterWhenMapThenSpatialRecordContainsMeterValue() { var spatialValue = new SpatialValue { Id = 0, Value = 12.3 }; _isoSpatialRow.SpatialValues = new List<SpatialValue> { spatialValue }; _isoSpatialRows.Add(_isoSpatialRow); WorkingData meter = new NumericWorkingData { Representation = RepresentationInstanceList.vrAvgHarvestMoisture.ToModelRepresentation(), DeviceElementUseId = 1, UnitOfMeasure = UnitSystemManager.GetUnitOfMeasure("prcnt") }; var uniqueId = new UniqueId { CiTypeEnum = CompoundIdentifierTypeEnum.String, Id = "DLV0", Source = UniqueIdMapper.IsoSource }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); var result = Map(); var meterValue = result.First().GetMeterValue(meter) as NumericRepresentationValue; Assert.AreEqual(12.3, meterValue.Value.Value); }
private static SpatialValue CreateSpatialValue(ISOTime templateTime, byte order, int value) { var dataLogValues = templateTime.DataLogValues; var matchingDlv = dataLogValues.ElementAtOrDefault(order); if (matchingDlv == null) { return(null); } var ddis = DdiLoader.Ddis; var resolution = 1d; if (matchingDlv.ProcessDataDDI != null && ddis.ContainsKey(matchingDlv.ProcessDataDDI.AsInt32DDI())) { resolution = ddis[matchingDlv.ProcessDataDDI.AsInt32DDI()].Resolution; } var spatialValue = new SpatialValue { Id = order, DataLogValue = matchingDlv, Value = value * resolution, }; return(spatialValue); }
public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter) { if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI) { return(null); } byte twoBitsValue = GetValue((int)value.Value, meter.DeviceElementUseId); ApplicationDataModel.Representations.EnumerationMember enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateError.ToModelEnumMember(); if (twoBitsValue == 0) { enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateDisabled.ToModelEnumMember(); } else if (twoBitsValue == 1) { enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateEnabled.ToModelEnumMember(); } else if (twoBitsValue == 2) { enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateError.ToModelEnumMember(); } else if (twoBitsValue == 3) { enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateNotAvailable.ToModelEnumMember(); } return(new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }); }
public void GivenIsoSpatialRowAndMeterWhenMapThenSpatialRecordContainsMeterValue() { var spatialValue = new SpatialValue { Id = 0, Value = 12.3 }; _isoSpatialRow.SpatialValues = new List <SpatialValue> { spatialValue }; _isoSpatialRows.Add(_isoSpatialRow); WorkingData meter = new NumericWorkingData { Representation = RepresentationInstanceList.vrAvgHarvestMoisture.ToModelRepresentation(), DeviceElementUseId = 1, UnitOfMeasure = UnitSystemManager.GetUnitOfMeasure("prcnt") }; var uniqueId = new UniqueId { IdType = IdTypeEnum.String, Id = "DLV0", Source = UniqueIdMapper.IsoSource }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); var result = Map(); var meterValue = result.First().GetMeterValue(meter) as NumericRepresentationValue; Assert.AreEqual(12.3, meterValue.Value.Value); }
private static SpatialValue CreateSpatialValue(ISOTime templateTime, byte order, int value, DeviceElementHierarchies deviceHierarchies) { var dataLogValues = templateTime.DataLogValues; var matchingDlv = dataLogValues.ElementAtOrDefault(order); if (matchingDlv == null) { return(null); } ISODeviceElement det = deviceHierarchies.GetISODeviceElementFromID(matchingDlv.DeviceElementIdRef); ISODevice dvc = det?.Device; ISODeviceProcessData dpd = dvc?.DeviceProcessDatas?.FirstOrDefault(d => d.DDI == matchingDlv.ProcessDataDDI); var ddis = DdiLoader.Ddis; var resolution = 1d; if (matchingDlv.ProcessDataDDI != null && ddis.ContainsKey(matchingDlv.ProcessDataDDI.AsInt32DDI())) { resolution = ddis[matchingDlv.ProcessDataDDI.AsInt32DDI()].Resolution; } var spatialValue = new SpatialValue { Id = order, DataLogValue = matchingDlv, Value = value * resolution, DeviceProcessData = dpd }; return(spatialValue); }
public void GivenCondensedWorkStateWithSomeStatesNotInstalledThenOnlyCreatesInstalledSections() { var spatialRow = new ISOSpatialRow(); const long notInstalled = 3; long value = 0; for (int i = 15; i > 11; --i) { value |= (notInstalled << i * 2); } var spatialValue = new SpatialValue { Dlv = new DLV { A = "A1" // need to set A specified true? }, Value = value }; spatialRow.SpatialValues = new List <SpatialValue> { spatialValue }; _isoSpatialRows = new List <ISOSpatialRow> { spatialRow }; var result = new CondensedWorkStateMeterCreator(161, 161).CreateMeters(_isoSpatialRows); Assert.AreEqual(12, result.Count); }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { if (value == null) return null; EnumerationMember enumMember; if ((int)value.Value == 0) enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterManualOff.ToModelEnumMember(); else if ((int)value.Value == 1) enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterAutoOn.ToModelEnumMember(); else if ((int)value.Value == 2) enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterError.ToModelEnumMember(); else if ((int)value.Value == 3) enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterUndefined.ToModelEnumMember(); else enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterError.ToModelEnumMember(); return new EnumeratedValue { Representation = meter.Representation as EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }; }
public void GivenIsoSpatialRowAndEnumeratedMeterWhenMapThenSpatialRecordContainsMeterValue() { var spatialValue = new SpatialValue { Id = 0, Value = 1 }; _isoSpatialRow.SpatialValues = new List<SpatialValue> { spatialValue }; _isoSpatialRows = new List<ISOSpatialRow> { _isoSpatialRow }; var meter = new ISOEnumeratedMeter { Representation = RepresentationInstanceList.dtSectionControlMasterState.ToModelRepresentation(), ValueCodes = new List<int> { 1, 2, 3 }, DeviceElementUseId = 1, GetEnumeratedValue = (sv, im) => new EnumeratedValue { Value = new AgGateway.ADAPT.ApplicationDataModel.Representations.EnumerationMember { Code = 3 } }, }; var uniqueId = new UniqueId { CiTypeEnum = CompoundIdentifierTypeEnum.String, Id = "DLV0", Source = UniqueIdMapper.IsoSource }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); var result = Map(); var meterValue = result.First().GetMeterValue(meter) as EnumeratedValue; Assert.AreEqual(3, meterValue.Value.Code); }
public void GivenIsoSpatialRowsWithoutEnumeratedMeterOnSecondWhenMapThenSecondValueIsInterpolator() { var spatialValue = new SpatialValue { Id = 0, Value = 1 }; _isoSpatialRow.SpatialValues = new List <SpatialValue> { spatialValue }; var isoSpatialRow2 = new ISOSpatialRow { SpatialValues = new List <SpatialValue>() }; _isoSpatialRows = new List <ISOSpatialRow> { _isoSpatialRow, isoSpatialRow2 }; var meter = new ISOEnumeratedMeter { Representation = RepresentationInstanceList.dtSectionControlMasterState.ToModelRepresentation(), ValueCodes = new List <int> { 1, 2, 3 }, DeviceElementUseId = 1, GetEnumeratedValue = (sv, im) => new EnumeratedValue { Value = new AgGateway.ADAPT.ApplicationDataModel.Representations.EnumerationMember { Code = 3 } } }; var uniqueId = new UniqueId { IdType = IdTypeEnum.String, Id = "DLV0" }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); var enumeratedRepresentation = new EnumeratedValue { Value = new AgGateway.ADAPT.ApplicationDataModel.Representations.EnumerationMember { Code = 3 } }; _spatialValueInterpolator.Setup(s => s.Interpolate(meter)).Returns(enumeratedRepresentation); var result = Map().ToList(); Assert.AreEqual(enumeratedRepresentation, result[1].GetMeterValue(meter) as EnumeratedValue); }
private static void CompareActualLoadingSystemStatus(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateDisabled.ToModelEnumMember().Code) Assert.AreEqual(0, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateEnabled.ToModelEnumMember().Code) Assert.AreEqual(1, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateError.ToModelEnumMember().Code) Assert.AreEqual(2, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateNotAvailable.ToModelEnumMember().Code) Assert.AreEqual(3, isoValue.Value); }
private static void CompareWorkState(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiRecordingStatusOff.ToModelEnumMember().Code) { Assert.AreEqual(0, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiRecordingStatusOn.ToModelEnumMember().Code) { Assert.AreEqual(1, isoValue.Value); } }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { var enumMember = value != null && value.Value == 1 ? DefinedTypeEnumerationInstanceList.dtiRecordingStatusOn.ToModelEnumMember() : DefinedTypeEnumerationInstanceList.dtiRecordingStatusOff.ToModelEnumMember(); return new EnumeratedValue { Representation = meter.Representation as EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }; }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { var sectionValue = GetSectionValue((uint)value.Value, meter.DeviceElementUseId); var enumerationMember = SectionValueToEnumerationMember[(int)sectionValue]; return(new EnumeratedValue { Representation = meter.Representation as EnumeratedRepresentation, Value = enumerationMember.ToModelEnumMember(), Code = (int)enumerationMember.DomainTag }); }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { if (Convert.ToInt32(value.Dlv.A, 16) != DDI) { return(null); } const int clear = 0x20524C43; const int mostlySunny = 0x2043534E; const int partlySunny = 0x20574546; const int partlyCloudy = 0x20544353; const int mostlyCloudy = 0x204E4B42; const int overcast = 0x2043564F; ApplicationDataModel.Representations.EnumerationMember enumMember; if (value.Value == clear) { enumMember = DefinedTypeEnumerationInstanceList.dtiClear.ToModelEnumMember(); } else if (value.Value == mostlySunny) { enumMember = DefinedTypeEnumerationInstanceList.dtiSunny.ToModelEnumMember(); } else if (value.Value == partlySunny) { enumMember = DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember(); } else if (value.Value == partlyCloudy) { enumMember = DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember(); } else if (value.Value == mostlyCloudy) { enumMember = DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember(); } else if (value.Value == overcast) { enumMember = DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember(); } else { return(null); } return(new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }); }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { var enumMember = value != null && value.Value == 1 ? DefinedTypeEnumerationInstanceList.dtiRecordingStatusOn.ToModelEnumMember() : DefinedTypeEnumerationInstanceList.dtiRecordingStatusOff.ToModelEnumMember(); return(new EnumeratedValue { Representation = meter.Representation as EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }); }
private int GetNumberOfInstalledSections(SpatialValue spatialValue) { var value = (uint)spatialValue.Value; const uint notInstalledValue = 0x03; for (int i = 1; i < 17; i++) { if (GetSectionValue(value, i) == notInstalledValue) { return(i - 1); } } return(16); }
public void GivenIsoSpatialRowsWithoutNumericMeterOnSecondWhenMapThenSecondValueIsInterpolator() { var spatialValue = new SpatialValue { Id = 0, Value = 12.3 }; _isoSpatialRow.SpatialValues = new List <SpatialValue> { spatialValue }; var isoSpatialRow2 = new ISOSpatialRow { SpatialValues = new List <SpatialValue>() }; _isoSpatialRows = new List <ISOSpatialRow> { _isoSpatialRow, isoSpatialRow2 }; var meter = new NumericWorkingData { Representation = RepresentationInstanceList.vrAvgHarvestMoisture.ToModelRepresentation(), DeviceElementUseId = 1, UnitOfMeasure = UnitSystemManager.GetUnitOfMeasure("prcnt") }; var uniqueId = new UniqueId { IdType = IdTypeEnum.String, Id = "DLV0" }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); var numericRepresentation = new NumericRepresentationValue(meter.Representation as NumericRepresentation, meter.UnitOfMeasure, new NumericValue(meter.UnitOfMeasure, 2.3)); _spatialValueInterpolator.Setup(s => s.Interpolate(meter)).Returns(numericRepresentation); var result = Map().ToList(); Assert.AreEqual(numericRepresentation, result[1].GetMeterValue(meter) as NumericRepresentationValue); }
public void GivenCondensedWorkStateWithNoInstalledWhenCreateMetersThenNoMetersCreated() { var spatialRow = new ISOSpatialRow(); const long value = 0xFFFFFFFF; var spatialValue = new SpatialValue { Dlv = new DLV { A = "16F" }, Value = value }; spatialRow.SpatialValues = new List<SpatialValue> { spatialValue }; _isoSpatialRows = new List<ISOSpatialRow> { spatialRow }; var result = new CondensedSectionOverrideStateMeterCreator(367).CreateMeters(_isoSpatialRows); Assert.AreEqual(0, result.Count); }
public void GivenIsoSpatialRowAndEnumeratedMeterWhenMapThenSpatialRecordContainsMeterValue() { var spatialValue = new SpatialValue { Id = 0, Value = 1 }; _isoSpatialRow.SpatialValues = new List <SpatialValue> { spatialValue }; _isoSpatialRows = new List <ISOSpatialRow> { _isoSpatialRow }; var meter = new ISOEnumeratedMeter { Representation = RepresentationInstanceList.dtSectionControlMasterState.ToModelRepresentation(), ValueCodes = new List <int> { 1, 2, 3 }, DeviceElementUseId = 1, GetEnumeratedValue = (sv, im) => new EnumeratedValue { Value = new AgGateway.ADAPT.ApplicationDataModel.Representations.EnumerationMember { Code = 3 } }, }; var uniqueId = new UniqueId { IdType = IdTypeEnum.String, Id = "DLV0", Source = UniqueIdMapper.IsoSource }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); var result = Map(); var meterValue = result.First().GetMeterValue(meter) as EnumeratedValue; Assert.AreEqual(3, meterValue.Value.Code); }
public void GivenDdiAndSpatialValueWithNotInstalledStateWhenGetValueForMeterThenPrescriptionNotUsedIsReturned() { var spatialValue = new SpatialValue { Dlv = new DLV { A = "16F" }, Value = 3 }; var meter = new EnumeratedWorkingData { DeviceElementUseId = 1 }; var result = new CondensedSectionOverrideStateMeterCreator(367).GetValueForMeter(spatialValue, meter); Assert.AreEqual(DefinedTypeEnumerationInstanceList.dtiPrescriptionNotUsed.ToModelEnumMember().Value, result.Value.Value); }
public void GivenDdiAndSpatialValueWithNotInstalledStateWhenGetValueForMeterThenSectionValueOffIsReturned() { var spatialValue = new SpatialValue { Dlv = new DLV { A = "A1" }, Value = 3 }; var meter = new EnumeratedWorkingData { DeviceElementUseId = 1 }; var result = new CondensedWorkStateMeterCreator(161, 161).GetValueForMeter(spatialValue, meter); Assert.AreEqual(DefinedTypeEnumerationInstanceList.dtiRecordingStatusOff.ToModelEnumMember().Value, result.Value.Value); }
public void GivenIsoSpatialRowWithoutMeterWhenMapThenInterpolatorIsCalled() { var spatialValue = new SpatialValue { Id = 0, Value = 12.3 }; _isoSpatialRow.SpatialValues = new List <SpatialValue> { spatialValue }; var isoSpatialRow2 = new ISOSpatialRow { SpatialValues = new List <SpatialValue>() }; _isoSpatialRows = new List <ISOSpatialRow> { _isoSpatialRow, isoSpatialRow2 }; var meter = new NumericWorkingData { Representation = RepresentationInstanceList.vrAvgHarvestMoisture.ToModelRepresentation(), DeviceElementUseId = 1, UnitOfMeasure = UnitSystemManager.GetUnitOfMeasure("prcnt") }; var uniqueId = new UniqueId { IdType = IdTypeEnum.String, Id = "DLV0" }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); Map().ToList(); _spatialValueInterpolator.Verify(s => s.Interpolate(It.IsAny <WorkingData>())); }
public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter) { if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI) { return(null); } ApplicationDataModel.Representations.EnumerationMember enumMember = null; if (value.Value == 1) { enumMember = DefinedTypeEnumerationInstanceList.dtiDrawbar.ToModelEnumMember(); } else if (value.Value == 2) { enumMember = DefinedTypeEnumerationInstanceList.dtiRearTwoPoint.ToModelEnumMember(); } else if (value.Value == 3) { enumMember = DefinedTypeEnumerationInstanceList.dtiThreePoint.ToModelEnumMember(); } else if (value.Value == 7) { enumMember = DefinedTypeEnumerationInstanceList.dtiRearPivotWagonHitch.ToModelEnumMember(); } if (enumMember == null) { return(null); } return(new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }); }
private static SpatialValue CreateSpatialValue(TIM tim, byte order, int value) { var dlvs = tim.Items.Where(x => x.GetType() == typeof (DLV)); var matchingDlv = dlvs.ElementAtOrDefault(order) as DLV; if (matchingDlv == null) return null; var ddis = DdiLoader.Ddis; var resolution = 1d; if (matchingDlv.A != null && ddis.ContainsKey(Convert.ToInt32(matchingDlv.A, 16))) resolution = ddis[Convert.ToInt32(matchingDlv.A, 16)].Resolution; var spatialValue = new SpatialValue { Id = order, Dlv = matchingDlv, Value = value * resolution, }; return spatialValue; }
public void GivenCondensedWorkStateWithNoInstalledWhenCreateMetersThenNoMetersCreated() { var spatialRow = new ISOSpatialRow(); const long value = 0xFFFFFFFF; var spatialValue = new SpatialValue { Dlv = new DLV { A = "A1" }, Value = value }; spatialRow.SpatialValues = new List <SpatialValue> { spatialValue }; _isoSpatialRows = new List <ISOSpatialRow> { spatialRow }; var result = new CondensedWorkStateMeterCreator(161, 161).CreateMeters(_isoSpatialRows); Assert.AreEqual(0, result.Count); }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { if (Convert.ToInt32(value.Dlv.A, 16) != DDI) return null; ApplicationDataModel.Representations.EnumerationMember enumMember; if (value.Value == 0) enumMember = DefinedTypeEnumerationInstanceList.dtiWeightUnStable.ToModelEnumMember(); else if (value.Value == 1) enumMember = DefinedTypeEnumerationInstanceList.dtiWeightStable.ToModelEnumMember(); else if (value.Value == 2) enumMember = DefinedTypeEnumerationInstanceList.dtiWeightError.ToModelEnumMember(); else return null; return new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }; }
public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter) { if (value == null) { return(null); } EnumerationMember enumMember; if ((int)value.Value == 0) { enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterManualOff.ToModelEnumMember(); } else if ((int)value.Value == 1) { enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterAutoOn.ToModelEnumMember(); } else if ((int)value.Value == 2) { enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterError.ToModelEnumMember(); } else if ((int)value.Value == 3) { enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterUndefined.ToModelEnumMember(); } else { enumMember = DefinedTypeEnumerationInstanceList.dtiPrscMasterError.ToModelEnumMember(); } return(new EnumeratedValue { Representation = meter.Representation as EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }); }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { if (Convert.ToInt32(value.Dlv.A, 16) != DDI) { return(null); } ApplicationDataModel.Representations.EnumerationMember enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterUndefined.ToModelEnumMember(); var reservedBitsMask = 0x00000003; var valueLowerTwoBits = (int)value.Value & reservedBitsMask; if (valueLowerTwoBits == 0) { enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterManualOff.ToModelEnumMember(); } else if (valueLowerTwoBits == 1) { enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterAutoOn.ToModelEnumMember(); } else if (valueLowerTwoBits == 2) { enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterError.ToModelEnumMember(); } else if (valueLowerTwoBits == 3) { enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterUndefined.ToModelEnumMember(); } return(new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }); }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { if (Convert.ToInt32(value.Dlv.A, 16) != DDI) return null; const int clear = 0x20524C43; const int mostlySunny = 0x2043534E; const int partlySunny = 0x20574546; const int partlyCloudy = 0x20544353; const int mostlyCloudy = 0x204E4B42; const int overcast = 0x2043564F; ApplicationDataModel.Representations.EnumerationMember enumMember; if (value.Value == clear) enumMember = DefinedTypeEnumerationInstanceList.dtiClear.ToModelEnumMember(); else if (value.Value == mostlySunny) enumMember = DefinedTypeEnumerationInstanceList.dtiSunny.ToModelEnumMember(); else if (value.Value == partlySunny) enumMember = DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember(); else if (value.Value == partlyCloudy) enumMember = DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember(); else if (value.Value == mostlyCloudy) enumMember = DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember(); else if (value.Value == overcast) enumMember = DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember(); else return null; return new EnumeratedValue { Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation, Value = enumMember, Code = enumMember.Code }; }
private static void CompareCondensedSectionOverrideState(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPrescriptionUsed.ToModelEnumMember().Code) { Assert.AreEqual(0, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPrescriptionOverridden.ToModelEnumMember().Code) { Assert.AreEqual(1, isoValue.Value); } }
public static IEnumerable <ISOSpatialRow> Read(string fileName, ISOTime templateTime, DeviceElementHierarchies deviceHierarchies) { if (templateTime == null) { yield break; } if (!File.Exists(fileName)) { yield break; } using (var binaryReader = new System.IO.BinaryReader(File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))) { while (binaryReader.BaseStream.Position < binaryReader.BaseStream.Length) { ISOPosition templatePosition = templateTime.Positions.FirstOrDefault(); var record = new ISOSpatialRow { TimeStart = GetStartTime(templateTime, binaryReader).GetValueOrDefault() }; if (templatePosition != null) { //North and East are required binary data record.NorthPosition = ReadInt32((double?)templatePosition.PositionNorth, templatePosition.HasPositionNorth, binaryReader).GetValueOrDefault(0); record.EastPosition = ReadInt32((double?)templatePosition.PositionEast, templatePosition.HasPositionEast, binaryReader).GetValueOrDefault(0); //Optional position attributes will be included in the binary only if a corresponding attribute is present in the PTN element record.Elevation = ReadInt32(templatePosition.PositionUp, templatePosition.HasPositionUp, binaryReader); //Position status is required record.PositionStatus = ReadByte((byte?)templatePosition.PositionStatus, templatePosition.HasPositionStatus, binaryReader); record.PDOP = ReadUShort((double?)templatePosition.PDOP, templatePosition.HasPDOP, binaryReader); record.HDOP = ReadUShort((double?)templatePosition.HDOP, templatePosition.HasHDOP, binaryReader); record.NumberOfSatellites = ReadByte(templatePosition.NumberOfSatellites, templatePosition.HasNumberOfSatellites, binaryReader); record.GpsUtcTime = ReadUInt32(templatePosition.GpsUtcTime, templatePosition.HasGpsUtcTime, binaryReader).GetValueOrDefault(); record.GpsUtcDate = ReadUShort(templatePosition.GpsUtcDate, templatePosition.HasGpsUtcDate, binaryReader); if (record.GpsUtcDate != null && record.GpsUtcTime != null) { record.GpsUtcDateTime = _firstDayOf1980.AddDays((double)record.GpsUtcDate).AddMilliseconds((double)record.GpsUtcTime); } } //Some datasets end here if (binaryReader.BaseStream.Position >= binaryReader.BaseStream.Length) { break; } var numberOfDLVs = ReadByte(null, true, binaryReader).GetValueOrDefault(0); // There should be some values but no more data exists in file, stop processing if (numberOfDLVs > 0 && binaryReader.BaseStream.Position >= binaryReader.BaseStream.Length) { break; } //If the reported number of values does not fit into the stream, correct the numberOfDLVs numberOfDLVs = ConfirmNumberOfDLVs(binaryReader, numberOfDLVs); record.SpatialValues = new List <SpatialValue>(); bool unexpectedEndOfStream = false; //Read DLVs out of the TLG.bin for (int i = 0; i < numberOfDLVs; i++) { var order = ReadByte(null, true, binaryReader).GetValueOrDefault(); var value = ReadInt32(null, true, binaryReader).GetValueOrDefault(); // Can't read either order or value or both, stop processing if (i < numberOfDLVs - 1 && binaryReader.BaseStream.Position >= binaryReader.BaseStream.Length) { unexpectedEndOfStream = true; break; } SpatialValue spatialValue = CreateSpatialValue(templateTime, order, value, deviceHierarchies); if (spatialValue != null) { record.SpatialValues.Add(spatialValue); } } // Unable to read some of the expected DLVs, stop processing if (unexpectedEndOfStream) { break; } //Add any fixed values from the TLG.xml foreach (ISODataLogValue fixedValue in templateTime.DataLogValues.Where(dlv => dlv.ProcessDataValue.HasValue && !EnumeratedMeterFactory.IsCondensedMeter(dlv.ProcessDataDDI.AsInt32DDI()))) { byte order = (byte)templateTime.DataLogValues.IndexOf(fixedValue); if (record.SpatialValues.Any(s => s.Id == order)) //Check to ensure the binary data didn't already write this value { //Per the spec, any fixed value in the XML applies to all rows; as such, replace what was read from the binary SpatialValue matchingValue = record.SpatialValues.Single(s => s.Id == order); matchingValue.DataLogValue = fixedValue; } } yield return(record); } } }
private static void CompareActualLoadingSystemStatus(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateDisabled.ToModelEnumMember().Code) { Assert.AreEqual(0, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateEnabled.ToModelEnumMember().Code) { Assert.AreEqual(1, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateError.ToModelEnumMember().Code) { Assert.AreEqual(2, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateNotAvailable.ToModelEnumMember().Code) { Assert.AreEqual(3, isoValue.Value); } }
public IEnumerable <ISOSpatialRow> Read(string fileName, ISOTime templateTime) { if (templateTime == null) { yield break; } if (!File.Exists(fileName)) { yield break; } using (var binaryReader = new System.IO.BinaryReader(File.Open(fileName, FileMode.Open))) { while (binaryReader.BaseStream.Position < binaryReader.BaseStream.Length) { ISOPosition templatePosition = templateTime.Positions.FirstOrDefault(); var record = new ISOSpatialRow { TimeStart = GetStartTime(templateTime, binaryReader) }; if (templatePosition != null) { //North and East are required binary data record.NorthPosition = ReadInt32((double?)templatePosition.PositionNorth, templatePosition.HasPositionNorth, binaryReader).GetValueOrDefault(0); record.EastPosition = ReadInt32((double?)templatePosition.PositionEast, templatePosition.HasPositionEast, binaryReader).GetValueOrDefault(0); if (templatePosition.HasPositionUp) //Optional position attributes will be included in the binary only if a corresponding attribute is present in the PTN element { record.Elevation = ReadInt32(templatePosition.PositionUp, templatePosition.HasPositionUp, binaryReader); } //Position status is required record.PositionStatus = ReadByte((byte?)templatePosition.PositionStatus, templatePosition.HasPositionStatus, binaryReader); if (templatePosition.HasPDOP) { record.PDOP = ReadUShort((double?)templatePosition.PDOP, templatePosition.HasPDOP, binaryReader); } if (templatePosition.HasHDOP) { record.HDOP = ReadUShort((double?)templatePosition.HDOP, templatePosition.HasHDOP, binaryReader); } if (templatePosition.HasNumberOfSatellites) { record.NumberOfSatellites = ReadByte(templatePosition.NumberOfSatellites, templatePosition.HasNumberOfSatellites, binaryReader); } if (templatePosition.HasGpsUtcTime) { if (templatePosition.GpsUtcTime.HasValue) { record.GpsUtcTime = Convert.ToUInt32(templatePosition.GpsUtcTime.Value); } else { record.GpsUtcTime = binaryReader.ReadUInt32(); } } if (templatePosition.HasGpsUtcDate) { if (templatePosition.GpsUtcDate.HasValue) { record.GpsUtcDate = (ushort)templatePosition.GpsUtcDate.Value; } else { record.GpsUtcDate = binaryReader.ReadUInt16(); } } if (record.GpsUtcDate != null && record.GpsUtcTime != null) { record.GpsUtcDateTime = _firstDayOf1980.AddDays((double)record.GpsUtcDate).AddMilliseconds((double)record.GpsUtcTime); } } var numberOfDLVs = binaryReader.ReadByte(); record.SpatialValues = new List <SpatialValue>(); //Read DLVs out of the TLG.bin for (int i = 0; i < numberOfDLVs; i++) { var order = binaryReader.ReadByte(); var value = binaryReader.ReadInt32(); record.SpatialValues.Add(CreateSpatialValue(templateTime, order, value)); } //Add any fixed values from the TLG.xml foreach (ISODataLogValue fixedValue in templateTime.DataLogValues.Where(dlv => dlv.ProcessDataValue.HasValue && !EnumeratedMeterFactory.IsCondensedMeter(dlv.ProcessDataDDI.AsInt32DDI()))) { byte order = (byte)templateTime.DataLogValues.IndexOf(fixedValue); if (record.SpatialValues.Any(s => s.Id == order)) //Check to ensure the binary data didn't already write this value { //Per the spec, any fixed value in the XML applies to all rows; as such, replace what was read from the binary SpatialValue matchingValue = record.SpatialValues.Single(s => s.Id == order); matchingValue.DataLogValue = fixedValue; } } yield return(record); } } }
private static void CompareNetWeightState(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiWeightUnStable.ToModelEnumMember().Code) Assert.AreEqual(0, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiWeightStable.ToModelEnumMember().Code) Assert.AreEqual(1, isoValue.Value); }
public void GivenIsoSpatialRowWithoutMeterWhenMapThenInterpolatorIsCalled() { var spatialValue = new SpatialValue { Id = 0, Value = 12.3 }; _isoSpatialRow.SpatialValues = new List<SpatialValue> { spatialValue }; var isoSpatialRow2 = new ISOSpatialRow { SpatialValues = new List<SpatialValue>() }; _isoSpatialRows = new List<ISOSpatialRow> {_isoSpatialRow, isoSpatialRow2}; var meter = new NumericWorkingData { Representation = RepresentationInstanceList.vrAvgHarvestMoisture.ToModelRepresentation(), DeviceElementUseId = 1, UnitOfMeasure = UnitSystemManager.GetUnitOfMeasure("prcnt") }; var uniqueId = new UniqueId { CiTypeEnum = CompoundIdentifierTypeEnum.String, Id = "DLV0" }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); Map().ToList(); _spatialValueInterpolator.Verify(s => s.Interpolate(It.IsAny<WorkingData>())); }
public void GivenCondensedWorkStateWithSomeStatesNotInstalledThenOnlyCreatesInstalledSections() { var spatialRow = new ISOSpatialRow(); const long notInstalled = 3; long value = 0; for (int i = 15; i > 11; --i) { value |= (notInstalled << i * 2); } var spatialValue = new SpatialValue { Dlv = new DLV { A = "16F" }, Value = value }; spatialRow.SpatialValues = new List<SpatialValue> { spatialValue }; _isoSpatialRows = new List<ISOSpatialRow> { spatialRow }; var result = new CondensedSectionOverrideStateMeterCreator(367).CreateMeters(_isoSpatialRows); Assert.AreEqual(12, result.Count); }
private static void CompareSectionControlState(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiSCMasterManualOff.ToModelEnumMember().Code) Assert.AreEqual(0, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiSCMasterAutoOn.ToModelEnumMember().Code) Assert.AreEqual(1, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiSCMasterError.ToModelEnumMember().Code) Assert.AreEqual(2, isoValue.Value); }
private static void CompareCondensedWorkState(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiRecordingStatusOff.ToModelEnumMember().Code) Assert.AreEqual(0, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiRecordingStatusOn.ToModelEnumMember().Code) Assert.AreEqual(1, isoValue.Value); }
private static void CompareConnectorType(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiDrawbar.ToModelEnumMember().Code) { Assert.AreEqual(1, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiRearTwoPoint.ToModelEnumMember().Code) { Assert.AreEqual(2, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiThreePoint.ToModelEnumMember().Code) { Assert.AreEqual(3, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiRearPivotWagonHitch.ToModelEnumMember().Code) { Assert.AreEqual(7, isoValue.Value); } }
public void GivenIsoSpatialRowsWithoutNumericMeterOnSecondWhenMapThenSecondValueIsInterpolator() { var spatialValue = new SpatialValue { Id = 0, Value = 12.3 }; _isoSpatialRow.SpatialValues = new List<SpatialValue> { spatialValue }; var isoSpatialRow2 = new ISOSpatialRow { SpatialValues = new List<SpatialValue>() }; _isoSpatialRows = new List<ISOSpatialRow> {_isoSpatialRow, isoSpatialRow2}; var meter = new NumericWorkingData { Representation = RepresentationInstanceList.vrAvgHarvestMoisture.ToModelRepresentation(), DeviceElementUseId = 1, UnitOfMeasure = UnitSystemManager.GetUnitOfMeasure("prcnt") }; var uniqueId = new UniqueId { CiTypeEnum = CompoundIdentifierTypeEnum.String, Id = "DLV0" }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); var numericRepresentation = new NumericRepresentationValue(meter.Representation as NumericRepresentation, meter.UnitOfMeasure, new NumericValue(meter.UnitOfMeasure, 2.3)); _spatialValueInterpolator.Setup(s => s.Interpolate(meter)).Returns(numericRepresentation); var result = Map().ToList(); Assert.AreEqual(numericRepresentation, result[1].GetMeterValue(meter) as NumericRepresentationValue); }
private static void ComparePrescriptionControl(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPrscMasterManualOff.ToModelEnumMember().Code) { Assert.AreEqual(0, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPrscMasterAutoOn.ToModelEnumMember().Code) { Assert.AreEqual(1, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPrscMasterError.ToModelEnumMember().Code) { Assert.AreEqual(2, isoValue.Value); } }
public void GivenIsoSpatialRowsWithoutEnumeratedMeterOnSecondWhenMapThenSecondValueIsInterpolator() { var spatialValue = new SpatialValue { Id = 0, Value = 1 }; _isoSpatialRow.SpatialValues = new List<SpatialValue> { spatialValue }; var isoSpatialRow2 = new ISOSpatialRow {SpatialValues = new List<SpatialValue>()}; _isoSpatialRows = new List<ISOSpatialRow> { _isoSpatialRow, isoSpatialRow2 }; var meter = new ISOEnumeratedMeter { Representation = RepresentationInstanceList.dtSectionControlMasterState.ToModelRepresentation(), ValueCodes = new List<int> { 1, 2, 3 }, DeviceElementUseId = 1, GetEnumeratedValue = (sv, im) => new EnumeratedValue { Value = new AgGateway.ADAPT.ApplicationDataModel.Representations.EnumerationMember { Code = 3 } } }; var uniqueId = new UniqueId { CiTypeEnum = CompoundIdentifierTypeEnum.String, Id = "DLV0" }; meter.Id.UniqueIds.Add(uniqueId); _meters.Add(meter); var enumeratedRepresentation = new EnumeratedValue { Value = new AgGateway.ADAPT.ApplicationDataModel.Representations.EnumerationMember { Code = 3 } }; _spatialValueInterpolator.Setup(s => s.Interpolate(meter)).Returns(enumeratedRepresentation); var result = Map().ToList(); Assert.AreEqual(enumeratedRepresentation, result[1].GetMeterValue(meter) as EnumeratedValue); }
private static void CompareSkyConditions(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiClear.ToModelEnumMember().Code) { Assert.AreEqual(0x20524C43, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiSunny.ToModelEnumMember().Code) { Assert.AreEqual(0x2043534E, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember().Code) { Assert.AreEqual(0x20544353, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember().Code) { Assert.AreEqual(0x2043564F, isoValue.Value); } }
private int GetNumberOfInstalledSections(SpatialValue spatialValue) { var value = (uint)spatialValue.Value; const uint notInstalledValue = 0x03; for (int i = 1; i < 17; i++) { if (GetSectionValue(value, i) == notInstalledValue) return i - 1; } return 16; }
private static void CompareNetWeightState(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiWeightUnStable.ToModelEnumMember().Code) { Assert.AreEqual(0, isoValue.Value); } if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiWeightStable.ToModelEnumMember().Code) { Assert.AreEqual(1, isoValue.Value); } }
public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter) { var sectionValue = GetSectionValue((uint)value.Value, meter.DeviceElementUseId); var enumerationMember = SectionValueToEnumerationMember[(int)sectionValue]; return new EnumeratedValue { Representation = meter.Representation as EnumeratedRepresentation, Value = enumerationMember.ToModelEnumMember(), Code = (int)enumerationMember.DomainTag }; }
private static void CompareSkyConditions(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiClear.ToModelEnumMember().Code) Assert.AreEqual(0x20524C43, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiSunny.ToModelEnumMember().Code) Assert.AreEqual(0x2043534E, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiPartlyCloudy.ToModelEnumMember().Code) Assert.AreEqual(0x20544353, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiCloudy.ToModelEnumMember().Code) Assert.AreEqual(0x2043564F, isoValue.Value); }
private static void CompareConnectorType(EnumeratedValue adaptEnumeratedValue, SpatialValue isoValue) { if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiDrawbar.ToModelEnumMember().Code) Assert.AreEqual(1, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiRearTwoPoint.ToModelEnumMember().Code) Assert.AreEqual(2, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiThreePoint.ToModelEnumMember().Code) Assert.AreEqual(3, isoValue.Value); if (adaptEnumeratedValue.Value.Code == DefinedTypeEnumerationInstanceList.dtiRearPivotWagonHitch.ToModelEnumMember().Code) Assert.AreEqual(7, isoValue.Value); }