using KLHZ.Trader.Core.Contracts.Messaging.Dtos; using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces; using KLHZ.Trader.Core.Math.Declisions.Utils; using System.Security.Cryptography; namespace KLHZ.Trader.Core.Tests { public class SignalProcessingTests { [Test] public static void Test() { var da = new List(); var times = new List(); var startDt = DateTime.UtcNow; for (int i = 0; i < 100; i++) { startDt = startDt.AddSeconds(((double)(RandomNumberGenerator.GetInt32(1, 100))) / 100); times.Add(startDt); da.Add((decimal)System.Math.Sin(0.01 * i) + (decimal)System.Math.Cos(0.01 * i)); } var res = SignalProcessing.InterpolateData(times.ToArray(), da.ToArray(), TimeSpan.FromSeconds(5)); } [Test] public static void Test2() { var da = new List(); for (int i = 0; i < 100; i++) { da.Add(i); } var res = SignalProcessing.CalcDiffs(da.ToArray()); Assert.IsTrue(res.Length - da.Count == -1); foreach (var r in res) { Assert.IsTrue(r == 1); } } [Test] public static void Test3() { var results = new List(); var times = new List(); var startDt = DateTime.UtcNow; for (int i = 0; i < 100; i++) { startDt = startDt.AddSeconds(((double)(RandomNumberGenerator.GetInt32(1, 100))) / 100); var t = new TradeDataItem() { Figi = "", Ticker = "", Time = startDt, Count = 1, Direction = RandomNumberGenerator.GetInt32(1, 3), IsHistoricalData = true, Price = (decimal)System.Math.Sin(0.01 * i) + (decimal)System.Math.Cos(0.01 * i), }; results.Add(t); } var res = SignalProcessing.InterpolateData(results.ToArray(), TimeSpan.FromSeconds(5)); } } }