public void Run(RegressionEnvironment env)
            {
                var path = new RegressionPath();
                env.CompileDeploy("create schema SomeType ()", path);
                env.CompileDeploy(
                    "@Name('flow') create dataflow MyDataFlowOne MyOp -> outstream<SomeType> {propOne:'abc', propThree:'xyz'}",
                    path);

                var options = new EPDataFlowInstantiationOptions();
                var myParameterProvider = new MyParameterProvider(Collections.SingletonDataMap("propTwo", "def"));
                options.WithParameterProvider(myParameterProvider);

                env.Runtime.DataFlowService.Instantiate(env.DeploymentId("flow"), "MyDataFlowOne", options);
                var myOp = MyOp.GetAndClearInstances()[0];
                Assert.AreEqual("abc", myOp.PropOne);
                Assert.AreEqual("def", myOp.PropTwo);

                Assert.AreEqual(3, myParameterProvider.contextMap.Count);
                Assert.IsNotNull(myParameterProvider.contextMap.Get("propOne"));

                var context = myParameterProvider.contextMap.Get("propTwo");
                Assert.AreEqual("propTwo", context.ParameterName);
                Assert.AreEqual("MyOp", context.OperatorName);
                Assert.AreSame(myOp.Factory, context.Factory);
                Assert.AreEqual(0, context.OperatorNum);
                Assert.AreEqual("MyDataFlowOne", context.DataFlowName);

                context = myParameterProvider.contextMap.Get("propThree");
                Assert.AreEqual("propThree", context.ParameterName);
                Assert.AreEqual("MyOp", context.OperatorName);
                Assert.AreSame(myOp.Factory, context.Factory);
                Assert.AreEqual(0, context.OperatorNum);

                env.UndeployAll();
            }
Пример #2
0
 public double Evaluate()
 {
     if (MyOp == null)
     {
         return(Value);
     }
     return(MyOp.Evaluate(ChildNodes));
 }
Пример #3
0
        public void Calculate(MyOp oper)
        {
            Console.WriteLine("Calculator...");
            // Calculate
            int res = oper(4, 5);

            Console.WriteLine(res);

            // Show Result
        }
Пример #4
0
        public void AddParent()
        {
            var op1 = new MyOp();
            var op2 = new MyOp();

            op1.AddParent(op2);

            Assert.IsTrue(op1.Parents.Contains(op2));
            Assert.IsTrue(op2.Children.Contains(op1));
        }
Пример #5
0
        public void AddParent()
        {
            var cns = new ConvNetSharp <float>();
            var op1 = new MyOp(cns);
            var op2 = new MyOp(cns);

            op1.AddParent(op2);

            Assert.IsTrue(op1.Parents.Contains(op2));
            Assert.IsTrue(op2.Children.Contains(op1));
        }
Пример #6
0
        public void RemoveParent()
        {
            var op1 = new MyOp();
            var op2 = new MyOp();

            op1.AddParent(op2);

            op1.RemoveParent(op2);

            Assert.IsFalse(op1.Parents.Contains(op2));
            Assert.IsFalse(op2.Children.Contains(op1));
        }
Пример #7
0
        // Query using a custom group operation:
        private IDataList QueryBigOrders()
        {
            // get OrderDetails table
            dynamic od = workspace.table(Utils.OrderDetails.Name);
            // aggregate OrderDetails table
            dynamic qp = workspace.query("query_bigOrders", new
            {
                Product   = od.ProductID,                             // group by order
                BigOrders = MyOp.BigOrders(od.ProductID, od.Quantity) // how many big orders are made for each product
            });

            return(qp.Query.Execute());
        }
        public void ContextSwitchOperator_Monitoring()
        {
            var vals = new List <int>();
            var obv  = Observer.Create <int>(vals.Add, _ => { }, () => { });
            var myOp = new MyOp <int>(obv);

            using var ps = PhysicalScheduler.Create();
            using var ls = new LogicalScheduler(ps);

            ls.PauseAsync().Wait();

            var opCtx = new Context
            {
                InstanceId = new Uri("test://sub"),
                Scheduler  = ls,
            };

            new SubscriptionInitializeVisitor(myOp).Initialize(opCtx);

            var msgs = new List <int> {
                4, 3, 2, 1
            };

            var enqueueCount = 0;

            myOp.MonitorableQueue.Enqueueing += msg =>
            {
                Assert.AreEqual(msg, msgs[enqueueCount++]);
            };

            var countdown    = new CountdownEvent(msgs.Count);
            var dequeueCount = 0;

            myOp.MonitorableQueue.Dequeued += msg =>
            {
                Assert.AreEqual(msg, msgs[dequeueCount++]);
                countdown.Signal();
            };

            foreach (var msg in msgs)
            {
                myOp.OnNext(msg);
            }

            Assert.AreEqual(msgs.Count, myOp.MonitorableQueue.QueueSize);

            ls.Continue();

            countdown.Wait();
        }
Пример #9
0
        // Query using a custom operation:
        // custom discount information for all products
        private IDataList QueryProductCustomDiscount()
        {
            // get OrderDetails table
            dynamic od = workspace.table(Utils.OrderDetails.Name);
            // aggregate OrderDetails table
            dynamic qp = workspace.query("query_productCustomDiscount", new
            {
                ds          = MyOp.ProgressiveDiscount(od.UnitPrice, od.Discount, od.Quantity), // calculate discount for a product in an order
                Product     = od.ProductID,                                                     // group by product
                OrderCount  = Op.Count(od.OrderID),                                             // order count for a product
                DiscountSum = Op.Sum("ds")                                                      // total progressive discount for a product in all orders
            });

            return(qp.Query.Execute());
        }
Пример #10
0
        private void RunAssertionParameterInjectionCallback(EPServiceProvider epService)
        {
            epService.EPAdministrator.CreateEPL("create schema SomeType ()");
            epService.EPAdministrator.CreateEPL("create dataflow MyDataFlowOne MyOp -> outstream<SomeType> {propOne:'abc', propThree:'xyz'}");

            var myOp    = new MyOp("myid");
            var options = new EPDataFlowInstantiationOptions();

            options.OperatorProvider(new DefaultSupportGraphOpProvider(myOp));
            var myParameterProvider = new MyParameterProvider(Collections.SingletonDataMap("propTwo", "def"));

            options.ParameterProvider(myParameterProvider);
            Assert.AreEqual("myid", myOp.Id);
            Assert.IsNull(myOp.PropOne);
            Assert.IsNull(myOp.PropTwo);

            epService.EPRuntime.DataFlowRuntime.Instantiate("MyDataFlowOne", options);
            Assert.AreEqual("abc", myOp.PropOne);
            Assert.AreEqual("def", myOp.PropTwo);

            Assert.AreEqual(3, myParameterProvider.ContextMap.Count);
            Assert.IsNotNull(myParameterProvider.ContextMap.Get("propOne"));

            EPDataFlowOperatorParameterProviderContext context = myParameterProvider.ContextMap.Get("propTwo");

            Assert.AreEqual("propTwo", context.ParameterName);
            Assert.AreEqual("MyOp", context.OperatorName);
            Assert.AreSame(myOp, context.OperatorInstance);
            Assert.AreEqual(0, context.OperatorNum);
            Assert.AreEqual(null, context.ProvidedValue);
            Assert.AreEqual("MyDataFlowOne", context.DataFlowName);

            context = myParameterProvider.ContextMap.Get("propThree");
            Assert.AreEqual("propThree", context.ParameterName);
            Assert.AreEqual("MyOp", context.OperatorName);
            Assert.AreSame(myOp, context.OperatorInstance);
            Assert.AreEqual(0, context.OperatorNum);
            Assert.AreEqual("xyz", context.ProvidedValue);

            epService.EPAdministrator.DestroyAllStatements();
        }
Пример #11
0
        static void Main(string[] args)
        {
            OpSet set = new OpSet();

            MyOp op1 = set.Add;

            //op1 = op1 + set.Subtract + set.Add - set.Subtract;
            op1 += set.Subtract;
            op1 += set.Add;
            op1 -= set.Subtract;

            foreach (var fun in op1.GetInvocationList())
            {
                Console.WriteLine(fun.Method.Name);
            }

            int res = op1(3, 4);

            Console.WriteLine(res);



            return;

            Calculator math = new Calculator();

            //math.Calculate(Add);
            math.Calculate(set.Add);

            int  age  = 10;
            MyOp var1 = Rubbish;

            MyOp[] ops = new MyOp[3];

            int result = var1(3, 4);

            Console.WriteLine(result);
        }