public void TestUnsetAltitude() { // set up var appSettings = new AppSettings(); var viewModel = new CurrentPositionDetailsViewModel(appSettings); // run var location = new Xamarin.Essentials.Location(48.137222, 11.575556); viewModel.OnPositionChanged( this, new Core.GeolocationEventArgs(location)); // check Assert.AreEqual(string.Empty, viewModel.Altitude, "accessing altitude must not crash"); Assert.AreEqual(string.Empty, viewModel.Accuracy, "accessing accuracy must not crash"); Assert.AreEqual(0, viewModel.HeadingInDegrees, "accessing heading must not crash"); }
public void TestLocationUpdate() { // set up var appSettings = new AppSettings { CoordinateDisplayFormat = CoordinateDisplayFormat.Format_dd_mm_sss }; var viewModel = new CurrentPositionDetailsViewModel(appSettings); // run var location = new Xamarin.Essentials.Location(48.137222, 11.575556, 512) { AltitudeReferenceSystem = Xamarin.Essentials.AltitudeReferenceSystem.Geoid, Accuracy = 42, Course = 64.2, Speed = 4.1, Timestamp = new DateTimeOffset(2022, 4, 19, 7, 44, 0, TimeSpan.FromHours(2)), IsFromMockProvider = true, }; viewModel.OnPositionChanged( this, new Core.GeolocationEventArgs(location)); // check Assert.AreEqual("11° 34' 32\"", viewModel.Longitude, "longitude text must be correct"); Assert.AreEqual("48° 8' 13\"", viewModel.Latitude, "latitude text must be correct"); Assert.AreEqual("512", viewModel.Altitude, "altitude text must be correct"); Assert.AreEqual("42", viewModel.Accuracy, "accuracy text must be correct"); Assert.AreEqual(Color.FromHex("#E0E000"), viewModel.PositionAccuracyColor, "accuracy color must be black"); Assert.IsTrue(viewModel.LastPositionFix.Length > 0, "last position fix text must contain text"); Assert.AreEqual(14, viewModel.SpeedInKmh, "speed value must be correct"); Assert.IsTrue(viewModel.IsHeadingAvail, "initially heading is not available"); Assert.AreEqual(64, viewModel.HeadingInDegrees, "heading value must be correct"); Assert.IsTrue(viewModel.IsSunriseSunsetAvail, "sunrise/sunset must not be available"); Assert.AreEqual("6:09:21", viewModel.SunriseTime, "sunrise time text must be correct"); Assert.AreEqual("20:17:45", viewModel.SunsetTime, "sunset time text must be correct"); }