protected virtual void Dispose(bool disposing) { if (!disposing || _testDirectory?.Parent == null) { return; } var regex = new Regex(CurrentTestName + @"_(?<timestamp>[\d]{16})"); var oldDirectories = _testDirectory.Parent.EnumerateDirectories() .Where(d => { var matches = regex.Matches(d.Name); if (matches.Count == 0) { return(false); } if (!DateTime.TryParseExact(matches[0].Groups["timestamp"].Value, "yyMMddHHmmssffff", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out var previousTestTimeStamp)) { return(false); } var isTestAtLeastAMinuteOld = _testStartTime.Subtract(previousTestTimeStamp) > TimeSpan.FromMinutes(1); return(isTestAtLeastAMinuteOld); }) .ToList(); oldDirectories.ForEach(TryDeleteFolder); ContainerProvider?.Dispose(); }
private void Dispose(bool disposing) { if (!disposing) { return; } _scope?.Dispose(); _peerRepository?.Dispose(); _containerProvider?.Dispose(); }
protected virtual void Dispose(bool disposing) { if (!disposing || _testDirectory?.Parent == null) { return; } var regex = new Regex(CurrentTestName + @"_(?<timestamp>[\d]{16})"); var oldDirectories = _testDirectory.Parent.EnumerateDirectories() .Where(d => regex.IsMatch(d.Name) && string.CompareOrdinal(d.Name, _testDirectory.Name) == -1) .ToList(); oldDirectories.ForEach(TryDeleteFolder); ContainerProvider?.Dispose(); }