public TestHistoryEntry(string commanderRunId, string testRunId, TestCaseReport e)
 {
     FullName       = e.FullName;
     CommanderRunId = commanderRunId;
     TestRunId      = testRunId;
     IsPass         = e.TestStatus != TestStatus.Fail;
     Duration       = e.Duration;
     TestDate       = e.EndTime;
 }
 public TestCaseReport(TestCaseReport dataEvent)
 {
     // clone the entire object
     if (dataEvent.Id != null)
     {
         Id = new string(dataEvent.Id.ToCharArray());
     }
     if (dataEvent.Runtime != null)
     {
         Runtime = new string(dataEvent.Runtime.ToCharArray());
     }
     if (dataEvent.RuntimeVersion != null)
     {
         RuntimeVersion = new string(dataEvent.RuntimeVersion.ToCharArray());
     }
     if (dataEvent.TestSuite != null)
     {
         TestSuite = new string(dataEvent.TestSuite.ToCharArray());
     }
     if (dataEvent.TestSuite != null)
     {
         TestSuite = new string(dataEvent.TestSuite.ToCharArray());
     }
     if (dataEvent.TestName != null)
     {
         TestName = new string(dataEvent.TestName.ToCharArray());
     }
     if (dataEvent.FullName != null)
     {
         FullName = new string(dataEvent.FullName.ToCharArray());
     }
     TestResult = dataEvent.TestResult;
     TestStatus = dataEvent.TestStatus;
     StartTime  = dataEvent.StartTime;
     EndTime    = dataEvent.EndTime;
     Duration   = dataEvent.Duration;
     if (dataEvent.TestOutput != null)
     {
         TestOutput = new string(dataEvent.TestOutput.ToCharArray());
     }
     if (dataEvent.ErrorMessage != null)
     {
         ErrorMessage = new string(dataEvent.ErrorMessage.ToCharArray());
     }
     if (dataEvent.StackTrace != null)
     {
         StackTrace = new string(dataEvent.StackTrace.ToCharArray());
     }
     Asserts   = dataEvent.Asserts;
     IsSkipped = dataEvent.IsSkipped;
 }