Пример #1
0
        /// <summary>
        /// Checks if the rule is valid for the statement
        /// </summary>
        /// <param name="statement">The statement</param>
        /// <returns>True if valid, otherwise false</returns>
        public override bool IsValidFor(StatementBase statement)
        {
            MemberStatement memberStatement   = (MemberStatement)statement;
            bool            matchesExpression = _expression.IsMatch(memberStatement.MemberNameToken.Content);

            //either true or must be public static to be true
            return(matchesExpression || (memberStatement.AccessModifierToken is PublicModifierToken && memberStatement.StaticToken != null));
        }
Пример #2
0
        public void AccessModifierTokenPropertyShouldReturnNullIfNoAccessModifier()
        {
            IList <TokenBase> input = new List <TokenBase>();

            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(TokenCreator.Create <IdentifierToken>("String"));
            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(TokenCreator.Create <IdentifierToken>("memberName"));
            input.Add(TokenCreator.Create <SemiColonToken>());

            MemberStatement statement = new MemberStatement(input, null);

            Assert.IsNull(statement.AccessModifierToken);
        }
Пример #3
0
        public void StaticTokenPropertyShouldReturnNullIfNoStaticToken()
        {
            TokenBase expected = TokenCreator.Create <IdentifierToken>("memberName");

            IList <TokenBase> input = new List <TokenBase>();

            input.Add(TokenCreator.Create <PrivateModifierToken>());
            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(TokenCreator.Create <IdentifierToken>("String"));
            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(expected);
            input.Add(TokenCreator.Create <SemiColonToken>());

            MemberStatement statement = new MemberStatement(input, null);

            Assert.IsNull(statement.StaticToken);
        }
Пример #4
0
        public void AccessModifierTokenPropertyShouldReturnAccessModifier()
        {
            TokenBase expected = TokenCreator.Create <PrivateModifierToken>();

            IList <TokenBase> input = new List <TokenBase>();

            input.Add(expected);
            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(TokenCreator.Create <IdentifierToken>("String"));
            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(TokenCreator.Create <IdentifierToken>("test"));
            input.Add(TokenCreator.Create <SemiColonToken>());

            MemberStatement statement = new MemberStatement(input, null);

            Assert.AreEqual(expected, statement.AccessModifierToken);
        }
Пример #5
0
        public void RuleShouldReturnValidForStatementsThatDoNotMatchThePatternButArePublicStatic()
        {
            MemberNameMatchesPatternRule rule = new MemberNameMatchesPatternRule(new Regex("^_[a-z]+"), true);

            IList <TokenBase> input = new List <TokenBase>();

            input.Add(TokenCreator.Create <PublicModifierToken>());
            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(TokenCreator.Create <StaticToken>());
            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(TokenCreator.Create <IdentifierToken>("String"));
            input.Add(TokenCreator.Create <SpaceToken>());
            input.Add(TokenCreator.Create <IdentifierToken>("Test"));
            input.Add(TokenCreator.Create <SemiColonToken>());

            MemberStatement member = new MemberStatement(input, null);

            Assert.IsTrue(rule.IsValidFor(member));
        }
Пример #6
0
 public override void SetUp()
 {
     base.SetUp();
     _statement = StatementCreator.CreateMemberStatement("member");
 }