Пример #1
0
        public void GetFileSize()
        {
            var testFile = CommonMethods.CreateTestFile();

            Crypt.EncryptFile(testFile.Path);

            var size = Crypt.GetFileSize(testFile.Path);

            CommonMethods.DeleteTestFile(testFile.Path);

            Assert.AreEqual(testFile.Size, size);
        }
Пример #2
0
        public void GetFileSizeSpeedTest()
        {
            var iterations = 100000;
            var fileInfo   = CommonMethods.CreateTestFile();


            long fileInfoSize  = 0;
            var  fileInfoWatch = Stopwatch.StartNew();

            //Parallel.For(0, iterations, (a) => fileInfoSize = new FileInfo(fileInfo.Path).Length);
            for (var i = 0; i < iterations; i++)
            {
                fileInfoSize = new FileInfo(fileInfo.Path).Length;
            }
            fileInfoWatch.Stop();
            var fileInfoSizeSpeed = (float)fileInfoWatch.ElapsedMilliseconds;


            Crypt.EncryptFile(fileInfo.Path);


            long discDataTransformSize  = 0;
            var  discDataTransformWatch = Stopwatch.StartNew();

            //Parallel.For(0, iterations, (a) => discDataTransformSize = Crypt.GetFileSize(fileInfo.Path));
            for (var i = 0; i < iterations; i++)
            {
                discDataTransformSize = Crypt.GetFileSize(fileInfo.Path);
            }
            discDataTransformWatch.Stop();
            var discDataTransformSpeed = (float)discDataTransformWatch.ElapsedMilliseconds;


            CommonMethods.DeleteTestFile(fileInfo.Path);


            Assert.AreEqual(fileInfoSize, discDataTransformSize);
            Assert.AreEqual(true, discDataTransformSpeed / fileInfoSizeSpeed < 2); // ~1.6 times slower
        }
        public override void Delete(string domain, string path)
        {
            if (path == null)
            {
                throw new ArgumentNullException("path");
            }
            var target = GetTarget(domain, path);

            if (File.Exists(target))
            {
                var size = crypt.GetFileSize(target);
                File.Delete(target);

                QuotaUsedDelete(domain, size);
            }
            else
            {
                throw new FileNotFoundException("file not found", target);
            }
        }