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