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);
            }