Files
zszq-trs/UnitTestProject/Modules/ApiModule/TestUnderlyingVolServiceV2.cs
2024-05-09 14:06:26 +08:00

51 lines
1.6 KiB
C#

using YLErp.Modules.VolatilityModule.ApiModule;
namespace YLErp.Modules.ApiModule
{
[TestClass]
public class TestUnderlyingVolServiceV2 : UnitTestBase
{
[TestMethod]
public void TestSaveAndQuery()
{
var volTableJson = ReadResourceFile("ApiModule\\voltable.json");
var volTable = JsonHelper.Parse<List<SingleVol>>(volTableJson);
var service = new UnderlyingVolServiceV2(OptUserInfo.SystemUser);
for (var i = 0; i < 10; i++)
{
foreach (var item in volTable)
{
item.Vol = 0.3 * (1 + (i / 100d));
}
var saveReq = new UnderlyingVolSaveApiRequestV2
{
ContractCode = "RB00",
VolType = "交易",
ValueDate = new DateTime(2022, 1, 1).AddDays(i),
VolTable = volTable
};
service.SaveVolSurface(saveReq);
}
for (var i = 0; i < 10; i++)
{
var qryRequest = new UnderlyingVolQueryApiRequestV2
{
UnderlyingCodes = new string[] { "RB00" },
ValueDate = new DateTime(2022, 1, 1).AddDays(i),
VolTypes = new string[] { "交易" }
};
var items = service.GetVolSurfaces(qryRequest);
var vol = 0.3 * (1 + (i / 100d));
Assert.IsTrue(items.All(n => n.VolTable.All(m => Math.Abs(m.Vol - vol) < 1e-6)));
}
}
}
}