public void Parse_WhiteSpace_Test()
        {
            #region Stubs
            var entry = "  ";
            #endregion

            var result = PatternsParser.Parse(entry);

            #region Validations
            Assert.AreEqual(0, result.Length);
            #endregion
        }
        public void Parse_Null_Test()
        {
            #region Stubs
            string entry = null;
            #endregion

            var result = PatternsParser.Parse(entry);

            #region Validations
            Assert.AreEqual(0, result.Length);
            #endregion
        }
        public void Parse_Simple_Test()
        {
            #region Stubs
            var entry = "test";
            #endregion

            var result = PatternsParser.Parse(entry);

            #region Validations
            Assert.AreEqual(1, result.Length);
            Assert.AreEqual("test", result.First());
            #endregion
        }
        public void Parse_CommaSeparator_Test()
        {
            #region Stubs
            var entry = "test,test2";
            #endregion

            var result = PatternsParser.Parse(entry);

            #region Validations
            Assert.AreEqual(2, result.Length);
            Assert.AreEqual("test", result[0]);
            Assert.AreEqual("test2", result[1]);
            #endregion
        }
        public void Parse_SemicolonSeparator_EmptyEntry_WhiteSpace_Test()
        {
            #region Stubs
            var entry = "test; test2; ";
            #endregion

            var result = PatternsParser.Parse(entry);

            #region Validations
            Assert.AreEqual(2, result.Length);
            Assert.AreEqual("test", result[0]);
            Assert.AreEqual("test2", result[1]);
            #endregion
        }
        public ModerationRepository(ModerationSettings settings)
        {
            var parsedFollowersWhiteListing       = PatternsParser.Parse(settings.FollowersWhiteListing);
            var parsedFollowersBlackListing       = PatternsParser.Parse(settings.FollowersBlackListing);
            var parsedTwitterAccountsWhiteListing = PatternsParser.Parse(settings.TwitterAccountsWhiteListing);
            var parsedTwitterAccountsBlackListing = PatternsParser.Parse(settings.TwitterAccountsBlackListing);

            _followersWhiteListing = parsedFollowersWhiteListing
                                     .Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.Follower, x))
                                     .ToArray();
            _followersBlackListing = parsedFollowersBlackListing
                                     .Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.Follower, x))
                                     .ToArray();
            _twitterAccountsWhiteListing = parsedTwitterAccountsWhiteListing
                                           .Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.TwitterAccount, x))
                                           .ToArray();
            _twitterAccountsBlackListing = parsedTwitterAccountsBlackListing
                                           .Select(x => ModerationRegexParser.Parse(ModerationEntityTypeEnum.TwitterAccount, x))
                                           .ToArray();

            // Set Follower moderation politic
            if (_followersWhiteListing.Any())
            {
                _modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.WhiteListing);
            }
            else if (_followersBlackListing.Any())
            {
                _modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.BlackListing);
            }
            else
            {
                _modMode.Add(ModerationEntityTypeEnum.Follower, ModerationTypeEnum.None);
            }

            // Set Twitter account moderation politic
            if (_twitterAccountsWhiteListing.Any())
            {
                _modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.WhiteListing);
            }
            else if (_twitterAccountsBlackListing.Any())
            {
                _modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.BlackListing);
            }
            else
            {
                _modMode.Add(ModerationEntityTypeEnum.TwitterAccount, ModerationTypeEnum.None);
            }
        }
Example #7
0
 public PublicationRepository(InstanceSettings settings)
 {
     _unlistedAccounts = PatternsParser.Parse(settings.UnlistedTwitterAccounts);
 }