public static void WriteIntegraFile() { IFlatFileEngineFactory<ILayoutDescriptor<IFixedFieldSettingsContainer>, IFixedFieldSettingsContainer> fileEngineFactory; var records = GetTotalsRecords(); string fileName = @"C:\Repos\Medway\FlatFile\src\Test\Integra.txt"; using (TextWriter writer = new StreamWriter(fileName)) { fileEngineFactory = new FixedLengthFileEngineFactory(); var flatFileEngine = fileEngineFactory.GetEngine<FundTotalRecord>(); flatFileEngine.Write<FundTotalRecord>(writer, records); } using (var fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { fileEngineFactory = new FixedLengthFileEngineFactory(); var flatFileEngine1 = fileEngineFactory.GetEngine<FundTotalRecord>(); var recordsRead = flatFileEngine1.Read<FundTotalRecord>(fileStream).ToArray(); } }
public static void WriteiWorldFile() { IFlatFileEngineFactory<ILayoutDescriptor<IFixedFieldSettingsContainer>, IFixedFieldSettingsContainer> fileEngineFactory; var ctxBrRecords = GetCtxBrRecords(); string fileName = @"C:\Repos\Medway\FlatFile\src\Test\iWorld1.txt"; using (TextWriter writer = new StreamWriter(fileName)) { //C_CTFX_260815_062132 writer.WriteLine("C_CTFX_260815_062132".PadRight(151, ' ')); //writer.Flush(); fileEngineFactory = new FixedLengthFileEngineFactory(); var flatFileEngine = fileEngineFactory.GetEngine<CtxBrRecord>(); flatFileEngine.Write<CtxBrRecord>(writer, ctxBrRecords); } using (var fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { fileEngineFactory = new FixedLengthFileEngineFactory(); var flatFileEngine1 = fileEngineFactory.GetEngine<CtxBrRecord>(hasHeader: true); var records = flatFileEngine1.Read<CtxBrRecord>(fileStream).ToArray(); } }
public void ReadOperationShouldBeQuick() { Benchmark.This("FileHelperEngine.ReadStream", () => { var engine = new FileHelperEngine<FixedSampleRecord>(); using (var stream = new StringReader(FixedFileSample)) { var records = engine.ReadStream(stream); records.Should().HaveCount(19); } }) .Against.This("FlatFileEngine.Read", () => { var layout = new FixedSampleRecordLayout(); using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(FixedFileSample))) { var factory = new FixedLengthFileEngineFactory(); var flatFile = factory.GetEngine(layout); var records = flatFile.Read<FixedSampleRecord>(stream).ToArray(); records.Should().HaveCount(19); } }) .WithWarmup(1000) .For(10000) .Iterations() .PrintComparison(); }
public void BigDataWriteOperationShouldBeQuick() { var genarator = new FakeGenarator(); var sampleRecords = Enumerable.Range(0, 100000).Select(genarator.Generate).ToArray(); Benchmark.This("FileHelperEngine.WriteStream", () => { var engine = new FileHelperEngine<FixedSampleRecord>(); using (var stream = new MemoryStream()) using (var streamWriter = new StreamWriter(stream)) { engine.WriteStream(streamWriter, sampleRecords); } }) .Against.This("FlatFileEngine.Write", () => { var layout = new FixedSampleRecordLayout(); using (var stream = new MemoryStream()) { var factory = new FixedLengthFileEngineFactory(); var flatFile = factory.GetEngine(layout); flatFile.Write(stream, sampleRecords); } }) .WithWarmup(10) .For(100) .Iterations() .PrintComparison(); }
public void FlatFileEngine() { var layout = new FixedSampleRecordLayout(); using (var stream = new MemoryStream()) { var factory = new FixedLengthFileEngineFactory(); var flatFile = factory.GetEngine(layout); flatFile.Write(stream, sampleRecords); } }
/// <summary> /// Internal private file responsible to read records of historic quotes from stream /// </summary> /// <param name="streamToRead">Stream to read records from</param> /// <returns> /// All historic quotes found in the stream /// </returns> private B3HistoricMarketDataContentInfo ReadStream(Stream streamToRead) { B3HistoricMarketDataContentInfo resultado = null; // var factory = new FixedLengthFileEngineFactory(); // If using attribute mapping, pass an array of record types // rather than layout instances var layouts = new ILayoutDescriptor <IFixedFieldSettingsContainer>[] { new B3COTAHISTHeaderLayout() , new B3COTAHISTHistoricoLayout() , new B3COTAHISTTrailerLayout() }; var flatFile = factory.GetEngine(layouts, (line, lineNumber) => { // For each line, return the proper record type. // The mapping for this line will be loaded based on that type. // In this simple example, the first character determines the // record type. if (string.IsNullOrEmpty(line) || line.Length < 1) { return(null); } switch (line.Substring(0, 2)) { case "00": return(typeof(B3HistoricMarketDataHeaderInfo)); case "01": return(typeof(B3HistoricMarketDataInfo)); case "99": return(typeof(B3HistoricMarketDataTrailerInfo)); } return(null); }); flatFile.Read(streamToRead); resultado = new B3HistoricMarketDataContentInfo(); resultado.Header = flatFile.GetRecords <B3HistoricMarketDataHeaderInfo>().FirstOrDefault(); resultado.Records = flatFile.GetRecords <B3HistoricMarketDataInfo>().ToList(); resultado.Trailer = flatFile.GetRecords <B3HistoricMarketDataTrailerInfo>().FirstOrDefault(); return(resultado); }
public void WhenIConvertEntitiesToTheFlatFormat() { var fileEngineFactory = new FixedLengthFileEngineFactory(); var descriptor = ScenarioContext.Current.Get <ILayoutDescriptor <IFixedFieldSettingsContainer> >("descriptor"); var fileEngine = fileEngineFactory.GetEngine(descriptor); var testObjects = ScenarioContext.Current.Get <TestObject[]>("testObjects"); var fileContent = fileEngine.WriteToString(testObjects); ScenarioContext.Current.Add(() => fileContent, fileContent); }
public void WhenIConvertEntitiesToTheFlatFormat() { var fileEngineFactory = new FixedLengthFileEngineFactory(); var descriptor = ScenarioContext.Current.Get<ILayoutDescriptor<IFixedFieldSettingsContainer>>("descriptor"); var fileEngine = fileEngineFactory.GetEngine(descriptor); var testObjects = ScenarioContext.Current.Get<TestObject[]>("testObjects"); var fileContent = fileEngine.WriteToString(testObjects); ScenarioContext.Current.Add(() => fileContent, fileContent); }
public void Setup() { _helperEngine = new FileHelperEngine <FixedSampleRecord>(); var factory = new FixedLengthFileEngineFactory(); _fluentEngine = factory.GetEngine(new FixedSampleRecordLayout()); Configuration.Converters.UseOptimizedConverters(); var fixture = new Fixture(); _records = fixture.CreateMany <FixedSampleRecord>(N).ToArray(); }
public void FlatFileEngine() { var layout = new FixedSampleRecordLayout(); using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(FlatFileBenchmarks.FixedFileSample))) { var factory = new FixedLengthFileEngineFactory(); var flatFile = factory.GetEngine(layout); var records = flatFile.Read <FixedSampleRecord>(stream).ToArray(); records.Should().HaveCount(19); } }
public LayoutParser() { this.Encoding = Encoding.Default; var factory = new FixedLengthFileEngineFactory(); var layouts = new ILayoutDescriptor <IFixedFieldSettingsContainer>[] { new T0HeaderLayout(), new T1ResumoLayout(), new T2EnderecoLayout(), new T3BilheteLayout(), new T4ServicoLayout(), new T5DescontoLayout(), new T9TrailerLayout(), }; this.reader = (FixedLengthFileMultiEngine)factory.GetEngine(layouts, ChooseLayout); // while Read(StreamWriter) is not exposed in the interface }
public void WriteOperationShouldBeQuick() { var sampleRecords = GetRecords(); Benchmark.This("FileHelperEngine.WriteStream", () => { var engine = new FileHelperEngine<FixedSampleRecord>(); using (var stream = new MemoryStream()) using (var streamWriter = new StreamWriter(stream)) { engine.WriteStream(streamWriter, sampleRecords); } }) .Against.This("FlatFileEngine.Write", () => { var layout = new FixedSampleRecordLayout(); using (var stream = new MemoryStream()) { var factory = new FixedLengthFileEngineFactory(); var flatFile = factory.GetEngine(layout); flatFile.Write(stream, sampleRecords); } }) .WithWarmup(1000) .For(10000) .Iterations() .PrintComparison(); }