public async Task FilterUsage()
        {
            // Arrange
            LocationRepository locationRepository = new LocationRepository(ServiceMocks.GetMockDataFileService(), _appSettings);

            Mock <IAppSettings> mockAppSettings = new Mock <IAppSettings>();

            mockAppSettings.Setup(settings => settings.OrderByZipCode).Returns(false);

            MainViewModel viewModel = new MainViewModel(locationRepository, mockAppSettings.Object, null, new Mock <IMvxNavigationService>().Object);

            // Act
            await viewModel.Initialize();

            viewModel.Filter = "80796";
            viewModel.FilterLocationsCommand.Execute(null);

            // Assert
            Assert.IsNotNull(viewModel.Data);
            Assert.AreEqual(1, viewModel.Data.Count());

            Assert.AreEqual("München", viewModel.Data[0][0].Key?.Trim());
            Assert.AreEqual(1, viewModel.Data[0][0].Count());

            Assert.AreEqual(10672, viewModel.Data[0][0].First().ID);
            Assert.AreEqual("80796", viewModel.Data[0][0].First().ZipCode);
            Assert.AreEqual("München", viewModel.Data[0][0].First().Village?.Trim());
            Assert.AreEqual(48.1646490940644, viewModel.Data[0][0].First().Latitude);
            Assert.AreEqual(11.5694707183568, viewModel.Data[0][0].First().Longitude);
        }
Ejemplo n.º 2
0
        public async Task GetNearbyEntriesUsageWithoutItself()
        {
            // Arrange
            IDataFileService   dataFileService = ServiceMocks.GetMockDataFileService();
            LocationRepository repository      = new LocationRepository(dataFileService, _appSettings);

            Location startLocation = new Location
            {
                ID        = -1,
                ZipCode   = "31600",
                Village   = "Uchte",
                Latitude  = 52.5192716743236,
                Longitude = 8.87567370960235
            };

            // Act
            Location[] response = (await repository.GetNearbyEntries(startLocation, 2, false));

            // Assert
            Assert.IsNotNull(response);
            Assert.AreEqual(2, response.Length);

            Assert.AreEqual(7073, response[0].ID);
            Assert.AreEqual("31582", response[0].ZipCode);
            Assert.AreEqual("Nienburg (Weser)", response[0].Village?.Trim());
            Assert.AreEqual(52.6407898946597, response[0].Latitude);
            Assert.AreEqual(9.23150063371375, response[0].Longitude);

            Assert.AreEqual(10672, response[1].ID);
            Assert.AreEqual("80796", response[1].ZipCode);
            Assert.AreEqual("München", response[1].Village?.Trim());
            Assert.AreEqual(48.1646490940644, response[1].Latitude);
            Assert.AreEqual(11.5694707183568, response[1].Longitude);
        }
        public async Task LoadingDataUsage()
        {
            // Arrange
            LocationRepository locationRepository = new LocationRepository(ServiceMocks.GetMockDataFileService(), _appSettings);

            Mock <IAppSettings> mockAppSettings = new Mock <IAppSettings>();

            mockAppSettings.Setup(settings => settings.OrderByZipCode).Returns(false);

            MainViewModel viewModel = new MainViewModel(locationRepository, mockAppSettings.Object, null, new Mock <IMvxNavigationService>().Object);

            // Act
            await viewModel.Initialize();

            viewModel.ViewAppearing();

            // Assert
            Assert.IsNotNull(viewModel.Data);
            Assert.AreEqual(3, viewModel.Data.Count());

            Assert.AreEqual("München", viewModel.Data[0][0].Key?.Trim());
            Assert.AreEqual(3, viewModel.Data[0][0].Count());

            Assert.AreEqual(10670, viewModel.Data[0][0].First().ID);
            Assert.AreEqual("80687", viewModel.Data[0][0].First().ZipCode);
            Assert.AreEqual("München", viewModel.Data[0][0].First().Village?.Trim());
            Assert.AreEqual(48.1432006878012, viewModel.Data[0][0].First().Latitude);
            Assert.AreEqual(11.5059093215982, viewModel.Data[0][0].First().Longitude);

            Assert.AreEqual(10674, viewModel.Data[0][0].Last().ID);
            Assert.AreEqual("80798", viewModel.Data[0][0].Last().ZipCode);
            Assert.AreEqual("München", viewModel.Data[0][0].Last().Village?.Trim());
            Assert.AreEqual(48.1571679755151, viewModel.Data[0][0].Last().Latitude);
            Assert.AreEqual(11.5656418013965, viewModel.Data[0][0].Last().Longitude);

            Assert.AreEqual("Nienburg (Weser)", viewModel.Data[1][0].Key?.Trim());
            Assert.AreEqual(1, viewModel.Data[1][0].Count());

            Assert.AreEqual(7073, viewModel.Data[1][0].First().ID);
            Assert.AreEqual("31582", viewModel.Data[1][0].First().ZipCode);
            Assert.AreEqual("Nienburg (Weser)", viewModel.Data[1][0].First().Village?.Trim());
            Assert.AreEqual(52.6407898946597, viewModel.Data[1][0].First().Latitude);
            Assert.AreEqual(9.23150063371375, viewModel.Data[1][0].First().Longitude);

            Assert.AreEqual("Uchte", viewModel.Data[2][0].Key?.Trim());
            Assert.AreEqual(1, viewModel.Data[2][0].Count());

            Assert.AreEqual(7076, viewModel.Data[2][0].First().ID);
            Assert.AreEqual("31600", viewModel.Data[2][0].First().ZipCode);
            Assert.AreEqual("Uchte", viewModel.Data[2][0].First().Village?.Trim());
            Assert.AreEqual(52.5192716743236, viewModel.Data[2][0].First().Latitude);
            Assert.AreEqual(8.87567370960235, viewModel.Data[2][0].First().Longitude);
        }
Ejemplo n.º 4
0
        public void GetNearbyEntriesLocationNullException()
        {
            // Arrange
            IDataFileService   dataFileService = ServiceMocks.GetMockDataFileService();
            LocationRepository repository      = new LocationRepository(dataFileService, _appSettings);

            // Act / Assert
            NullReferenceException exception = Assert.ThrowsAsync <NullReferenceException>(async() => await repository.GetNearbyEntries(null));

            Assert.IsNotNull(exception);
            Assert.AreEqual(typeof(NullReferenceException), exception.GetType());
            Assert.IsTrue(exception.Message.StartsWith("Object reference not set to an instance of an object", StringComparison.Ordinal));
        }
Ejemplo n.º 5
0
        public async Task GetAllAsyncContainsFailureData()
        {
            // Arrange
            IDataFileService   dataFileService = ServiceMocks.GetMockDataFileService(true);
            LocationRepository repository      = new LocationRepository(dataFileService, _appSettings);

            // Act
            Location[] response = (await repository.GetAllAsync());

            // Assert
            Assert.IsNotNull(response);
            Assert.AreEqual(5, response.Length);

            Assert.AreEqual(7073, response[0].ID);
            Assert.AreEqual("31582", response[0].ZipCode);
            Assert.AreEqual("Nienburg (Weser)", response[0].Village?.Trim());
            Assert.AreEqual(52.6407898946597, response[0].Latitude);
            Assert.AreEqual(9.23150063371375, response[0].Longitude);

            Assert.AreEqual(7076, response[1].ID);
            Assert.AreEqual("31600", response[1].ZipCode);
            Assert.AreEqual("Uchte", response[1].Village?.Trim());
            Assert.AreEqual(52.5192716743236, response[1].Latitude);
            Assert.AreEqual(8.87567370960235, response[1].Longitude);

            Assert.AreEqual(10670, response[2].ID);
            Assert.AreEqual("80687", response[2].ZipCode);
            Assert.AreEqual("München", response[2].Village?.Trim());
            Assert.AreEqual(48.1432006878012, response[2].Latitude);
            Assert.AreEqual(11.5059093215982, response[2].Longitude);

            Assert.AreEqual(10672, response[3].ID);
            Assert.AreEqual("80796", response[3].ZipCode);
            Assert.AreEqual("München", response[3].Village?.Trim());
            Assert.AreEqual(48.1646490940644, response[3].Latitude);
            Assert.AreEqual(11.5694707183568, response[3].Longitude);

            Assert.AreEqual(10674, response[4].ID);
            Assert.AreEqual("80798", response[4].ZipCode);
            Assert.AreEqual("München", response[4].Village?.Trim());
            Assert.AreEqual(48.1571679755151, response[4].Latitude);
            Assert.AreEqual(11.5656418013965, response[4].Longitude);
        }