/// <inheritdoc /> protected override void ParseLine(PafRepository repository, LineIterator iterator) { var record = new SubBuildingNameRecord(); record.Key = GetInt32(iterator, KeyStart, KeyLength); record.Name = GetString(iterator, NameStart, NameLength); repository.AddSubBuildingName(record); }
/// <inheritdoc /> protected override void ParseLine(PafRepository repository, LineIterator iterator) { var record = new ThoroughfareDescriptorRecord(); record.Key = GetInt32(iterator, KeyStart, KeyLength); record.Descriptor = GetString(iterator, DescriptorStart, DescriptorLength); repository.AddThoroughfareDescriptor(record); }
/// <inheritdoc /> protected override void ParseLine(PafRepository repository, LineIterator iterator) { var record = new OrganisationRecord(); record.Key = GetInt32(iterator, KeyStart, KeyLength); record.PostcodeType = ParsePostcodeType(iterator.Buffer[iterator.Offset + PostcodeTypeIndex]); record.Name = GetString(iterator, NameStart, NameLength); record.Department = GetString(iterator, DepartmentStart, DepartmentLength); repository.AddOrganisation(record); }
public string SaveToShouldSaveTheSpecifiedType(string content, MainfileType type) { PafRepository repository = Substitute.For <PafRepository>(); this.mainfileBuilder.AddFile(type.ToString(), content); Mainfile mainfile = this.mainfileBuilder.Create(); mainfile.SaveTo(repository, type); return(repository.ReceivedCalls().Single().GetMethodInfo().Name); }
/// <summary> /// Parses the specified file, adding parsed records to the specified /// repository. /// </summary> /// <param name="info">Contains the information about the file.</param> /// <param name="repository">The repository to add records to.</param> public void Parse(MainfileInfo info, PafRepository repository) { Check.IsNotNull(info, "info"); Check.IsNotNull(repository, "repository"); using (Stream stream = FileSystem.Instance.OpenRead(info.Path)) { var iterator = new LineIterator(stream, info.RecordLength, info.RecordCount); while (iterator.MoveNext()) { this.ParseLine(repository, iterator); } } }
public void SaveToShouldReadFromMultipleFilesOfTheSameType() { this.mainfileBuilder.AddFile("Locality1", ExamplePafFileData.Localities); this.mainfileBuilder.AddFile("Locality2", ExamplePafFileData.Localities); this.mainfileBuilder.AddFile("MainAddress1", ExamplePafFileData.MainAddress); Mainfile mainfile = this.mainfileBuilder.Create(); PafRepository repository = Substitute.For <PafRepository>(); mainfile.SaveTo(repository, MainfileType.Localities); repository.ReceivedWithAnyArgs(2).AddLocality(null); }
/// <summary> /// Parses a record from the specified line. /// </summary> /// <param name="repository">The repository to add the record to.</param> /// <param name="iterator">Contains the current line information.</param> protected abstract void ParseLine(PafRepository repository, LineIterator iterator);
/// <inheritdoc /> protected override void ParseLine(PafRepository repository, LineIterator iterator) { repository.AddAddress(this.ParseRecord(iterator)); }