Example #1
0
 static void Main()
 {
     try
     {
         const long fileSize  = 1024 * 1024 * 1024;
         var        drivePath = PickDrive(fileSize);
         if (drivePath == null)
         {
             return;
         }
         var testSuite = new TestOperations(drivePath, fileSize);
         using (testSuite)
         {
             Console.WriteLine("\nПуть к тестовому файлу: {0}, Размер: {1:0.00}Gb", testSuite.FilePath, (double)testSuite.FileSize / 1024 / 1024 / 1024);
             string currentTest = null;
             var    breakTest   = false;
             testSuite.StatusUpdate += (sender, e) =>
             {
                 if (breakTest)
                 {
                     return;
                 }
                 if (e.Status == OperationStatus.NotStarted)
                 {
                     return;
                 }
                 if ((sender as Operation).DisplayName != currentTest)
                 {
                     currentTest = (sender as Operation).DisplayName;
                     Console.Write("\n{0}", (sender as Operation).DisplayName);
                 }
                 if ((e.Status == OperationStatus.Completed) && (e.Results != null))
                 {
                     Console.Write(string.Format("\nСреднее значение скорости: {1:0.00} {0}\t", unit, e.Results.AvgThroughput));
                     Console.Write(
                         string.Format("\nСкорость выполнения: Min/Max: {1:0.00} {0} / {2:0.00} {0}, Время выполнения: {3}m{4:00}s",
                                       unit,
                                       e.Results.Min,
                                       e.Results.Max,
                                       e.ElapsedMs / 1000 / 60,
                                       e.ElapsedMs / 1000 % 60)
                         );
                 }
             };
             var results = testSuite.Execute();
             if (!breakTest)
             {
                 Console.WriteLine("\nТестовый файл удален.");
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("\nПрограмма прервана из-за непредвиденной ошибки: {0}", ex.Message.ToString());
     }
     Console.ReadLine();
 }