public void PieceIndex_FirstFile() { var pieceLength = Piece.BlockSize; var files = TorrentFileInfo.Create(pieceLength, 1024, 1024, 1024, pieceLength - 3 * 1024); Assert.AreEqual(0, IPieceWriterExtensions.FindFileByPieceIndex(files, 0)); }
public void PieceIndex_EmptyFileAtEnd() { var pieceLength = Piece.BlockSize; var files = TorrentFileInfo.Create(pieceLength, 1024, 1024, 1024, pieceLength - 3 * 1024, Piece.BlockSize, 0); Assert.AreEqual(files.Length - 2, IPieceWriterExtensions.FindFileByPieceIndex(files, 1)); }
public void Offset_EmptyFileAtEnd() { var pieceLength = Piece.BlockSize; var files = TorrentFileInfo.Create(pieceLength, 1024, 1024, 1024, pieceLength - 3 * 1024, Piece.BlockSize, 0); Assert.AreEqual(files.Length - 1, IPieceWriterExtensions.FindFileByOffset(files, Piece.BlockSize * 2 - 1, pieceLength)); }
public void Offset_TwoEmptyFilesAtEnd() { var pieceLength = Piece.BlockSize; // If two files start at the same offset (which zero length files do), then the files are ordered based on // their length. This way zero length files are never the last file, unless the whole torrent is empty. Which is nonsense :p var files = TorrentFileInfo.Create(pieceLength, 1024, 1024, 1024, pieceLength - 3 * 1024, Piece.BlockSize, 0, 0); Assert.AreEqual(files.Length - 1, IPieceWriterExtensions.FindFileByOffset(files, Piece.BlockSize * 2 - 1, pieceLength)); }
public void Offset_FirstFile() { var pieceLength = Piece.BlockSize; var files = TorrentFileInfo.Create(pieceLength, 1024, 1024, 1024, pieceLength - 3 * 1024); Assert.AreEqual(0, IPieceWriterExtensions.FindFileByOffset(files, 0, pieceLength)); Assert.AreEqual(0, IPieceWriterExtensions.FindFileByOffset(files, 1023, pieceLength)); Assert.AreEqual(1, IPieceWriterExtensions.FindFileByOffset(files, 1024, pieceLength)); }
public void Offset_Invalid() { var files = TorrentFileInfo.Create(Piece.BlockSize, 1024); Assert.Less(IPieceWriterExtensions.FindFileByOffset(files, Piece.BlockSize * 5, Piece.BlockSize), 0); }
public void PieceIndex_Invalid() { var files = TorrentFileInfo.Create(Piece.BlockSize, 1024); Assert.Less(IPieceWriterExtensions.FindFileByPieceIndex(files, 1), 0); }