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 GivenTlgWhenMapThenIdIsMapped() { var uniqueId = new UniqueId(); _uniqueIdMapperMock.Setup(x => x.Map(_tlg.A)).Returns(uniqueId); var result = MapSingle(); Assert.Contains(uniqueId, result.Id.UniqueIds); }
public void GivenDlvWhenMapThenStoresOrderInMeterCompoundId() { var dlv1 = new DLV { A = "1" }; var dlv2 = new DLV { A = "7" }; _tim.Items = new List<DLV> { dlv1, dlv2 }.ToArray(); var uniqueId1 = new UniqueId(); _uniqueIdMapperMock.Setup(x => x.Map("DLV0")).Returns(uniqueId1); var uniqueId2 = new UniqueId(); _uniqueIdMapperMock.Setup(x => x.Map("DLV1")).Returns(uniqueId2); var result = Map(); Assert.Contains(uniqueId1, result[0].Id.UniqueIds); Assert.Contains(uniqueId2, result[1].Id.UniqueIds); }
private Field AddClientFarmField(Catalog catalog) { var grower = new Grower { // Note that names/descriptions are limited to 20 characters. Longer names may be truncated by the plugin. // This limit applies to all setup objects. Name = "Client" }; catalog.Growers.Add(grower); var farm = new Farm { Description = "Farm", // ReferenceId is a temporary numeric Id that is auto-generated by the ADAPT framework. GrowerId = grower.Id.ReferenceId }; catalog.Farms.Add(farm); var field = new Field { Description = "Field", FarmId = farm.Id.ReferenceId }; // While ReferenceId is a temporary numeric id, you can also specify your own Id's. // A UniqueId supports UUID, long, string, and URI id's. Where possible the Deere plugins will retain the provided id. var fieldId = new UniqueId { Id = "d3b70893-5233-4e20-9f6b-6980a37f38c5", IdType = IdTypeEnum.UUID }; field.Id.UniqueIds.Add(fieldId); catalog.Fields.Add(field); return(field); }
public void GivenEnumeratedDlvWhenMapThenEnumerateMeterHasId() { const int ddiValue = 131; var dlv = new DLV { A = ddiValue.ToString("x4") }; _tim.Items = new List<DLV> { dlv }.ToArray(); var expected = new ISOEnumeratedMeter { TriggerId = 8675309 }; var meterCreator = new Mock<IEnumeratedMeterCreator>(); meterCreator.Setup(m => m.CreateMeters(It.IsAny<IEnumerable<ISOSpatialRow>>())).Returns(new List<ISOEnumeratedMeter> {expected}); _enumeratorMeterFactoryMock.Setup(m => m.GetMeterCreator(ddiValue)).Returns(meterCreator.Object); var uniqueId = new UniqueId(); _uniqueIdMapperMock.Setup(x => x.Map("DLV0")).Returns(uniqueId); var result = MapSingle(); Assert.AreSame(expected, result); Assert.Contains(uniqueId, result.Id.UniqueIds); }
public void GivenTlgWithIdsInLinkListThenIdsAreAdded() { var uniqueId = new UniqueId { CiTypeEnum = CompoundIdentifierTypeEnum.UUID, Source = "source1", Id = Guid.NewGuid().ToString(), SourceType = IdSourceTypeEnum.GLN }; _linkedIds.Add(_tlg.A, new List<UniqueId>{ uniqueId }); var result = MapSingle(); Assert.Contains(uniqueId, result.Id.UniqueIds); }
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); }
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 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); }
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); }