예제 #1
0
            public void Run(RegressionEnvironment env)
            {
                SendTimer(env, 0);

                var epl = "@Name('s0') select " +
                          "current_evaluation_context() as c0, " +
                          "current_evaluation_context(), " +
                          "current_evaluation_context().GetRuntimeURI() as c2 from SupportBean";
                var resolver  = new StatementUserObjectOption(_ => "my_user_object");
                var arguments = new CompilerArguments(new Configuration());

                arguments.Options.StatementUserObject = resolver;
                var compiled = env.Compile(soda, epl, arguments);

                env.Deploy(compiled).AddListener("s0").Milestone(0);
                Assert.AreEqual(typeof(EPLExpressionEvaluationContext), env.Statement("s0").EventType.GetPropertyType("current_evaluation_context()"));

                env.SendEventBean(new SupportBean());
                var @event = env.Listener("s0").AssertOneGetNewAndReset();
                var ctx    = (EPLExpressionEvaluationContext)@event.Get("c0");

                Assert.AreEqual(env.RuntimeURI, ctx.RuntimeURI);
                Assert.AreEqual(env.Statement("s0").Name, ctx.StatementName);
                Assert.AreEqual(-1, ctx.ContextPartitionId);
                Assert.AreEqual("my_user_object", ctx.StatementUserObject);
                Assert.AreEqual(env.RuntimeURI, @event.Get("c2"));

                env.UndeployAll();
            }
예제 #2
0
 public CompilerOptions SetStatementUserObject(StatementUserObjectOption value)
 {
     StatementUserObject = value;
     return this;
 }