public void UpdateStock_WhenStockDoesNotExists_ThrowsException() { // Arrange var stockCollection = new StockCollection(); var stock = new Stock(); stock.StockSymbol = "TEA"; stock.StockType = GBCEStockType.Common; stock.LastDividend = 0; stock.FixedDividend = 2; stock.ParValue = 100; var stockUpdate = new Stock(); stockUpdate.StockSymbol = "POP"; stockUpdate.StockType = GBCEStockType.Common; stockUpdate.LastDividend = 10; stockUpdate.FixedDividend = null; stockUpdate.ParValue = 100; try { // Act stockCollection.AddStock(stock); stockCollection.UpdateStock(stockUpdate); } catch (Exception ex) { StringAssert.Contains(ex.Message, StockCollection.StockNotFound); return; } Assert.Fail("Expected Exception not thrown"); }
public void AddStock_WhenStockExists_ShouldThrowException() { // Arrange var stockCollection = new StockCollection(); var stock = new Stock(); stock.StockSymbol = "TEA"; stock.StockType = GBCEStockType.Common; stock.LastDividend = 0; stock.FixedDividend = 2; stock.ParValue = 100; try { // Act stockCollection.AddStock(stock); stockCollection.AddStock(stock); } catch (Exception ex) { // Assert StringAssert.Contains(ex.Message, StockCollection.StockAlreadyExists); return; } Assert.Fail("Expected exception was not thrown"); }
public void UpdateStock_WhenStockExists() { // Arrange var stockCollection = new StockCollection(); var stock = new Stock(); stock.StockSymbol = "TEA"; stock.StockType = GBCEStockType.Common; stock.LastDividend = 0; stock.FixedDividend = 2; stock.ParValue = 100; var stockUpdate = new Stock(); stockUpdate.StockSymbol = "TEA"; stockUpdate.StockType = GBCEStockType.Common; stockUpdate.LastDividend = 10; stockUpdate.FixedDividend = null; stockUpdate.ParValue = 100; // Act stockCollection.AddStock(stock); stockCollection.UpdateStock(stockUpdate); var updatedStock = stockCollection.GetStock(stock.StockSymbol); // Assert Assert.AreEqual(stockUpdate.StockSymbol, updatedStock.StockSymbol); Assert.AreEqual(stockUpdate.StockType, updatedStock.StockType); Assert.AreEqual(stockUpdate.LastDividend, updatedStock.LastDividend); Assert.AreEqual(stockUpdate.FixedDividend, updatedStock.FixedDividend); Assert.AreEqual(stockUpdate.ParValue, updatedStock.ParValue); }
private StockCollection Stocks; // Main collection of stocks #endregion Fields #region Constructors Program() { // Initialize collection Stocks = new StockCollection(); // Populate "database" Stocks.Add(new CommonStock("TEA", 0, 100)); Stocks.Add(new CommonStock("POP", 8, 100)); Stocks.Add(new CommonStock("ALE", 23, 60)); Stocks.Add(new PreferredStock("GIN", 8, .02f, 100)); Stocks.Add(new CommonStock("JOE", 13, 250)); }
public void when_I_add_a_stock__the_stock_is_added_and_the_changed_event_is_fired() { var stockCollection = new StockCollection(); stockCollection.MonitorEvents(); stockCollection.Add("MSFT", 11, 25, "12/12/2012"); stockCollection.EnumerateStocks().Should().HaveCount(1); stockCollection.EnumerateStocks().First().Ticker.Should().Be("MSFT"); stockCollection.ShouldRaise(nameof(StockCollection.Changed)); }
public static List <StockValue> GetStockValues(StockCollection stockCollection, V_GetStockPriceDelegate getStockPrice) { return(stockCollection.EnumerateStocks() .Select(stock => new { Stock = stock, Price = getStockPrice(stock.Ticker) }) .Select(t => new StockValue(t.Stock, t.Price, t.Stock.GetCurrentValue(t.Price), t.Stock.GetGain(t.Price))) .ToList()); }
public void when_I_remove_all_stocks__the_stocks_are_removed_and_the_changed_event_is_fired() { var stockCollection = new StockCollection(); stockCollection.Add("MSFT", 11, 25, "12/12/2012"); stockCollection.Add("GOOG", 12, 26, "10/10/2013"); stockCollection.MonitorEvents(); stockCollection.RemoveAll(); stockCollection.EnumerateStocks().Should().BeEmpty(); stockCollection.ShouldRaise(nameof(StockCollection.Changed)); }
public StockCollection Get(int countPerPage, int page) { _stockCollection = _xmlToCollection.Execute(); _stockCollection.StockCount = _stockCollection.Stocks.Count; var tempResult = new StockCollection() { Stocks = _stockCollection.Stocks.Skip(countPerPage * (page - 1)).Take(countPerPage).ToList(), StockCount = _stockCollection.StockCount }; return(tempResult); }
public void when_I_create_a_stock_collection__it_contains_those_stocks() { var stocks = new List <Stock> { new Stock("MSFT", 11, 25, "12/12/2012"), new Stock("F", 7, 12, "11/11/2011") }; var stockCollection = new StockCollection(stocks); stockCollection.EnumerateStocks().Should().HaveCount(2); stockCollection.EnumerateStocks().First().Ticker.Should().Be("MSFT"); stockCollection.EnumerateStocks().Skip(1).First().Ticker.Should().Be("F"); }
public void CheckStockExists_WhenStockDoesntExists() { // Arrange var stockCollection = new StockCollection(); var stock = new Stock(); stock.StockSymbol = "TEA"; stock.StockType = GBCEStockType.Common; stock.LastDividend = 0; stock.FixedDividend = 2; stock.ParValue = 100; //Act stockCollection.AddStock(stock); // Assert Assert.IsFalse(stockCollection.StockExists("POP")); }
public void TestStockCollectionGeometricMean() { StockCollection stocks = new StockCollection(); GenericStock stock1 = new CommonStock("TS1", 5, 100); GenericStock stock2 = new CommonStock("TS2", 10, 100); GenericStock stock3 = new CommonStock("TS3", 15, 100); stocks.Add(stock1); stocks.Add(stock2); stocks.Add(stock3); float gm; // If no any prices => no result gm = stocks.GetGeometricMean(); Assert.AreEqual(float.NaN, gm); float price1 = 110; float price2 = 50; float price3 = 10; stock1.LastPrice = price1; stock2.LastPrice = price2; // If there is at least one stock w/o price => no result gm = stocks.GetGeometricMean(); Assert.AreEqual(float.NaN, gm); stock3.LastPrice = price3; // result is the 3-sq of price1*price2*price3 gm = stocks.GetGeometricMean(); float mul = 1.0f; mul *= price1; mul *= price2; mul *= price3; float nsq = 1f / 3; Assert.AreEqual(Math.Pow(mul, nsq), gm, 0.0001f); }
public void SellTest_WhenStockExists() { // Arrange var stocklist = new StockCollection(); stocklist.AddStock(GetNewStock()); // TEA stock var tradeLedger = new TradeLedger(stocklist); try { // Act tradeLedger.Sell("TEA", DateTime.Now, 1000, 50); } catch (Exception ex) { // Assert Assert.Fail(ex.Message); } }
public void SellTest_WhenStockDoesntExists() { // Arrange var stocklist = new StockCollection(); stocklist.AddStock(GetNewStock()); // TEA stock var tradeLedger = new TradeLedger(stocklist); try { // Act tradeLedger.Sell("POP", DateTime.Now, 1000, 50); } catch (Exception ex) { // Assert StringAssert.Contains(ex.InnerException.Message, TradeLedger.StockDoesNotExistInStockList); return; } Assert.Fail("Expected exception was not thrown"); }
public void when_I_call_GetStockValues__the_stock_values_are_correct() { var stocks = new StockCollection(); stocks.Add("MSFT", 100, 100, "5/10/2020"); stocks.Add("GOOG", 300, 400, "6/10/2020"); var stockPrices = new Dictionary <string, double> { { "MSFT", 225.0 }, { "GOOG", 433.0 } }; V_GetStockPriceDelegate getStockPrice = stockTicker => stockPrices[stockTicker]; var stockValues = V_StockValuator.GetStockValues(stocks, getStockPrice); stockValues.Should().Equal( new StockValue(new Stock("MSFT", 100, 100, "5/10/2020"), 225.0, 22500.0, 12500.0), new StockValue(new Stock("GOOG", 300, 400, "6/10/2020"), 433.0, 129900.0, 9900.0) ); }
public void AddStock_WhenStockDoesntExists() { // Arrange var stockCollection = new StockCollection(); var stock = new Stock(); stock.StockSymbol = "TEA"; stock.StockType = GBCEStockType.Common; stock.LastDividend = 0; stock.FixedDividend = 2; stock.ParValue = 100; // Act try { stockCollection.AddStock(stock); } catch { // Assert Assert.Fail(); } }
public IActionResult CreatePDF(int countPerPage = 10, int page = 1) { _stockCollection = _xmlToCollection.Execute(); List <Stock> list = _stockCollection.Stocks.Skip(countPerPage * (page - 1)).Take(countPerPage).ToList(); var globalSettings = new GlobalSettings { ColorMode = ColorMode.Color, Orientation = Orientation.Portrait, PaperSize = PaperKind.A4, Margins = new MarginSettings { Top = 10 }, DocumentTitle = "PDF Reports", }; var objectSetting = new ObjectSettings { PagesCount = true, HtmlContent = TemplateGenerator.GetHTMLString(list), WebSettings = { DefaultEncoding = "utf-8", UserStyleSheet = Path.Combine(Directory.GetCurrentDirectory(), "Assets", "style.css") }, HeaderSettings = { FontName = "Arial", FontSize = 12, Right = "Page [Page] of [toPage]", Line = true }, FooterSettings = { FontName = "Arial", FontSize = 12, Center = "Report Footer", Line = true } }; var pdf = new HtmlToPdfDocument { GlobalSettings = globalSettings, Objects = { objectSetting } }; var file = _converter.Convert(pdf); return(File(file, "application/pdf")); }
public void RemoveStock_WhenStockExists() { // Arrange var stockCollection = new StockCollection(); var stock = new Stock(); stock.StockSymbol = "TEA"; stock.StockType = GBCEStockType.Common; stock.LastDividend = 0; stock.FixedDividend = 2; stock.ParValue = 100; try { // Act stockCollection.AddStock(stock); stockCollection.RemoveStock("TEA"); } catch (Exception ex) { // Assert Assert.Fail(); } }
private bool HasInStockList(Stock stock, StockCollection list, out int stockDefIndex) { int count = 0; foreach (Stock stockDefect in list) { if(stockDefect.StockId == stock.StockId) { stockDefIndex = count; return true; } count += 1; } stockDefIndex = count; return false; }
private void InventoryCheckingForm_Load(object sender, EventArgs e) { /*if(!DepartmentChecking) {*/ stockViewList = new StockViewCollection(bdsProductMasters); bdsProductMasters.DataSource = stockViewList; bdsProductMasters.ResetBindings(true); stockList = new StockCollection(bdsStockDefect); bdsStockDefect.DataSource = stockList; bdsStockDefect.ResetBindings(true); /*} else { deptStockDefectList = new DepartmentStockDefectCollection(bdsStockDefect); bdsStockDefect.DataSource = stockList; bdsStockDefect.ResetBindings(true); }*/ //cboProductMasters.DisplayMember = "ProductMaster.TypeAndName"; //LoadGoodsToCombo(); txtSum.ForeColor = Color.Green; txtRealitySum.ForeColor = Color.Red; }
private bool HasInStockList(Stock stock, StockCollection list, out int stockDefIndex) { int count = -1; foreach (Stock stockDefect in list) { if(stockDefect.Product.ProductId.Equals(stock.Product.ProductId)) { stockDefIndex = count; return true; } count += 1; } stockDefIndex = count; return false; }
private int GetIndexFromList(Stock stock, StockCollection collection) { for(int i=0;i<collection.Count;i++) { if(collection[i].Product.ProductId.Equals(stock.Product.ProductId)) { return i; } } return -1; }
private Stock GetFromStockList(Stock stock, StockCollection collection) { foreach (Stock stockChecked in collection) { if (stockChecked.Product.ProductId.Equals(stock.Product.ProductId)) { return stockChecked; } } return null; }
private void ProcessErrorGoodsForm_Load(object sender, EventArgs e) { if (!DepartmentProcessing) { returnGoodsList = new StockOutDetailCollection(bdsReturnGoods); tempStockOutList = new StockOutDetailCollection(bdsTempStockOut); destroyGoodsList = new StockOutDetailCollection(bdsDestroyGoods); stockDefectList = new StockCollection(bdsStockDefect); bdsReturnGoods.ResetBindings(true); bdsTempStockOut.ResetBindings(true); bdsDestroyGoods.ResetBindings(true); bdsStockDefect.ResetBindings(true); LoadStockDefects(); } else { deptReturnGoodsList= new DepartmentStockOutDetailCollection(bdsReturnGoods); deptTempStockOutList= new DepartmentStockOutDetailCollection(bdsTempStockOut); deptDestroyGoodsList= new DepartmentStockOutDetailCollection(bdsDestroyGoods); deptStockDefectList= new DepartmentStockCollection(bdsStockDefect); bdsReturnGoods.ResetBindings(true); bdsTempStockOut.ResetBindings(true); bdsDestroyGoods.ResetBindings(true); bdsStockDefect.ResetBindings(true); lblReturnGoods.Text = "Trả hàng lỗi về cho kho chính"; LoadDepartmentStockDefects(); } }
public void when_I_create_an_empty_stock_collection__it_contains_no_stocks() { var stockCollection = new StockCollection(); stockCollection.EnumerateStocks().Should().BeEmpty(); }
private void TemporaryStockOutForm_Load(object sender, EventArgs e) { stockViewList = new StockViewCollection(bdsProductMasters); bdsProductMasters.DataSource = stockViewList; bdsProductMasters.ResetBindings(true); if (!DepartmentReturnForm) { stockDefectList = new StockCollection(bdsStockDefect); bdsStockDefect.DataSource = stockDefectList; bdsStockDefect.ResetBindings(true); stockOutList = new StockOutDetailCollection(bdsStockOut); bdsStockOut.DataSource = stockOutList; bdsStockOut.ResetBindings(true); LoadGoodsToCombo(); } else { deptStockDefectList = new DepartmentStockDefectCollection(bdsStockDefect); bdsStockDefect.DataSource = deptStockDefectList; bdsStockDefect.ResetBindings(true); deptStockOutList = new DepartmentStockOutDetailCollection(bdsStockOut); bdsStockOut.DataSource = deptStockOutList; bdsStockOut.ResetBindings(true); rdoTraHang.Visible = false; rdoTamXuat.Visible = false; lblTitle.Text = " TRẢ HÀNG VỀ KHO CHÍNH"; lblStockOut.Text = " Trả hàng về kho chính"; LoadDeptGoodsToCombo(); } }