public void NormalUploadTest()
        {
            this.mockedDocument.Setup(doc => doc.SetContentStream(It.IsAny <IContentStream>(), It.Is <bool>(b => b == true), It.Is <bool>(b => b == true)))
            .Callback <IContentStream, bool, bool>((s, b, r) => s.Stream.CopyTo(this.mockedMemStream.Object))
            .Returns(new Mock <IObjectId>().Object);
            using (IFileUploader uploader = new SimpleFileUploader()) {
                transmission.AddLengthConstraint(Is.EqualTo(0).Or.EqualTo(this.localContent.Length));
                transmission.AddPositionConstraint(Is.LessThanOrEqualTo(this.localContent.Length));

                IDocument result = uploader.UploadFile(this.mockedDocument.Object, this.localFileStream, this.transmission, this.hashAlg);

                Assert.AreEqual(result, this.mockedDocument.Object);
                Assert.AreEqual(this.localContent.Length, this.mockedMemStream.Object.Length);
                Assert.AreEqual(SHA1Managed.Create().ComputeHash(this.localContent), this.hashAlg.Hash);
                this.mockedMemStream.Object.Seek(0, SeekOrigin.Begin);
                Assert.AreEqual(SHA1Managed.Create().ComputeHash(this.mockedMemStream.Object), this.hashAlg.Hash);
            }
        }