public void GetDateTime_DefaultsMessage()
        {
            var console = new TestableConsole();

            console.LinesToRead.Add(DateTime.Today.ToString("d"));

            console.GetDateTime(null);

            Assert.AreEqual("Enter a DateTime", console.WrittenLines[0]);
        }
        public void GetDateTime_CanReadDateTime()
        {
            var console = new TestableConsole();
            var today   = DateTime.Today;

            //NB: Using the ToString on DateTime to handle different locals
            console.LinesToRead.Add(today.ToString("d"));

            DateTime value = console.GetDateTime("My message");

            Assert.AreEqual("My message", console.WrittenLines[0]);
            Assert.AreEqual(today, value);
        }
        public void GetDateTime_RepromptsIfTheInputIsNotValid()
        {
            var console = new TestableConsole();
            var today   = DateTime.Today;

            console.LinesToRead.Add("bad datetime");
            //NB: Using the ToString on DateTime to handle different locals
            console.LinesToRead.Add(today.ToString("d"));

            DateTime value = console.GetDateTime("My message");

            Assert.AreEqual("My message", console.WrittenLines[0]);
            Assert.AreEqual("My message", console.WrittenLines[0]);
            Assert.AreEqual(today, value);
        }