Esempio n. 1
0
        public void Finished()
        {
            "分配两段,在全部下载完成之后,那么下载完成".Test(() =>
            {
                const long fileLength = 1000;
                var segmentManager    = new SegmentManager(fileLength);

                var firstDownloadSegment  = segmentManager.GetNewDownloadSegment();
                var secondDownloadSegment = segmentManager.GetNewDownloadSegment();
                secondDownloadSegment.DownloadedLength = fileLength / 2;
                firstDownloadSegment.DownloadedLength  = fileLength / 2;

                Assert.AreEqual(true, segmentManager.IsFinished());
            });

            "只分配一段,在一段没有完成,那么下载没有完成".Test(() =>
            {
                const long fileLength = 1000;
                var segmentManager    = new SegmentManager(fileLength);

                var firstDownloadSegment = segmentManager.GetNewDownloadSegment();
                Assert.AreEqual(fileLength, firstDownloadSegment.RequirementDownloadPoint);
                firstDownloadSegment.DownloadedLength = fileLength / 2;

                Assert.AreEqual(false, segmentManager.IsFinished());
            });

            "只分配一段,在一段下载完成之后,那么下载完成".Test(() =>
            {
                const long fileLength = 1000;
                var segmentManager    = new SegmentManager(fileLength);

                var firstDownloadSegment = segmentManager.GetNewDownloadSegment();
                Assert.AreEqual(fileLength, firstDownloadSegment.RequirementDownloadPoint);
                firstDownloadSegment.DownloadedLength = fileLength;

                Assert.AreEqual(true, segmentManager.IsFinished());
            });
        }