public void TestarPrecoInicialIntervaloSeguidoDeSubida_DisparaEmailVenda() { _stockQuoteMonitor = new StockQuoteMonitor(_log.Object, _stockObservable.Object, _notificationService.Object); _stockQuoteMonitor.StartMonitoring("PETR4", 20, 10); var primeiraCotacao = new List <StockInfo>() { new StockInfo() { StockCode = "PETR4", StockPrice = 15, Timestamp = DateTime.Now } }; _stockQuoteMonitor.OnNext(primeiraCotacao); var segundaCotacao = new List <StockInfo>() { new StockInfo() { StockCode = "PETR4", StockPrice = 30, Timestamp = DateTime.Now } }; _stockQuoteMonitor.OnNext(segundaCotacao); _notificationService.Verify(x => x.Notify(ApplicationConstants.SubjectVenda, It.IsAny <string>()), Times.Once); }
public void TestarPrecoInicialIntervalo_NaoDisparaEmail() { _stockQuoteMonitor = new StockQuoteMonitor(_log.Object, _stockObservable.Object, _notificationService.Object); _stockQuoteMonitor.StartMonitoring("PETR4", 20, 10); var listaCotacoes = new List <StockInfo>() { new StockInfo() { StockCode = "PETR4", StockPrice = 15, Timestamp = DateTime.Now } }; _stockQuoteMonitor.OnNext(listaCotacoes); _notificationService.Verify(x => x.Notify(It.IsAny <string>(), It.IsAny <string>()), Times.Never); }
public void TestarPrecoInicialAbaixoCompra_DisparaEmailCompra() { _stockQuoteMonitor = new StockQuoteMonitor(_log.Object, _stockObservable.Object, _notificationService.Object); _stockQuoteMonitor.StartMonitoring("PETR4", 20, 10); var listaCotacoes = new List <StockInfo>() { new StockInfo() { StockCode = "PETR4", StockPrice = 5, Timestamp = DateTime.Now } }; _stockQuoteMonitor.OnNext(listaCotacoes); _notificationService.Verify(x => x.Notify(ApplicationConstants.SubjectCompra, It.IsAny <string>()), Times.Once); }