コード例 #1
0
        public void IsFalse_ForNotWithinTarget(string expression)
        {
            //act
            var func = Compiler.Compile(new PointcutExpression(expression, null), null);

            var result = _module.FilterModule(func);

            //assert
            Assert.False(result.Any());
        }
コード例 #2
0
        public void SimpleWithin()
        {
            //arrange
            var env = CreateEnvironment(("user-service", @"(within @TestDataForCompiler.Services.UserService.Get)"));

            //act
            var func = Compiler.Compile(new PointcutExpression("(user-service)", null), env);

            var result = _module.FilterModule(func);

            //assert
            Assert.Single(result);
            Assert.Equal("Get", result[0].Name);
        }
コード例 #3
0
        public void Empty(string expression)
        {
            //arrange
            var emptyArgsMethod = ArgsMethods.First(m => m.Name == "Empty");

            //act
            var func = Compiler.Compile(new PointcutExpression(expression, emptyArgsMethod), null);

            var result = _module.FilterModule(func);

            //assert
            Assert.Contains(result, m => m.Name == "Empty" && m.DeclaringType.Name == "ArgsMethods");
        }
コード例 #4
0
        public void Within(string expression)
        {
            //act
            var func = Compiler.Compile(new PointcutExpression(expression, null), null);

            var result = _module.FilterModule(func);

            //assert
            Assert.Equal(2, result.Count);
            Assert.Equal("Get", result[0].Name);
            Assert.Equal("Get", result[1].Name);
        }
コード例 #5
0
ファイル: OrElseTests.cs プロジェクト: GeorgePetri/Demon
        public void Within()
        {
            //arrange
            const string expression = @"(or (within @TestDataForCompiler.Services.**) (within @**.Post))";

            //act
            var func = Compiler.Compile(new PointcutExpression(expression, null), null);

            var result = _module.FilterModule(func);

            //assert
            Assert.Equal(4, result.Count);
        }
コード例 #6
0
        public void Negates_Within()
        {
            //arrange
            const string expression = @"(not (within @TestDataForCompiler.Services.UserService.Get))";

            //act
            var func = Compiler.Compile(new PointcutExpression(expression, null), null);

            var result = _module.FilterModule(func);

            //assert
            Assert.DoesNotContain(result, m => m.DeclaringType.Name == "UserService");
        }