Esempio n. 1
0
        public void CheckValidatorOnDataSuite1()
        {
            var validator = new FileSystemArtifactNamesValidator(new char[] { ',', '.', '!' }, 255);

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidNameException>(
                delegate
            {
                validator.Validate("dfngsfdjgliulirhliuhrelt!eriih4u3jjoj43o");
            });

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidNameException>(
                delegate
            {
                validator.Validate(".......................");
            });

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidNameException>(
                delegate
            {
                validator.Validate(",';'';';';';';''");
            });

            validator.Validate("12435");
            validator.Validate("kfmlksmklgmelglemlgmel");
            validator.Validate("@$#@%$@#^#%$^&$%&%^*%&^");
        }
Esempio n. 2
0
        public void TryFormattingADiskAndInitializingFileSystemWithIt()
        {
            Stream stream = new MemoryStream(); // System.IO.File.Open(@"c:\bs.bin", FileMode.Create);

            var formatter = new VirtualDiskFormatter();

            VirtualDisk disk = VirtualDisk.CreateFormattingTheStream(stream, 2048, 2048 * 5000);

            var diskStructuresManager = new FileSystemNodeStorage(disk);

            formatter.Format(disk, diskStructuresManager);

            FileSystemHeader header = diskStructuresManager.ReadFileSystemHeader(VirtualDiskFormatter.FileSystemHeaderBlockIndex);

            var nameValidator = new FileSystemArtifactNamesValidator(Constants.IllegalCharactersForNames, Constants.FileAndFolderMaximumNameLength);

            var pathValidator = new PathValidator(VirtualFileSystem.Root, Constants.IllegalCharactersForPaths, nameValidator, VirtualFileSystem.DirectorySeparatorChar);

            var pathBuilder = PathBuilder.Default;

            var nodeResolver = new NodeResolver(disk, diskStructuresManager, StringComparer.OrdinalIgnoreCase, header.RootBlockOffset, VirtualFileSystem.Root, VirtualFileSystem.DirectorySeparatorChar, pathValidator, pathBuilder);

            VirtualFileSystem fileSystem = VirtualFileSystem.CreateFromDisk(disk, StringComparer.OrdinalIgnoreCase, nodeResolver, pathBuilder, nameValidator, pathValidator);

            Assert.AreEqual(2048, fileSystem.FileSystemInfo.BlockSizeInBytes);
            Assert.AreEqual(new Version(1, 0, 0, 0), fileSystem.FileSystemInfo.Version);
        }
Esempio n. 3
0
        public void CheckValidatorOnDataSuite2()
        {
            var validator = new FileSystemArtifactNamesValidator(new char[] { }, Constants.FileAndFolderMaximumNameLength);

            validator.Validate("12435");
            validator.Validate("kfmlksmklgmelglemlgmel");
            validator.Validate("@$#@%$@#^#%$^&$%&%^*%&^");
        }
Esempio n. 4
0
        public void MakeSureValidatorDoesNotLetNullAndEmptyStringThrough()
        {
            var validator = new FileSystemArtifactNamesValidator(new char[0], 24);

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidNameException>(
                delegate
            {
                validator.Validate(null);
            });

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidNameException>(
                delegate
            {
                validator.Validate(String.Empty);
            });
        }
        public void TestValidatorOnDataSuite2()
        {
            var namesValidator = new FileSystemArtifactNamesValidator(Constants.IllegalCharactersForNames, Constants.FileAndFolderMaximumNameLength);
            var validator      = new PathValidator(VirtualFileSystem.Root, Constants.IllegalCharactersForPaths, namesValidator, VirtualFileSystem.DirectorySeparatorChar);

            validator.Validate(VirtualFileSystem.Root);

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidPathException>(
                delegate
            {
                validator.Validate("dfngsfdjgliulirhliuhrelteriih4u3jjoj43o");
            });

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidPathException>(
                delegate
            {
                validator.Validate("\\dfngsfdjgliulirhliuhrelteriih4u3jjoj43oeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffffffffffffffffffffffffffffffffffffsssssssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeevvvvvvvvvvvvvvvvvvvvvvoidjgoidjgiojrtoigjirotghiorhtiohrtiohoirthoiroigneoignoiengoineoirgnoirengorengoenrognerognoerngoernogneoreoi");
            });

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidPathException>(
                delegate
            {
                validator.Validate(@"\\\\");
            });

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidPathException>(
                delegate
            {
                validator.Validate("\\*");
            });

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidPathException>(
                delegate
            {
                validator.Validate("");
            });

            ExceptionAssert.MakeSureExceptionIsRaisedBy <InvalidPathException>(
                delegate
            {
                validator.Validate(null);
            });

            validator.Validate("\\kfmlksmkl\\rootlemlgmel");
        }
Esempio n. 6
0
 private void InitializeValidator()
 {
     _nameValidator = new FileSystemArtifactNamesValidator(Constants.IllegalCharactersForNames, Constants.FileAndFolderMaximumNameLength); //Note: легко видеть, что обычно я передаю collaborators извне, для повышения тестируемости и уменьшения связности классов. Этот же конструируется на месте - не успеваю от этого избавиться.
 }