public void ForbidTypesAttribute_ShouldThrowExceptionIfNoExtensionsProvided(string fileName, string[] allowedExtensions)
        {
            var stream = FileHelpers.ReadFile(fileName);

            var attributeToTest = new ForbidTypesAttribute(allowedExtensions);

            Assert.Throws <InvalidOperationException>(() => attributeToTest.IsValid(stream));
        }
        public void ForbidTypesAttribute_ShouldForbidPointedTypes(string fileName, string[] forbidedExtensions, bool expectedResult)
        {
            var stream = FileHelpers.ReadFile(fileName);

            var attributeToTest = new ForbidTypesAttribute(forbidedExtensions);

            Assert.AreEqual(expectedResult, attributeToTest.IsValid(stream));
        }
        public void ForbidTypesAttribute_ShouldReturnFalseIfOneOfFilesIsForbiden()
        {
            var fileNames = new[] { "test.zip", "test.jpg", "test.png" };
            var files     = FileHelpers.ReadFiles(fileNames);

            var attributeToTest = new ForbidTypesAttribute(FileExtension.Zip);

            Assert.IsFalse(attributeToTest.IsValid(files));
        }
        public void ForbidTypesAttribute_ShouldValidateMultipleFiles()
        {
            var fileNames = new[] { "test.zip", "test.7z", "test.gz" };
            var files     = FileHelpers.ReadFiles(fileNames);

            var attributeToTest = new ForbidTypesAttribute(FileExtension.Jpg);

            Assert.IsTrue(attributeToTest.IsValid(files));
        }