using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using YLErp.DBModels; namespace YLErp.Modules.DataProviderModule { [TestClass] public class EodExchangeOptionPriceProviderTest : YLUnitTestBase { [TestMethod] public void TestGetPrice() { var valueDate = new DateTime(1900, 1, 1); const string optionCode = "RBTest-P-2650"; var insertModel = new eod_exchange_option_price { ClosePrice = 12.22, DataSource = "单元测试", HighPrice = 12.32, LowPrice = 12.2, SettlePrice = 12.24, UnderlyingCode = optionCode, ValueDate = valueDate }; SetDBModelOpt(insertModel); AddClearSQL($"ValueDate='{valueDate:yyyy-MM-dd}' and ContractCode='{optionCode}'"); DbContext.eod_exchange_option_price.Add(insertModel); DbContext.SaveChanges(); var provider = new EodExchangeOptionPriceProvider(valueDate, true); var price = provider.GetPrice("RBTest-P-2650"); Assert.AreEqual(price, 12.22); var hasPrice = provider.TryGetPrice(optionCode, out price); Assert.AreEqual(price, 12.22); var priceModel = provider.GetPriceModel("RBTest-P-2650"); Assert.AreEqual(priceModel.SettlePrice, 12.24); provider.TryGetPriceModel("RBTest-P-2650", out priceModel); Assert.AreEqual(priceModel.HighPrice, 12.32); } } }