public void MultipleRecordDefinitionsPerflatFileShouldBeSupported() { FlatFile flatFile = GetDokDat(); FixedFileFormatReader reader = new FixedFileFormatReader(flatFile); int numberOfRecords = 0; while (reader.MoveNext()) { Record record = reader.Current; record.Should().NotBeNull(); record.Fields[0].GetName().Should().Be("Posttype"); record.Fields[0].Value.Should().BeOneOf("B", "N"); string posttype = record.Fields[0].Value; if (posttype == "B") { VerifyBrev(record); } else if (posttype == "N") { VerifyNotat(record); } numberOfRecords++; } numberOfRecords.Should().Be(195); reader.MoveNext().Should().BeFalse(); }
public void ShouldUseRecordDefinitionFixedLengthAndSkipRecordSeparator() { AddmlFlatFileDefinition fileDefinition = new AddmlFlatFileDefinitionBuilder() .WithRecordSeparator("CRLF") .Build(); AddmlRecordDefinition recordDefinition = new AddmlRecordDefinitionBuilder() .WithAddmlFlatFileDefinition(fileDefinition) .WithRecordLength(7) .Build(); AddmlFieldDefinition fieldDefinition1 = new AddmlFieldDefinitionBuilder() .WithRecordDefinition(recordDefinition) .WithFixedLength(1) .Build(); AddmlFieldDefinition fieldDefinition2 = new AddmlFieldDefinitionBuilder() .WithRecordDefinition(recordDefinition) .WithFixedLength(2) .Build(); AddmlFieldDefinition fieldDefinition3 = new AddmlFieldDefinitionBuilder() .WithRecordDefinition(recordDefinition) .WithFixedLength(4) .Build(); FlatFile file = new FlatFile(fileDefinition); var sb = new StringBuilder(); sb.Append("1121234\r\n"); sb.Append("AABABCD\r\n"); sb.Append(" \r\n"); MemoryStream stream = CreateStream(sb.ToString()); FixedFileFormatReader reader = new FixedFileFormatReader(file, stream); reader.MoveNext().Should().BeTrue(); reader.Current.Value.Should().Be("1121234"); reader.Current.Fields[0].Value.Should().Be("1"); reader.Current.Fields[1].Value.Should().Be("12"); reader.Current.Fields[2].Value.Should().Be("1234"); reader.MoveNext().Should().BeTrue(); reader.Current.Value.Should().Be("AABABCD"); reader.Current.Fields[0].Value.Should().Be("A"); reader.Current.Fields[1].Value.Should().Be("AB"); reader.Current.Fields[2].Value.Should().Be("ABCD"); reader.MoveNext().Should().BeTrue(); reader.Current.Value.Should().Be(" "); reader.Current.Fields[0].Value.Should().Be(" "); reader.Current.Fields[1].Value.Should().Be(" "); reader.Current.Fields[2].Value.Should().Be(" "); reader.MoveNext().Should().BeFalse(); }