public GeneratorData GetAverageStatistics(DataSplit dataSplit)
        {
            var data = generatorData
                       .Skip(Math.Min(generatorData.Count - 1, (int)(generatorData.Count * dataSplit.Start)))
                       .Take(Math.Max(1, (int)(generatorData.Count * (dataSplit.End - dataSplit.Start))))
                       .ToList();
            var averageData = new GeneratorData();

            for (int i = 0; i < data[0].ChainsStats.Count; i++)
            {
                averageData.ChainsStats.Add(new ChainStats()
                {
                    AttemptsOnSuccess                = data.Average(x => x.ChainsStats[i].AttemptsOnSuccess),
                    FailedRuns                       = data.Average(x => x.ChainsStats[i].FailedRuns),
                    RandomRestarts                   = data.Average(x => x.ChainsStats[i].RandomRestarts),
                    OutOfIterations                  = data.Average(x => x.ChainsStats[i].OutOfIterations),
                    Iterations                       = data.Average(x => x.ChainsStats[i].Iterations),
                    MaxIterationsOnSuccess           = data.Max(x => x.ChainsStats[i].MaxIterationsOnSuccess),
                    AverageIterationsOnSuccess       = data.Average(x => x.ChainsStats[i].AverageIterationsOnSuccess),
                    AverageStageTwoFailuresOnSuccess = data.Average(x => x.ChainsStats[i].AverageStageTwoFailuresOnSuccess),
                    MaxStageTwoFailuresOnSuccess     = data.Max(x => x.ChainsStats[i].MaxStageTwoFailuresOnSuccess),
                });
            }

            averageData.Iterations = data.Average(x => x.Iterations);
            averageData.Time       = data.Average(x => x.Time);

            return(averageData);
        }
示例#2
0
    private void Awake()
    {
        instance = this;
        ToolDefaultValueDataSplit_Chap1();
        ToolDefaultValueDataSplit_Chap2();
        ToolDefaultValueDataSplit_Chap3();
        ToolDefaultValueDataSplit_Chap4();
        ToolDefaultValueDataSplit_Chap5();
        ToolDefaultValueDataSplit_Special();

        ToolNameDataSplit();
        ToolNameDataSplit_Special();
        ToolExpDataSplit();
        ToolExpDataSplit_Special();
        FriendNameDataSplit();
        FriendNameDataSplit_Special();
        FriendExpDataSplit();
        FriendExpDataSplit_Special();
        SpecialChapterScriptDAtaSplit();
        MenuPopUpStringDataSplit();
        ChapterExpDataSplit();
        ChapterExpDataSplit_Special();
        ChapterNameDataSplit();
        ChapterNameDataSplit_Special();
    }
        public void CheckDataSplit()
        {
            var checkDataList = new List <string> {
                "Date,Time", "1/8/2020,10:00:01", "1/9/2020,10:00:01", "3/9/2020,10:30:27"
            };
            var splitData = new DataSplit(checkDataList);

            Assert.True(splitData.IsDataSplit);
        }