51 lines
1.6 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|