private void OnZippingProgress (StreamCopyProgressEventArgs currentFileProgress, string currentFilePath)
    {
      if (Progress != null)
      {
        var currentFileValue = currentFileProgress.CurrentValue;
        var currentTotalValue = _currentTotalValueExcludingCurrentFileValue + currentFileValue;
        var archiveBuilderProgressEventArgs = new ArchiveBuilderProgressEventArgs (
            currentFileValue,
            currentTotalValue,
            _currentFileIndex,
            currentFilePath);

        archiveBuilderProgressEventArgs.Cancel = currentFileProgress.Cancel;
        Progress (this, archiveBuilderProgressEventArgs);
        currentFileProgress.Cancel = archiveBuilderProgressEventArgs.Cancel;
      }
    }
 private void AssertBuildProgress (ArchiveBuilderProgressEventArgs args, long expectedTotalValue, long expectedCurrentFileValue, int expectedFileIndex, string expectedFileFullName)
 {
   Assert.That (args.CurrentTotalValue, Is.EqualTo (expectedTotalValue));
   Assert.That (args.CurrentFileValue, Is.EqualTo (expectedCurrentFileValue));
   Assert.That (args.CurrentFileIndex, Is.EqualTo (expectedFileIndex));
   Assert.That (args.CurrentFileFullName, Is.EqualTo (expectedFileFullName));
 }