public void DownloadCompanyDetails_WithValidSymbol_ReturnsFakeCompany()
        {
            // Arrange
            var fakeCompany = FakeCompaniesBuilder.CreateFakeCompanyAAPL();

            // Act
            var downloadedCompany = _downloader.DownloadCompanyDetails("AAPL");

            // Assert
            Assert.IsNotNull(downloadedCompany);
            Assert.IsTrue(downloadedCompany.Id == fakeCompany.Id);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Asycronously creates and returns a new company by downloading all relevant information for the <paramref name="tickerSymbol"/>.
        /// </summary>
        /// <param name="tickerSymbol">The ticker symbol of the company to download.</param>
        /// <returns>Returns a new company after downloading all relevant information for the <paramref name="tickerSymbol"/>.</returns>
        public async Task <C> GetCompanyDetailsAsync(string tickerSymbol)
        {
            if (_isDisposed)
            {
                throw new ObjectDisposedException("MarketService", "The service has been disposed.");
            }

            if (string.IsNullOrEmpty(tickerSymbol))
            {
                throw new ArgumentNullException(nameof(tickerSymbol));
            }

            return(await Task.Run(() =>
            {
                return _downloader.DownloadCompanyDetails(tickerSymbol);
            }));
        }