/// <summary>
        /// Gets the providers for the books and geography data.
        /// </summary>
        /// <param name="geographyProvider">The geography data provider on exit.</param>
        /// <param name="booksReadProvider">The books data provider on exit.</param>
        /// <returns>True if successful, false otherwise.</returns>
        protected bool GetProviders(out GeographyProvider geographyProvider, out BooksReadProvider booksReadProvider)
        {
            geographyProvider = null;
            booksReadProvider = null;

            if (!_booksReadDatabase.ReadFromDatabase)
            {
                _booksReadDatabase.ConnectToDatabase();
            }

            if (!_nationsReadDatabase.ReadFromDatabase)
            {
                _nationsReadDatabase.ConnectToDatabase();
            }

            if (_booksReadDatabase.ReadFromDatabase && _nationsReadDatabase.ReadFromDatabase)
            {
                // Setup the providers.
                geographyProvider = new GeographyProvider();
                geographyProvider.Setup(_nationsReadDatabase.LoadedItems);

                booksReadProvider = new BooksReadProvider();
                booksReadProvider.Setup(_booksReadDatabase.LoadedItems, geographyProvider);

                return(true);
            }

            return(false);
        }
Ejemplo n.º 2
0
        public void ZipCodes_MapsPropertiesCorrectly()
        {
            var data = ZipCodeHeader + Environment.NewLine + "NY,00501,40.815400,-73.045600,25,-5 ,HOLTSVILLE";

            var fakeAssembly = new FakeAssembly();
            fakeAssembly.Resources.Add("Ritter.Atlas.Resources.ZipCodes.csv", new MemoryStream(Encoding.UTF8.GetBytes(data)));

            var fakeResources = ResourceContainer.FromAssembly(fakeAssembly);

            var target = new GeographyProvider(fakeResources);

            var actual = target.ZipCodes().Single();

            Assert.Equal("00501", actual.Id);
            Assert.Equal("NY", actual.StateCode);
            Assert.Equal(40.815400f, actual.Latitude);
            Assert.Equal(-73.045600f, actual.Longitude);
            Assert.Equal(-5, actual.TimeZone);
            Assert.Equal("HOLTSVILLE", actual.PrimaryCity);
        }