public void ConvertDate_throws_on_unexpected_format__forward_slashes()
        {
            // arrange
            const string input = "2012/04/15";
            var factory = new YahooMarketDataFactory();

            // assert
            Assert.Throws<Exception>(() => factory.ConvertDate(input));
        }
        public void ConvertDate_correctly_converts_hyphenated_date()
        {
            // arrange
            const string input = "2011-04-15";
            var factory = new YahooMarketDataFactory();

            // act
            var date = factory.ConvertDate(input);

            // assert
            Assert.That(date.Year, Is.EqualTo(2011));
            Assert.That(date.Month, Is.EqualTo(4));
            Assert.That(date.Day, Is.EqualTo(15));
        }
        public void CreateDailyInstrumentMarketData_returns_correct_close()
        {
            // arrange
            const decimal close = 98.88M;
            const string identifier = "YHOO";
            var input = TestHelper.GetSampleHistoricalCsvLine(close: close);

            var factory = new YahooMarketDataFactory();

            // act
            var data = factory.CreateDailyInstrumentMarketData(identifier, input);

            // assert
            Assert.That(data.ClosingPrice, Is.EqualTo(close));
        }
        public void CreateDailyInstrumentMarketData_returns_correct_identifier()
        {
            // arrange
            const string identifier = "YHOO";
            var input = TestHelper.GetSampleHistoricalCsvLine();

            var factory = new YahooMarketDataFactory();

            // act
            var data = factory.CreateDailyInstrumentMarketData(identifier, input);

            // assert
            Assert.That(data.Identifier, Is.EqualTo(identifier));
        }
        public void CreateDailyInstrumentMarketData_with_no_identifier_throws_not_implemented_exception()
        {
            // arrange
            var factory = new YahooMarketDataFactory();

            // assert
            Assert.Throws<NotImplementedException>(()=> factory.CreateDailyInstrumentMarketData("something"));
        }