Files
zszq-trs/YLErpUnitTest/Modules/DataProviderModule/EodExchangeOptionPriceProviderTest.cs
T
2024-05-09 14:06:26 +08:00

51 lines
1.6 KiB
C#

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<eod_exchange_option_price>($"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);
}
}
}