public void GetStockEntryByIDTest() { //-- Arrange SQLStockRepository repository = new SQLStockRepository(); StockEntry actual = new StockEntry(); StockEntry expected = new StockEntry() { ID = uint.Parse(500.ToString()), Exchange = "NYSE", Symbol = "AEA", Date = DateTime.Parse("2008-02-14"), Volume = uint.Parse(892800.ToString()) }; expected.PriceOpen.Amount = 8.00m; expected.PriceClose.Amount = 7.75m; expected.PriceHigh.Amount = 8.06m; expected.PriceLow.Amount = 7.51m; expected.PriceCloseAdjusted.Amount = 6.33m; //-- Act actual = repository.GetStockEntry(500); //-- Assert Assert.AreEqual(expected.ID, actual.ID); Assert.AreEqual(expected.Exchange, actual.Exchange); Assert.AreEqual(expected.Symbol, actual.Symbol); Assert.AreEqual(expected.Date, actual.Date); Assert.AreEqual(expected.PriceOpen.Amount, actual.PriceOpen.Amount); Assert.AreEqual(expected.PriceClose.Amount, actual.PriceClose.Amount); Assert.AreEqual(expected.PriceCloseAdjusted.Amount, actual.PriceCloseAdjusted.Amount); Assert.AreEqual(expected.PriceHigh.Amount, actual.PriceHigh.Amount); Assert.AreEqual(expected.PriceLow.Amount, actual.PriceLow.Amount); Assert.AreEqual(expected.Volume, actual.Volume); }
/// <summary>Retrieves the stock entries from the server</summary> private void GetStockEntries() { try { LoggingService.Log("Getting Stock Entries", "Log.txt"); Mouse.OverrideCursor = Cursors.Wait; FilterBound.Validate(); FilterError.Text = ""; FilterError.Visibility = Visibility.Collapsed; SQLStockRepository stockRepo = new SQLStockRepository(); StockEntriesBound = null; StockEntriesBound = new TrulyObservableCollection <StockEntry>(stockRepo.GetStockEntries(FilterBound)); StockEntriesDataGrid.ItemsSource = StockEntriesBound; StockEntriesBound.ItemPropertyChanged += StockEntriesBound_ItemPropertyChanged; StockEntriesBound.CollectionChanged += StockEntriesBound_CollectionChanged; Messages.Items.Insert(0, "Retrieved " + StockEntriesBound.Count.ToString() + " entries"); } catch (Exception ex) { Messages.Items.Insert(0, ex.Message); LoggingService.Log(ex, "Log.txt"); } Mouse.OverrideCursor = Cursors.Arrow; }
public void DeleteStockEntryTest() { SQLStockRepository stockRepo = new SQLStockRepository(); string actual = stockRepo.DeleteStock(102674); Assert.AreEqual(1, actual); }
/// <summary>Updates a stock entry</summary> public string UpdateStockEntry(StockEntry stock) { string serverResponse; SQLStockRepository stockRepo = new SQLStockRepository(); serverResponse = stockRepo.UpdateStockEntry(stock); return(serverResponse); }
/// <summary>Gets a stock entry</summary> public StockEntry GetStockEntry(uint id) { StockEntry serverResponse = new StockEntry(); SQLStockRepository stockRepo = new SQLStockRepository(); serverResponse = stockRepo.GetStockEntry(id); return(serverResponse); }
/// <summary>Deletes a stock entry</summary> public string DeleteStock(uint id) { string serverResponse; SQLStockRepository stockRepo = new SQLStockRepository(); serverResponse = stockRepo.DeleteStock(id); return(serverResponse); }
public async Task FullTest() { var loggerUpdateStocks = new LoggerFactory().CreateLogger <UpdateStocks>(); var loggerStocks = new LoggerFactory().CreateLogger <SQLStockRepository>(); var loggerProducts = new LoggerFactory().CreateLogger <SQLProductRepository>(); var loggerDates = new LoggerFactory().CreateLogger <SQLDatedPriceRepository>(); var dbOptions = new DbContextOptionsBuilder <AppDbContext>().UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=stockDb;Trusted_Connection=True;MultipleActiveResultSets=true").Options; var context = new AppDbContext(dbOptions); IRepository <Stock> repositoryStock = new SQLStockRepository(context, loggerStocks); IRepository <Product> repositoryProduct = new SQLProductRepository(context, loggerProducts); IRepository <DatedPrice> repositoryDate = new SQLDatedPriceRepository(context, loggerDates); var x = new UpdateStocks(loggerUpdateStocks, repositoryStock, repositoryProduct, repositoryDate); await x.Update(); }
public void CSVAddStockEntriesTest() { CSVStockRepository stockRepo = new CSVStockRepository(); List <StockEntry> stockEntries = new List <StockEntry>(); SQLStockRepository sqlStockRepo = new SQLStockRepository(); SQLFilterRepository filterRepo = new SQLFilterRepository(); Filter filter = new Filter(); string actualResponse; string expectedResponse = "Stock entries saved"; filter = filterRepo.GetMinMaxValues(); stockEntries = sqlStockRepo.GetStockEntries(filter) as List <StockEntry>; actualResponse = stockRepo.AddStockEntries(stockEntries); Assert.AreEqual(expectedResponse, actualResponse); }
public void GetStockEntriesByFilterTest() { //-- Arrange SQLStockRepository stockRepo = new SQLStockRepository(); List <StockEntry> actual; SQLFilterRepository filterRepo = new SQLFilterRepository(); Filter filter = new Filter(); int expected = 102580; //-- Act filter = filterRepo.GetMinMaxValues(); actual = stockRepo.GetStockEntries(filter) as List <StockEntry>; //-- Assert Assert.AreEqual(expected, actual.Count); }
public void UpdateStockEntryTest() { SQLStockRepository stockRepo = new SQLStockRepository(); StockEntry stockUpdate = new StockEntry(); stockUpdate.ID = 1; stockUpdate.Exchange = "NYSE"; stockUpdate.Symbol = "AEA"; stockUpdate.Date = DateTime.Parse("13/1/2010"); stockUpdate.Volume = 205500; stockUpdate.PriceOpen.Amount = 4.42m; stockUpdate.PriceClose.Amount = 4.42m; stockUpdate.PriceCloseAdjusted.Amount = 4.42m; stockUpdate.PriceHigh.Amount = 4.42m; stockUpdate.PriceLow.Amount = 4.42m; string actual = stockRepo.UpdateStockEntry(stockUpdate); Assert.AreEqual(1, actual); }
/// <summary>Occurs when an item is added or removed from the StockEntriesBound collection</summary> private void StockEntriesBound_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { try { LoggingService.Log("Collection changed", "Log.txt"); StockEntry stockChanged = new StockEntry(); SQLStockRepository stockRepo = new SQLStockRepository(); string serverResponse = ""; if (e.OldItems != null) { stockChanged = e.OldItems[0] as StockEntry; serverResponse = stockRepo.DeleteStock(stockChanged.ID); } if (e.NewItems != null) { stockChanged = e.NewItems[0] as StockEntry; serverResponse = stockRepo.AddStockEntry(stockChanged); uint stockID; if (uint.TryParse(serverResponse, out stockID)) { stockChanged.ID = stockID; serverResponse = "Stock entry inserted with ID of " + stockID; } } if (serverResponse != "") { Messages.Items.Insert(0, serverResponse); } } catch (Exception ex) { Messages.Items.Insert(0, ex.Message); LoggingService.Log(ex, "Log.txt"); } }
/// <summary>Occurs when a value in the StockEntriesBound collection is changed</summary> private void StockEntriesBound_ItemPropertyChanged(object sender, PropertyChangedEventArgs e) { try { LoggingService.Log("Collection property changed", "Log.txt"); StockEntry stockChanged = new StockEntry(); SQLStockRepository stockRepo = new SQLStockRepository(); string serverResponse; uint stockID; stockChanged = sender as StockEntry; if (stockChanged.ID == 0) { //Insert stock serverResponse = stockRepo.AddStockEntry(stockChanged); if (uint.TryParse(serverResponse, out stockID)) { stockChanged.ID = stockID; serverResponse = "Stock entry inserted with ID of " + stockID; } } else { //Update stock serverResponse = stockRepo.UpdateStockEntry(stockChanged); } Messages.Items.Insert(0, serverResponse); } catch (Exception ex) { Messages.Items.Insert(0, ex.Message); LoggingService.Log(ex, "Log.txt"); } }
public void AddNewStockEntryTest() { SQLStockRepository stockRepo = new SQLStockRepository(); string expected = "102674"; StockEntry insertStock = new StockEntry() { ID = uint.Parse(0.ToString()), Exchange = "NYSE", Symbol = "AEA", Date = DateTime.Parse("12/10/2017"), Volume = uint.Parse(892800.ToString()) }; insertStock.PriceOpen.Amount = 8.00m; insertStock.PriceClose.Amount = 7.75m; insertStock.PriceHigh.Amount = 8.06m; insertStock.PriceLow.Amount = 7.51m; insertStock.PriceCloseAdjusted.Amount = 6.33m; string actual = stockRepo.AddStockEntry(insertStock); Assert.AreEqual(expected, actual); }
/// <summary>Gets a list of stock entries</summary> public IEnumerable <StockEntry> GetStockEntries(Filter filter) { SQLStockRepository stockRepo = new SQLStockRepository(); return(stockRepo.GetStockEntries(filter)); }