コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: GreatCircleTest.cs プロジェクト: SupraBitKid/iot
        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));
        }
コード例 #3
0
        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);
        }