static void TestReadHistoryFile() { const string filename = @"C:\Users\geh\Downloads\Latha\FIX_ExchangeSimulator20150113.history"; var messages = new Fix.MessageCollection(); try { long count = 0; long exceptions = 0; using (var stream = new FileStream(filename, FileMode.Open)) using (var reader = new Fix.Reader(stream)) { for (; ;) { try { Fix.Message message = reader.ReadLine(); if (message == null) { break; } messages.Add(message); } catch (Exception) { ++exceptions; reader.DiscardLine(); continue; } ++count; } } Console.WriteLine("{0} / {1}", count, exceptions); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.WriteLine("MESSAGES - {0}", messages.Count); var book = new Fix.OrderBook(); try { foreach (var message in messages) { book.Process(message); } } catch (Exception ex) { Console.WriteLine(ex); } Console.WriteLine("ORDERS - {0}", book.Orders.Count); }
public void TestGateDriverParser() { var uri = new Uri(string.Format("file://{0}", Path.GetFullPath("t_gate_driver.log"))); var parser = new Fix.Parsers.FormattedLogParser(); Fix.MessageCollection messages = parser.Parse(uri); Assert.AreEqual(43, messages.Count); }
public void TestGateRawCiParser() { var uri = new Uri(string.Format("file://{0}", Path.GetFullPath("t_gate_raw_ci.log"))); var parser = new Fix.Parsers.RawGateCiLogParser(); Fix.MessageCollection messages = parser.Parse(uri); Assert.AreEqual(4909, messages.Count); }
public void TestAtlasParser() { var uri = new Uri(string.Format("file://{0}", Path.GetFullPath("t_atlas.log"))); var parser = new Fix.Parsers.AtlasLogParser(); Fix.MessageCollection messages = parser.Parse(uri); Assert.AreEqual(473, messages.Count); }
void LoadClientMessagesButtonClick(object?sender, EventArgs e) { using OpenFileDialog dlg = new(); if (dlg.ShowDialog() != DialogResult.OK) { return; } Cursor?original = Cursor.Current; Cursor.Current = Cursors.WaitCursor; try { Fix.MessageCollection messages = Fix.MessageCollection.Parse(dlg.FileName); if (messages == null) { MessageBox.Show(this, "The file could not be parsed", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } Messages = messages; } catch (Exception ex) { MessageBox.Show(this, ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { Cursor.Current = original; } }