public void EqualityGeographicPosition() { var geoPos = new GeographicPosition(0.1, 0.0, 200); var geoPos2 = new GeographicPosition(0.100000001, -0.000000002, 200); var geoPos3 = new GeographicPosition(1, 2, 500); Assert.True(geoPos.EqualPosition(geoPos2)); Assert.True(geoPos.Equals(geoPos2)); // Hmm... Equals is now implemented as AlmostEquals(). Is this wise? Assert.True(!geoPos.EqualPosition(geoPos3)); }
public void Equality() { var p1 = new GeographicPosition(10, 20, 30); var p2 = new GeographicPosition(p1); Assert.Equal(p1, p2); Assert.True(p1.EqualPosition(p2)); Assert.False(p1.Equals(null)); }
public void GgaDecode() { _lastPacketTime = DateTimeOffset.UtcNow; string msg = "$GPGGA,163810,4728.7027,N,00929.9666,E,2,12,0.6,397.4,M,46.8,M,,*4C"; var inSentence = TalkerSentence.FromSentenceString(msg, out var error); Assert.Equal(NmeaError.None, error); Assert.NotNull(inSentence); GlobalPositioningSystemFixData nmeaSentence = (GlobalPositioningSystemFixData)inSentence !.TryGetTypedValue(ref _lastPacketTime) !; var expectedPos = new GeographicPosition(47.478378333333332, 9.4994433333333337, 397.4 + 46.8); Assert.True(expectedPos.EqualPosition(nmeaSentence.Position)); Assert.Equal(GpsQuality.DifferentialFix, nmeaSentence.Status); Assert.Equal(12, nmeaSentence.NumberOfSatellites); Assert.Equal(0.6, nmeaSentence.Hdop); Assert.Equal(_lastPacketTime.Date, nmeaSentence.DateTime.Date); Assert.Equal(new TimeSpan(0, 16, 38, 10), nmeaSentence.DateTime.TimeOfDay); }