[DataRow("en-GB", "20190701T174232.123Z", true, "2019-07-01 17:42:32.123 Utc")] // Variant with milliseconds and without separators public void TryParse_Behaves_Correctly(string culture, string text, bool expectedResult, string expectedValueText) { using (new CultureSwap(culture)) { var parser = new DateTime_Iso8601_Parser(); var actualResult = parser.TryParse(text, out var actualValue); var expectedValue = DataRowParser.DateTime(expectedValueText); Assert.AreEqual(expectedResult, actualResult); Assert.AreEqual(expectedValue, actualValue); Assert.AreEqual(expectedValue?.Kind, actualValue.Kind); } }
public void GetAugmentedParsers_Augments_Registered_Parsers_With_List_Passed_In() { var originalDateTimeParser = new DateTime_Local_Parser(); var originalDateTimeOffsetParser = new DateTimeOffset_Invariant_Parser(); var newDateTimeParser = new DateTime_Iso8601_Parser(); var newByteArrayParser = new ByteArray_Mime64_Parser(); var resolver = new TypeParserResolver(originalDateTimeParser, originalDateTimeOffsetParser); var parsers = resolver.GetAugmentedParsers(newDateTimeParser, null, newByteArrayParser); Assert.AreEqual(3, parsers.Length); Assert.IsTrue(parsers.Contains(newDateTimeParser)); Assert.IsTrue(parsers.Contains(originalDateTimeOffsetParser)); Assert.IsTrue(parsers.Contains(newByteArrayParser)); var originalParsers = resolver.GetParsers(); Assert.AreEqual(2, originalParsers.Length); Assert.IsTrue(originalParsers.Contains(originalDateTimeParser)); Assert.IsTrue(originalParsers.Contains(originalDateTimeOffsetParser)); }