public void TestAnalyse_PredictiveFactors_Count_Great_Than_Zero() { var numbers = new List <byte> { 2, 3, 3, 1, 4, 3, 3, 3, 1, 3, 3, 3, 4, 3, 4, 3 }; /* * 索引位置:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 * 号码列表:2, 3, 3, 1, 4, 3, 3, 3, 1, 3, 3, 3 4 3 4 * 连续次数:0 1 2 0 1 2 3 4 0 1 2 3 4 5 6 * 最大间隔:0 -1 -2 0 1 0 -1 -2 0 3 2 1 0 -1 -2 */ var factor = new Factor <byte> { Left = new List <byte> { 3, 4 }, Right = new List <byte> { 1, 2 } }; var dto = new FactorsTrendAnalyseDto <byte> { Factors = new List <Factor <byte> > { factor }, Numbers = numbers, AnalyseHistoricalTrendEndIndex = 5 }; var predictiveFactors = new FactorsTrend().Analyse(dto); Assert.IsTrue(predictiveFactors.Count == 1); }
private List <byte> TestAnalyse(FactorsTrendAnalyseDto <byte> dto) { var factorHistoricalTrend = new FactorsTrend(); var predictiveFactors = factorHistoricalTrend.Analyse(new FactorsTrendAnalyseDto <byte> { Numbers = dto.Numbers, Factors = dto.Factors, AddConsecutiveTimes = dto.AddConsecutiveTimes, AddInterval = dto.AddInterval, AnalyseHistoricalTrendEndIndex = dto.AnalyseHistoricalTrendEndIndex }); if (predictiveFactors.Count > 0) { var onesFactor = new List <byte>(predictiveFactors[0].Right); onesFactor = predictiveFactors.Aggregate(onesFactor, (current, factor) => current.Intersect(factor.Right).ToList()); return(onesFactor); } return(new List <byte>()); }