public void TestStreamIntegrity() { using (Stream tar = new ThrottledStream(new MemoryStream(), 100)) { byte[] buf = DummyData.GenerateOrderedBytes(500); tar.Write(buf, 0, buf.Length); tar.Seek(0, SeekOrigin.Begin); byte[] buf2 = new byte[500]; tar.Read(buf2, 0, buf2.Length); Assert.IsTrue(buf.SequenceEqual(buf2)); } using (Stream tar = new ThrottledStream(new MemoryStream())) { byte[] buf = DummyData.GenerateOrderedBytes(4096); tar.Write(buf, 0, buf.Length); tar.Seek(0, SeekOrigin.Begin); byte[] buf2 = new byte[4096]; tar.Read(buf2, 0, buf2.Length); Assert.IsTrue(buf.SequenceEqual(buf2)); } using (Stream tar = new ThrottledStream(new MemoryStream(), 77)) { byte[] buf = DummyData.GenerateOrderedBytes(247); tar.Write(buf, 0, buf.Length); tar.Seek(0, SeekOrigin.Begin); byte[] buf2 = new byte[247]; tar.Read(buf2, 0, buf2.Length); Assert.IsTrue(buf.SequenceEqual(buf2)); } }
private void TestStreamIntegrity(int streamSize, long maximumBytesPerSecond) { // arrange byte[] data = DummyData.GenerateOrderedBytes(streamSize); byte[] copiedData = new byte[streamSize]; using Stream stream = new ThrottledStream(new MemoryStream(), maximumBytesPerSecond); // act stream.Write(data, 0, data.Length); stream.Seek(0, SeekOrigin.Begin); stream.Read(copiedData, 0, copiedData.Length); // assert Assert.AreEqual(streamSize, data.Length); Assert.AreEqual(streamSize, copiedData.Length); Assert.IsTrue(data.SequenceEqual(copiedData)); }
public virtual void Initial() { var testData = DummyData.GenerateOrderedBytes(DummyFileHelper.FileSize16Kb); _package = new DownloadPackage() { FileName = DummyFileHelper.SampleFile16KbName, Address = DummyFileHelper.GetFileWithNameUrl(DummyFileHelper.SampleFile16KbName, DummyFileHelper.FileSize16Kb), Chunks = new ChunkHub(Configuration).ChunkFile(DummyFileHelper.FileSize16Kb, 8), TotalFileSize = DummyFileHelper.FileSize16Kb }; foreach (var chunk in _package.Chunks) { chunk.Storage.WriteAsync(testData, (int)chunk.Start, (int)chunk.Length); } }
public void GetFileTest() { // arrange int size = 1024; byte[] bytes = new byte[size]; string url = DummyFileHelper.GetFileUrl(size); var dummyData = DummyData.GenerateOrderedBytes(size); // act var headers = ReadAndGetHeaders(url, bytes); // assert Assert.IsTrue(dummyData.SequenceEqual(bytes)); Assert.AreEqual(size.ToString(), headers["Content-Length"]); Assert.AreEqual(contentType, headers["Content-Type"]); }
public virtual void Initial() { var testData = DummyData.GenerateOrderedBytes(DownloadTestHelper.FileSize16Kb); Package = new DownloadPackage() { FileName = DownloadTestHelper.File16KbName, Address = DownloadTestHelper.File16KbUrl, Chunks = new ChunkHub(Configuration).ChunkFile(DownloadTestHelper.FileSize16Kb, 8), TotalFileSize = DownloadTestHelper.FileSize16Kb }; foreach (var chunk in Package.Chunks) { chunk.Storage.WriteAsync(testData, (int)chunk.Start, (int)chunk.Length); Package.AddReceivedBytes(chunk.Length); } }
public void TestPackageChunksDataAfterDispose() { // arrange var dummyData = DummyData.GenerateOrderedBytes(1024); Package.Chunks = new ChunkHub(Options).ChunkFile(1024 * 64, 64); foreach (var chunk in Package.Chunks) { chunk.Storage.WriteAsync(dummyData, 0, 1024).Wait(); } // act Dispose(); // assert Assert.IsNotNull(Package.Chunks); foreach (var chunk in Package.Chunks) { Assert.IsTrue(DummyFileHelper.AreEqual(dummyData, chunk.Storage.OpenRead())); } Package.Clear(); }