public async Task GetTickerToSymbolMap_ShouldRemoveTrailingSuffixesFromCompanyName() { var data = @"Nasdaq Traded|Symbol|Security Name|Listing Exchange|Market Category|ETF|Round Lot Size|Test Issue|Financial Status|CQS Symbol|NASDAQ Symbol|NextShares Y|BA|Boeing Company - Common Stock|N| |N|100|N||BA|BA|N Y|MSFT|Microsoft Corporation Class A Shares|Q|Q|N|100|N|N||MSFT|N Y|VOO|Vanguard S&P 500 ETF - Shared Funds|P||Y|100|N||VOO|VOO|N Y|IMO|Imperial Oil Limited Preferred Shares|A| |N|100|N||IMO|IMO|N"; var blackList = new string[] { "Preferred Shares", "-", "Class A Shares", "Preferred Shares" }; var tickerToSymbol = await _parser.GetSymbolMap(ToStreamReader(data), "|", blackList); Assert.Equal(4, tickerToSymbol.Count); Assert.True(tickerToSymbol.ContainsKey(BaKey)); Assert.True(tickerToSymbol.ContainsKey(MsftKey)); Assert.True(tickerToSymbol.ContainsKey(VooKey)); Assert.True(tickerToSymbol.ContainsKey(ImoKey)); DownloadedSymbol baSymbol = tickerToSymbol[BaKey]; DownloadedSymbol msftSymbol = tickerToSymbol[MsftKey]; DownloadedSymbol vooSymbol = tickerToSymbol[VooKey]; DownloadedSymbol imoSymbol = tickerToSymbol[ImoKey]; Assert.Equal(ExchangeType.NYSE.Id, baSymbol.ExchangeId); Assert.Equal("Boeing Company", baSymbol.FullName); Assert.Equal(ExchangeType.NASDAQ.Id, msftSymbol.ExchangeId); Assert.Equal("Microsoft Corporation", msftSymbol.FullName); Assert.Equal(ExchangeType.NYSEARCA.Id, vooSymbol.ExchangeId); Assert.Equal("Vanguard S&P 500 ETF", vooSymbol.FullName); Assert.Equal(ExchangeType.NYSEAMERICAN.Id, imoSymbol.ExchangeId); Assert.Equal("Imperial Oil Limited", imoSymbol.FullName); }
public async Task GetTickerToSymbolMap_ShouldReturnTickerMappedToSymbolInfo_ForEachExchangeType() { var data = @"Nasdaq Traded|Symbol|Security Name|Listing Exchange|Market Category|ETF|Round Lot Size|Test Issue|Financial Status|CQS Symbol|NASDAQ Symbol|NextShares Y|BA|Boeing Company|N| |N|100|N||BA|BA|N Y|MSFT|Microsoft Corporation|Q|Q|N|100|N|N||MSFT|N Y|VOO|Vanguard S&P 500 ETF|P||Y|100|N||VOO|VOO|N Y|IMO|Imperial Oil Limited|A| |N|100|N||IMO|IMO|N"; var tickerToSymbol = await _parser.GetSymbolMap(ToStreamReader(data), "|", new string[0]); Assert.Equal(4, tickerToSymbol.Count); Assert.True(tickerToSymbol.ContainsKey(BaKey)); Assert.True(tickerToSymbol.ContainsKey(MsftKey)); Assert.True(tickerToSymbol.ContainsKey(VooKey)); Assert.True(tickerToSymbol.ContainsKey(ImoKey)); DownloadedSymbol baSymbol = tickerToSymbol[BaKey]; DownloadedSymbol msftSymbol = tickerToSymbol[MsftKey]; DownloadedSymbol vooSymbol = tickerToSymbol[VooKey]; DownloadedSymbol imoSymbol = tickerToSymbol[ImoKey]; Assert.Equal(ExchangeType.NYSE.Id, baSymbol.ExchangeId); Assert.Equal("Boeing Company", baSymbol.FullName); Assert.Equal(ExchangeType.NASDAQ.Id, msftSymbol.ExchangeId); Assert.Equal("Microsoft Corporation", msftSymbol.FullName); Assert.Equal(ExchangeType.NYSEARCA.Id, vooSymbol.ExchangeId); Assert.Equal("Vanguard S&P 500 ETF", vooSymbol.FullName); Assert.Equal(ExchangeType.NYSEAMERICAN.Id, imoSymbol.ExchangeId); Assert.Equal("Imperial Oil Limited", imoSymbol.FullName); }
public async Task GetTickerToSymbolMap_ShouldReturnTickerMappedToSymbolInfo_WhenSingleRow() { var data = @"Nasdaq Traded|Symbol|Security Name|Listing Exchange|Market Category|ETF|Round Lot Size|Test Issue|Financial Status|CQS Symbol|NASDAQ Symbol|NextShares Y|MSFT|Microsoft Corporation|Q|Q|N|100|N|N||MSFT|N"; var tickerToSymbol = await _parser.GetSymbolMap(ToStreamReader(data), "|", new string[0]); Assert.Single(tickerToSymbol); Assert.True(tickerToSymbol.ContainsKey(MsftKey)); DownloadedSymbol symbol = tickerToSymbol[MsftKey]; Assert.Equal(ExchangeType.NASDAQ.Id, symbol.ExchangeId); Assert.Equal("Microsoft Corporation", symbol.FullName); }
public async Task GetTickerToSymbolMap_ShouldTrimData() { var data = @"Nasdaq Traded|Symbol|Security Name|Listing Exchange Y| MSFT | Microsoft Corporation| Q|Q|N|100|N|N||MSFT|N"; var tickerToSymbol = await _parser.GetSymbolMap(ToStreamReader(data), "|", new string[0]); Assert.Single(tickerToSymbol); Assert.True(tickerToSymbol.ContainsKey(new SymbolKey("MSFT", ExchangeType.NASDAQ.Id))); DownloadedSymbol symbol = tickerToSymbol[MsftKey]; Assert.Equal(ExchangeType.NASDAQ.Id, symbol.ExchangeId); Assert.Equal("Microsoft Corporation", symbol.FullName); }