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()));
        }
示例#2
0
        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);
        }