public void MaxQuarterHour_Equals31stDecemberYear9998LastQuarterHour()
        {
            var maxQuarterHour = QuarterHour.MaxQuarterHour;
            var thirtyFirstDec9998LastQuaterHour = new QuarterHour(9998, 12, 31, 23, 45);

            Assert.AreEqual(thirtyFirstDec9998LastQuaterHour, maxQuarterHour);
        }
        public void ToString_FormatStringNull_ReturnsIso8601Format()
        {
            var    quarterHour = new QuarterHour(2020, 1, 20, 9, 30);
            string formatted   = quarterHour.ToString((string)null);

            Assert.AreEqual("2020-01-20 09:30", formatted);
        }
        public void MinQuarterHour_Equals1stJanuaryYear1FirstQuarterHour()
        {
            var minQuarterHour          = QuarterHour.MinQuarterHour;
            var jan0001FirstQuarterHour = new QuarterHour(1, 1, 1, 0, 0);

            Assert.AreEqual(jan0001FirstQuarterHour, minQuarterHour);
        }
        public void ToString_CustomFormatString_AsExpected()
        {
            var    quarterHour = new QuarterHour(2020, 1, 20, 9, 30);
            string formatted   = quarterHour.ToString("yyyy M d");

            Assert.AreEqual("2020 1 20", formatted);
        }
        public void Parse_EqualsExpectedResult(QuarterHourTestItem <string> testItem)
        {
            var quarterHourFromText = QuarterHour.Parse(testItem.ExpectedResult); // TODO bad use of Expected result?
            var expectedQuarterHour = testItem.Create();

            Assert.AreEqual(expectedQuarterHour, quarterHourFromText);
        }
        public void ToString_NullFormatStringAndFormatProvider_AsExpected()
        {
            var                quarterHour    = new QuarterHour(2020, 1, 20, 9, 0);
            CultureInfo        culture        = CultureInfo.CreateSpecificCulture("en-UK");
            DateTimeFormatInfo dateTimeFormat = culture.DateTimeFormat;

            dateTimeFormat.TimeSeparator = ".";
            string formatted = quarterHour.ToString(null, dateTimeFormat);

            Assert.AreEqual("2020-01-20 09.00", formatted);
        }
        public void ToString_FormatProviderWithDotTimeSeparator_TextWithDotTimeSeparator()
        {
            var                quarterHour    = new QuarterHour(2020, 1, 20, 9, 0);
            CultureInfo        culture        = CultureInfo.CreateSpecificCulture("en-UK");
            DateTimeFormatInfo dateTimeFormat = culture.DateTimeFormat;

            dateTimeFormat.TimeSeparator = ".";
            string formatted = quarterHour.ToString(dateTimeFormat);

            Assert.AreEqual("2020-01-20 09.00", formatted);
        }
 public void Parse_WithInvalidText_ThrowsFormatArgumentException(string text)
 {
     Assert.Throws(Is.TypeOf <FormatException>(), () => QuarterHour.Parse(text));
 }