internal async Task DownloadLatestVersionTest(OperatingSystem os) { var operatingSystemProvider = Substitute.For <IOperatingSystemProvider>(); operatingSystemProvider.GetOperatingSystem().Returns(x => os); var linkProvider = new LinkProvider(operatingSystemProvider); var ffmpegExecutablesPath = FFmpeg.ExecutablesPath; try { FFbinariesVersionInfo currentVersion = JsonConvert.DeserializeObject <FFbinariesVersionInfo>(File.ReadAllText(Resources.FFbinariesInfo)); FFmpeg.ExecutablesPath = "assemblies"; if (Directory.Exists("assemblies")) { Directory.Delete("assemblies", true); } FFmpegDownloader._linkProvider = linkProvider; await FFmpegDownloader.DownloadLatestVersion(currentVersion).ConfigureAwait(false); Assert.True(File.Exists(FFmpegDownloader.ComputeFileDestinationPath("ffmpeg", os))); Assert.True(File.Exists(FFmpegDownloader.ComputeFileDestinationPath("ffprobe", os))); } finally { FFmpeg.ExecutablesPath = ffmpegExecutablesPath; } }