public void CacheDirectory_IsFile_UpdateSettings() { var engine = new ClientEngine(EngineSettingsBuilder.CreateForTests()); var tmp = TempDir.Create(); var cachePath = Path.Combine(tmp.Path, "test.file"); using (var file = File.Create(cachePath)) { } Assert.ThrowsAsync <ArgumentException> (() => engine.UpdateSettingsAsync(new EngineSettingsBuilder { CacheDirectory = cachePath }.ToSettings())); }
public async Task UsePartialFiles_InitiallyOn_ToggleOff() { var pieceLength = Constants.BlockSize * 4; var engine = new ClientEngine(EngineSettingsBuilder.CreateForTests(usePartialFiles: true)); var torrent = TestRig.CreateMultiFileTorrent(TorrentFile.Create(pieceLength, Constants.BlockSize, Constants.BlockSize * 2, Constants.BlockSize * 3), pieceLength, out BEncoding.BEncodedDictionary _); var manager = await engine.AddAsync(torrent, ""); Assert.AreNotEqual(manager.Files[0].DownloadCompleteFullPath, manager.Files[0].DownloadIncompleteFullPath); var settings = new EngineSettingsBuilder(engine.Settings) { UsePartialFiles = false }.ToSettings(); await engine.UpdateSettingsAsync(settings); Assert.AreEqual(manager.Files[0].DownloadCompleteFullPath, manager.Files[0].DownloadIncompleteFullPath); }