public void Should_Parse_FundamentalMessage_Culture_Independent(string cultureName) { // Arrange TestHelper.SetThreadCulture(cultureName); // Act var fundementalMessageParsed = FundamentalMessage.Parse(_message); var fundamentalMessage = new FundamentalMessage("MSFT", "5", 65.6, 28624000, 97.95, 67.14, 97.95, 83.83, null, null, null, null, null, null, 1.49, null, 0.06, 6, "MICROSOFT", "MSFT", 76.8, 1.27, null, 159851, 64527, new DateTime(2018, 03, 31), 76073, 7683198, "0.50 02/18/2003", "0.50 03/29/1999", "14", 4, 7372, 24.82, "1", "21", new DateTime(2018, 05, 10), new DateTime(2017, 05, 18), new DateTime(2018, 05, 10), new DateTime(2018, 02, 09), 85.54, null, null, null, null, 511210, null, null, null); // Assert Assert.AreEqual(fundementalMessageParsed, fundamentalMessage); }
public void Should_Convert_Csv_To_Original_Message(string cultureName) { // Arrange TestHelper.SetThreadCulture(cultureName); var fundamental1 = FundamentalMessage.Parse(_message); // Act var fundamental1Csv = fundamental1.ToCsv(); var fundamental2 = FundamentalMessage.Parse(fundamental1Csv); // Assert Assert.AreEqual(fundamental2, fundamental1); }
public void Should_Get_Different_HashCode() { // Arrange var fundamental1 = new FundamentalMessage("MSFT", "5", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null); var fundamental2 = new FundamentalMessage("MSFT", "5", "1.0".ToNullableDouble(), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null); // Act var hashCode1 = fundamental1.GetHashCode(); var hashCode2 = fundamental2.GetHashCode(); // Assert Assert.AreNotEqual(hashCode1, hashCode2); }
public void Should_Parse_FundamentalMessage_Culture_Independent(string cultureName) { // Arrange TestHelper.SetThreadCulture(cultureName); var message = "F,MSFT,5,65.6,28624000,97.9500,67.1400,97.9500,83.8300,,,,,,,,,,,1.49,,0.06,06,,MICROSOFT,MSFT,76.800,1.27,,159851.0,64527.0,03/31/2018,76073.0,7683198,,0.50 02/18/2003,0.50 03/29/1999,,,14,4,7372,24.82,1,21,05/10/2018,05/18/2017,05/10/2018,02/09/2018,85.5400,,,,,511210,,,,"; // Act var fundementalMessageParsed = FundamentalMessage.Parse(message); var fundamentalMessage = new FundamentalMessage("MSFT", "5", 65.6d, 28624000, 97.95d, 67.14d, 97.95d, 83.83d, null, null, null, null, null, null, 1.49d, null, 0.06d, 6, "MICROSOFT", "MSFT", 76.8d, 1.27d, null, 159851, 64527, new DateTime(2018, 03, 31), 76073, 7683198, "0.50 02/18/2003", "0.50 03/29/1999", "14", 4, 7372, 24.82d, "1", "21", new DateTime(2018, 05, 10), new DateTime(2017, 05, 18), new DateTime(2018, 05, 10), new DateTime(2018, 02, 09), 85.54d, null, null, null, null, 511210, null, null, null); // Assert Assert.AreEqual(fundementalMessageParsed, fundamentalMessage); }
public void Should_Return_FundamentalMessage() { // TODO: full fundamental message assertion var message = @"F,MSFT,5,65.6,28624000,97.9500,67.1400,97.9500,83.8300,,,,,,,,,,,1.49,,0.06,06,,MICROSOFT,MSFT,76.800,1.27,,159851.0,64527.0,03/31/2018,76073.0,7683198,,0.50 02/18/2003,0.50 03/29/1999,,,14,4,7372,24.82,1,21,05/10/2018,05/18/2017,05/10/2018,02/09/2018,85.5400,,,,,511210,,,,"; var values = Level1MessageHandler.GetValuesFromMessage(message); var fundamentalMsg = FundamentalMessage.CreateFundamentalMessage(values); Assert.AreEqual(fundamentalMsg.Symbol, "MSFT"); Assert.AreEqual(fundamentalMsg.ExchangeId, "5"); Assert.AreEqual(fundamentalMsg.OptionsPremiumMultiplier, null); Assert.AreEqual(fundamentalMsg.OptionsMultipleDeliverables, null); }
public void Should_Parse_FundamentalMessage_Culture_Independent(string cultureName) { // Arrange TestHelper.SetThreadCulture(cultureName); // Act var fundementalMessageParsed = FundamentalMessage.Parse(_message); var fundamentalMessage = new FundamentalMessage( "MSFT", "5", 65.6d, 28624000, 97.95d, 67.14d, 97.95d, 83.83d, null, null, null, null, null, 1.49d, null, 0.06d, 6, "MICROSOFT", "MSFT", 76.8d, 1.27d, null, 159851, 64527, new DateTime(2018, 03, 31), 76073, 7683198, "0.50 02/18/2003", "0.50 03/29/1999", "14", 4, 7372, 24.82d, "1", "21", new DateTime(2018, 05, 10), new DateTime(2017, 05, 18), new DateTime(2018, 05, 10), new DateTime(2018, 02, 09), 85.54d, null, null, null, null, 511210, null, null, null, new TimeSpan(09, 00, 00), new TimeSpan(17, 00, 00), "USD", "125000", "HMUZ", 0.1, new DateTime(2016, 01, 01), "TEST", 1); // Assert Assert.AreEqual(fundementalMessageParsed, fundamentalMessage); }
private void ProcessFundamentalMessage(string msg, string[] values) { var fundamentalMessage = FundamentalMessage.CreateFundamentalMessage(values); Fundamental?.Invoke(fundamentalMessage); }
private void Level1ClientOnFundamental(FundamentalMessage msg) { Console.WriteLine(msg); }
private void ProcessFundamentalMessage(string msg) { var fundamentalMessage = FundamentalMessage.Parse(msg); Fundamental?.Invoke(fundamentalMessage); }
void ProcessFundamentalRecord(FundamentalMessage Message) { // contains 'F' as first element //IQ5009 iq5009 = (IQ5009) e.user; //iqF F = iq5009.F; int j; bool b; string s; string sym = Message.items[1]; try { cmdDeleteOptions.Parameters[0].Value = sym; cmdDeleteOptions.ExecuteNonQuery(); } catch (Exception E) { Console.WriteLine("*** Exception in GetBasicInfo::ProcessFundamentalRecord::cmdDeleteOptions, " + sym + ", " + E.ToString()); } try { cmdDeleteF.Parameters[0].Value = sym; cmdDeleteF.ExecuteNonQuery(); } catch (Exception E) { Console.WriteLine("*** Exception in GetBasicInfo::ProcessFundamentalRecord::cmdDeleteF, " + sym + ", " + E.ToString()); } //Console.WriteLine("->"); bool flag = false; for (int i = 0; i < alOrd.Count; i++) { string l = Message.items[rOrd[i] - 1]; if ((5 == rOrd[i] - 1) || (6 == rOrd[i] - 1)) { if (0 < l.Length) { if (l.Substring(0, 2) == ".-") { flag = true; } } } if ((45 == rOrd[i] - 1) || (46 == rOrd[i] - 1)) { if ((0 == l.Length) || (10 == l.Length)) { } else { flag = true; } } cmdInsertF.Parameters[i].Value = l; //Console.WriteLine(" {0},{1},{2} ", i, F.rOrd[i]-1, e.items[F.rOrd[i] - 1]); } if (flag) { Console.WriteLine("** Ejected {0}", sym); } else { try { cmdInsertF.ExecuteNonQuery(); string sTemp = Message.RootOptionSymbols; if ("" != sTemp) { string[] sOptionRoots = sTemp.Split(chDelimSpace); for (int i = 0; i < sOptionRoots.Length; i++) { s = sOptionRoots[i]; j = 0; b = false; while (j < i) { b |= (s == sOptionRoots[j++]); } if (!b) { cmdInsertOptionRoot.Parameters[0].Value = sym; cmdInsertOptionRoot.Parameters[1].Value = s; cmdInsertOptionRoot.ExecuteNonQuery(); } } } } catch (Exception E) { Console.WriteLine("*** Exception in GetBasicInfo::ProcessFundamentalRecord::cmdInsertF, " + E.ToString()); } } }