public void AddsHistoricPriceWhenPriceIsNew() { //// SETUP // Test Data var price1 = new HistoricPrice { Date = DateTime.Parse("1/1/2000") }; var price2 = new HistoricPrice { Date = DateTime.Parse("1/2/2000") }; var price3 = new HistoricPrice { Date = DateTime.Parse("1/3/2000") }; // Setup target var target = new Stock { Ticker = "FLWS", CompanyName = "1-800 FLOWERS.COM" }; // EXECUTE (3 times) var actual1 = target.AddHistoricPrice(price1); var actual2 = target.AddHistoricPrice(price2); var actual3 = target.AddHistoricPrice(price3); //// VERIFY Assert.AreEqual(3, target.PriceHistory.Count); // Price 1 Assert.True(actual1); Assert.True(target.PriceHistory.Contains(price1)); Assert.AreSame(target, price1.Stock); // Price 2 Assert.True(actual2); Assert.True(target.PriceHistory.Contains(price2)); Assert.AreSame(target, price2.Stock); // Price 3 Assert.True(actual3); Assert.True(target.PriceHistory.Contains(price3)); Assert.AreSame(target, price2.Stock); }
public void DoesNotAddHistoricPriceWhenPriceIsPreexisting() { //// SETUP // Test Data var price = new HistoricPrice { Date = DateTime.Parse("1/1/2000") }; var duplicatePrice = new HistoricPrice { Date = DateTime.Parse("1/1/2000") }; // Setup target var target = new Stock { Ticker = "FLWS", CompanyName = "1-800 FLOWERS.COM" }; // EXECUTE (twice) var initialActual = target.AddHistoricPrice(price); var duplicateActual = target.AddHistoricPrice(duplicatePrice); //// VERIFY Assert.AreEqual(1, target.PriceHistory.Count); // Initial (Should have succeeded) Assert.True(initialActual); Assert.True(target.PriceHistory.Contains(price)); Assert.AreSame(target, price.Stock); // Duplicate (Should have failed) Assert.False(duplicateActual); Assert.Null(duplicatePrice.Stock); }