public void DateTimeFromString_Component_MaxLength_Exceeds_StringLength_Test(string dateText, string output) { var expected = DateTime.Parse(output, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); var grammar = EdiGrammar.NewEdiFact(); var edi = $@"UNB+UNOC:3+109910000+999999999+171215:1048+00336++AO05Q118ke1' UNH+00001+AESG:02:001:KV' DTM+137:{dateText}:102' UNT+6+00001' UNZ+1+00336' "; var interchange = default(Interchange_Issue95); using (var stream = Helpers.StreamFromString(edi)) { interchange = new EdiSerializer().Deserialize <Interchange_Issue95>(new StreamReader(stream), grammar); } Assert.Equal(expected, interchange.Msg.DateTime); }
public void ReaderStrips_Z_Padding_Test() { var grammar = EdiGrammar.NewEdiFact(); using (var ediReader = new EdiTextReader(new StreamReader(Helpers.StreamFromString("DTM+ZZZ'DTM+ZZ1'")), grammar)) { ediReader.Read(); ediReader.Read(); ediReader.Read(); ediReader.Read(); // move to component var number = ediReader.ReadAsInt32(); Assert.Null(number); ediReader.Read(); ediReader.Read(); ediReader.Read(); ediReader.Read(); // move to component; var number2 = ediReader.ReadAsInt32(); Assert.Equal(1, number2.Value); } }
public void DateTimeFromStringTest(string dateText, string timeText, string output) { var expected = DateTime.Parse(output, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); var grammar = EdiGrammar.NewX12(); var edi = $@"ISA*00* *00* *01*000123456 *ZZ*TEST2 *090827*0936*U*00401*000000055*0*T*>~ GS*PO*000123456*TEST2*20090827*1041*2*X*004010~ ST*850*0001~ DTM*011*{dateText}*{timeText}*08~ SE*50*0001~ GE*1*2~ IEA*1*000000001~ "; var interchange = default(Interchange_Issue96); using (var stream = Helpers.StreamFromString(edi)) { interchange = new EdiSerializer().Deserialize <Interchange_Issue96>(new StreamReader(stream), grammar); } Assert.Equal(expected, interchange.Msg.DateTime); }
public void DateTimeFromStringTestMiliseconds(string dateText, string timeText, string expectedISODate, string intText, string longText) { var expected = DateTime.Parse(expectedISODate, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); var grammar = EdiGrammar.NewX12(); var edi = $@"ISA*00* *00* *01*000123456 *ZZ*TEST2 *090827*0936*U*00401*000000055*0*T*>~ GS*PO*000123456*TEST2*20090827*1041*2*X*004010~ ST*850*0001~ DTM*{intText}*{dateText}*{timeText}*{longText}~ SE*50*0001~ GE*1*2~ IEA*1*000000001~ "; var interchange = default(ParseComponentValues_Interchange); using (var stream = Helpers.StreamFromString(edi)) { interchange = new EdiSerializer().Deserialize <ParseComponentValues_Interchange>(new StreamReader(stream), grammar); } Assert.Equal(expected, interchange.Msg.DateTime); Assert.Equal(int.Parse(intText), interchange.Msg.Integer); Assert.Equal(long.Parse(longText), interchange.Msg.Long); }