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