Exemplo n.º 1
0
        public void MahrExportTest(string measure, string standard, string max, string min, string expected)
        {
            //assign
            var fpath = @"D:\2.txt";
            var data  = new List <MeasureExportModel>();
            var model = new MeasureExportModel()
            {
                MeasureName  = DateTime.Now.ToString(@"mmss"),
                MeasureValue = measure,
                Max          = max,
                Min          = min,
                Standard     = standard,
                Deviation    = "",
                Symbol       = "",
            };
            var model2 = new MeasureExportModel()
            {
                //"15.029", "15.000", "15.100", "14.900
                MeasureName  = DateTime.Now.ToString(@"mmss") + "-1",
                MeasureValue = "15.029",
                Max          = "15.1",
                Min          = "14.9",
                Standard     = "15",
                Deviation    = "",
                Symbol       = "",
            };

            data.Add(model);
            data.Add(model2);
            //act
            ExportHelper.MahrExport(data, fpath);

            //assert
            Assert.True(1 == 1);
        }
Exemplo n.º 2
0
        public void GetEvaluationTest(string measure, string standard, string max, string min, string expected)
        {
            //assign
            var model = new MeasureExportModel()
            {
                MeasureName  = DateTime.Now.ToString(@"mmss"),
                MeasureValue = measure,
                Max          = max,
                Min          = min,
                Standard     = standard,
                Deviation    = "",
                Symbol       = "",
            };

            //act
            var evaluation = ExportHelper.GetEvaluation(model);

            //assert
            Assert.True(evaluation == expected);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 計算 Mahr 評估值
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static string GetEvaluation(MeasureExportModel data)
        {
            var    evaluation = "";
            char   space = ' ';
            double min, max, measure, standard;

            if (Double.TryParse(data.Standard, out standard) &&
                Double.TryParse(data.MeasureValue, out measure) &&
                Double.TryParse(data.Min, out min) &&
                Double.TryParse(data.Max, out max))
            {
                var deviation      = measure - standard;
                var isGreater      = (deviation) > 0;
                var symbol         = (isGreater) ? "+" : "-";
                var diffPercent    = (isGreater) ? deviation / (max - standard) : deviation / (standard - min);
                var count          = 0;
                var absDiffPercent = Math.Abs(diffPercent);
                if (absDiffPercent <= 0.25)
                {
                    count = 1;
                }
                else if (absDiffPercent > 0.25 && absDiffPercent <= 0.5)
                {
                    count = 2;
                }
                else if (absDiffPercent > 0.5 && absDiffPercent <= 0.75)
                {
                    count = 3;
                }
                else
                {
                    count = 4;
                }
                for (var i = 0; i < count; i++)
                {
                    evaluation += symbol;
                }
            }
            return(evaluation.PadLeft(11, space));
        }