示例#1
0
        public XmlFileReaderTests()
        {
            var fileSecurity = new RoleBasedSecurity();
            var encryption   = new ReverseTextEncryption();

            _target = new XmlFileReader(encryption, fileSecurity);
        }
示例#2
0
        public TextFileReaderTests()
        {
            var encryptionAlgorithm = new ReverseTextEncryption();
            var roleBasedSecurity   = new RoleBasedSecurity();

            _target = new TextFileReader(encryptionAlgorithm, roleBasedSecurity);
        }
示例#3
0
        public void CanAccessFile_AdminRole_ReturnsTrue()
        {
            // Arrange
            const string adminRole = "admin";

            var target = new RoleBasedSecurity();

            // Act
            var result = target.CanAccessFile(adminRole);

            // Assert
            result.Should().BeTrue();
        }
示例#4
0
        public void CanAccessFile_UserRole_ReturnsFalse()
        {
            // Arrange
            const string userRole = "user";

            var target = new RoleBasedSecurity();

            // Act
            var result = target.CanAccessFile(userRole);

            // Assert
            result.Should().BeFalse();
        }
示例#5
0
        public static IFileReader FromFileType(FileTypes fileType)
        {
            var encryption = new ReverseTextEncryption();
            var security   = new RoleBasedSecurity();

            switch (fileType)
            {
            case FileTypes.Text:
                return(new TextFileReader(encryption, security));

            case FileTypes.Xml:
                return(new XmlFileReader(encryption, security));

            case FileTypes.Json:
                return(new JsonFileReader(encryption, security));

            default:
                throw new ArgumentOutOfRangeException(nameof(fileType), fileType, null);
            }
        }