public void TestTickMultiplier() { PbTickCodec codec = new PbTickCodec(); codec.Config.SetTickSize(0.2); codec.Config.ContractMultiplier = 50000; codec.Config.Time_ssf_Diff = 5; codec.UseFlat(false); PbTick tick1 = new PbTick(); codec.SetAveragePrice(tick1, 123.45); codec.SetSettlementPrice(tick1, 123.45); codec.SetTurnover(tick1, 1234567890123456); codec.SetOpenInterest(tick1, 9123456789012345678); codec.SetVolume(tick1, 1234567890); Assert.AreEqual <double>(123.45, codec.GetAveragePrice(tick1)); Assert.AreEqual <double>(123.45, codec.GetSettlementPrice(tick1)); Assert.AreEqual <double>(1234567890120000, codec.GetTurnover(tick1)); Assert.AreEqual <long>(9123456789012345678, codec.GetOpenInterest(tick1)); Assert.AreEqual <long>(1234567890, codec.GetVolume(tick1)); codec.Config.ContractMultiplier = 5; codec.SetTurnover(tick1, 1234567890123456); Assert.AreEqual <double>(1234567890123456, codec.GetTurnover(tick1)); codec.Config.ContractMultiplier = 0.1; codec.SetTurnover(tick1, 12345678901234.56); Assert.AreEqual <double>(12345678901234.56, codec.GetTurnover(tick1)); }
public void TestGetSetPrice() { PbTickCodec codec = new PbTickCodec(); codec.Config.SetTickSize(0.2); codec.UseFlat(false); PbTick tick = new PbTick(); Assert.AreEqual <double>(0, codec.GetBidPrice(tick, 1)); Assert.AreEqual <double>(0, codec.GetBidPrice(tick, 4)); Assert.AreEqual <double>(0, codec.GetBidPrice(tick, 10)); codec.SetBidPrice(tick, 1, 1.0); codec.SetBidPrice(tick, 4, 2.4); codec.SetBidPrice(tick, 10, 5.8); Assert.AreEqual <double>(1, codec.GetBidPrice(tick, 1)); Assert.AreEqual <double>(2.4, codec.GetBidPrice(tick, 4)); Assert.AreEqual <double>(5.8, codec.GetBidPrice(tick, 10)); Assert.AreEqual <double>(0, codec.GetAskPrice(tick, 1)); Assert.AreEqual <double>(0, codec.GetAskPrice(tick, 4)); Assert.AreEqual <double>(0, codec.GetAskPrice(tick, 10)); codec.SetAskPrice(tick, 1, -1.0); codec.SetAskPrice(tick, 4, 2.4); codec.SetAskPrice(tick, 10, -5.8); Assert.AreEqual <double>(-1.0, codec.GetAskPrice(tick, 1)); Assert.AreEqual <double>(2.4, codec.GetAskPrice(tick, 4)); Assert.AreEqual <double>(-5.8, codec.GetAskPrice(tick, 10)); codec.SetAskCount(tick, 1, 4); codec.SetAskCount(tick, 4, 5); codec.SetAskCount(tick, 10, -9); Assert.AreEqual <double>(4, codec.GetAskCount(tick, 1)); Assert.AreEqual <double>(5, codec.GetAskCount(tick, 4)); Assert.AreEqual <double>(-9, codec.GetAskCount(tick, 10)); codec.SetSettlementPrice(tick, 1234.56); Assert.AreEqual <double>(1234.56, codec.GetSettlementPrice(tick), "SettlementPrice"); codec.SetTurnover(tick, 4567.8); Assert.AreEqual <double>(4567.8, codec.GetTurnover(tick), "Turnover"); }