public static AreEqual ( |
||
isoSpatialRow | ||
adaptSpatialRecord | AgGateway.ADAPT.ApplicationDataModel.LoggedData.SpatialRecord | |
meters | IEnumerable |
|
리턴 | void |
public static void AreEqual(ISOSpatialRow isoSpatialRow, SpatialRecord adaptSpatialRecord, IEnumerable<WorkingData> meters)
{
foreach (var meter in meters)
{
var isoValue = isoSpatialRow.SpatialValues.SingleOrDefault(v => v.Id == meter.Id.FindIntIsoId());
if(isoValue == null)
continue;
if (meter is NumericWorkingData)
{
var numericMeter = meter as NumericWorkingData;
var numericRepresentationValue = (NumericRepresentationValue)adaptSpatialRecord.GetMeterValue(numericMeter);
if (isoValue != null)
Assert.AreEqual(isoValue.Value, numericRepresentationValue.Value.Value);
}
if (meter is EnumeratedWorkingData)
{
var isoEnumeratedMeter = meter as ISOEnumeratedMeter;
var enumeratedValue = isoEnumeratedMeter.GetEnumeratedValue(isoValue, isoEnumeratedMeter);
Assert.AreEqual(enumeratedValue.Representation.Description, meter.Representation.Description);
}
}
}
private static void AreEqual(ISOSpatialRow isoSpatialRow, SpatialRecord adaptSpatialRecord, IEnumerable <WorkingData> meters) { Assert.AreEqual(isoSpatialRow.TimeStart, adaptSpatialRecord.Timestamp); var point = adaptSpatialRecord.Geometry as Point; Assert.AreEqual(isoSpatialRow.EastPosition * CoordinateMultiplier, point.X, 0.000001); Assert.AreEqual(isoSpatialRow.NorthPosition * CoordinateMultiplier, point.Y, 0.000001); Assert.AreEqual(isoSpatialRow.Elevation, point.Z); SpatialValueAssert.AreEqual(isoSpatialRow, adaptSpatialRecord, meters); }