Esempio n. 1
0
        public void NonGenericMemberReturnsNullTypeArg()
        {
            dynamic d = new Dyn();
            Type    t = d.NonGeneric();

            Assert.IsNull(t);
        }
        public void ShouldHandleAggregate()
        {
            var query = _query.Select(o => o.Id);

            var sumId1    = query.Aggregate((i1, i2) => i1 + i2);
            var dynSumId1 = query.Aggregate("(i1, i2) => i1 + i2");

            Assert.Equal(sumId1, dynSumId1);

            var sumId2    = query.Aggregate(42, (i1, i2) => i1 + i2);
            var dynSumId2 = query.Aggregate(42, "(i1, i2) => i1 + i2");

            Assert.Equal(sumId2, dynSumId2);

            var sumId3    = query.Aggregate(42, (i1, i2) => i1 + i2, i => i.ToString());
            var dynSumId3 = query.Aggregate(42, "(i1, i2) => i1 + i2", "i => i.ToString()");

            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(null, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(_query, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(null, (object)null, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(_query, (object)null, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(_query, 42, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(null, (object)null, "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(_query, (object)null, "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(_query, 42, "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Aggregate(_query, 42, "Id", ""));
        }
Esempio n. 3
0
        public void GetDynamicGenericArguments()
        {
            dynamic d = new Dyn();
            Type    t = d.Generic <int>();

            Assert.AreEqual(t, typeof(int));
        }
        public void ShouldHandleGroupBy()
        {
            var lines = _query.SelectMany(o => o.Lines).ToList().AsQueryable();

            var group1    = lines.GroupBy(l => l.OrderId, l => l.Id, (k, lid) => lid.Count()).ToList();
            var dynGroup1 = lines.GroupBy("l => l.OrderId", "l => l.Id", "(k, lid) => lid.Count()").Cast <int>().ToList();

            var group2    = lines.GroupBy(l => l.OrderId, (k, l) => l.Count()).ToList();
            var dynGroup2 = lines.GroupBy("l => l.OrderId", "(k, l) => l.Count()").Cast <int>().ToList();

            var group3    = lines.GroupBy(l => l.OrderId).ToList();
            var dynGroup3 = lines.GroupBy("l => l.OrderId").Cast <IGrouping <int, OrderLine> >().ToList();

            Assert.Equal(group1, dynGroup1);
            Assert.Equal(group2, dynGroup2);
            Assert.Equal(group3, dynGroup3);
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(null, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(_query, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(null, "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(_query, "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(_query, "Id", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(null, "", "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(_query, "", "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(_query, "Id", "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.GroupBy(_query, "Id", "Id", ""));
        }
        public void ShouldHandleTake()
        {
            var orders    = _query.Take(3);
            var dynOrders = ((IQueryable)_query).Take(3);

            Assert.Equal(orders, dynOrders);
            Assert.Throws <ArgumentNullException>(() => Dyn.Take(null, 1));
        }
        public void ShouldHandleSelectMany()
        {
            var lines    = _query.SelectMany(o => o.Lines).ToList();
            var dynLines = _query.SelectMany("o => o.Lines").Cast <OrderLine>().ToList();

            Assert.Equal(lines, dynLines);
            Assert.Throws <ArgumentNullException>(() => Dyn.SelectMany(null, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.SelectMany(_query, ""));
        }
Esempio n. 7
0
 public Channel(string baseAddress)
 {
     _baseAddress = baseAddress;
     Config = new Config(_baseAddress);
     Preamp = new Preamp(_baseAddress);
     Gate = new Gate(_baseAddress);
     Dyn = new Dyn(_baseAddress);
     Eq = new Eq4(_baseAddress);
     Mix = new Mix(_baseAddress);
     Grp = new Grp(_baseAddress);
     Automix = new Automix(_baseAddress);
 }
        public void ShouldHandleZip()
        {
            var lineCounts = _query.Select(o => o.Lines.Count).ToList();

            var zip    = _query.Zip(lineCounts, (o, l) => o.Id + l).ToList();
            var dynZip = _query.Zip(lineCounts, "(o, l) => o.Id + l").Cast <int>().ToList();

            Assert.Equal(zip, dynZip);

            Assert.Throws <ArgumentNullException>(() => Dyn.Zip <int>(null, (IEnumerable <int>)null, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Zip <int>(_query, (IEnumerable <int>)null, ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Zip <int>(_query, Enumerable.Empty <int>(), ""));
        }
Esempio n. 9
0
        private void EndSelect(object sender, MouseEventArgs e)
        {
            var pb = CheckCanDrawRect(sender, e);

            if (pb == null)
            {
                return;
            }

            var currentPoint = new Point(e.X, e.Y);

            _mouseMovingState.End = currentPoint;

            var rect = GetRectangle(_mouseMovingState.Start, _mouseMovingState.End);

            if ((rect.Width < 2 || rect.Height < 2) && _analisysMode != AnalisysMode.TrackPoint)
            {
                _mouseMovingState = null;
                return;
            }
            DrawRectangle(rect);

            var pt1   = _processor.Current.MapToRGFrame(new Point(rect.Left, rect.Bottom));
            var pt2   = _processor.Current.MapToRGFrame(new Point(rect.Right, rect.Top));
            var rectF = new RectangleF(pt1.X, pt1.Y, pt2.X - pt1.X, pt2.Y - pt1.Y);

            switch (_analisysMode)
            {
            case AnalisysMode.Zoom:
                _processor.CreateNew(rectF, _plotPanel.Size);
                _processor.Draw();
                break;

            case AnalisysMode.TrackPoint:
                _processor.StartTrackPoint(pt1, _plotPanel.Size);
                _processor.Draw();
                var dynT = new Dyn(this);
                dynT.Show();
                break;

            case AnalisysMode.TrackBoundary:
                _processor.StartBoundaryAnalysis(rectF, _plotPanel.Size);
                _processor.Draw();
                var dyn = new Dyn(this);
                dyn.Show();
                break;
            }

            _mouseMovingState = null;
        }
        public void ShouldHandleWhere()
        {
            var orders     = _query.Where(o => o.Id > AvgId).ToList();
            var dynOrders1 = _query.Where("o => o.Id > @0", AvgId).ToList();
            var dynOrders2 = _query.Where("o => o.Id > AvgId", new Dictionary <string, object> {
                { "AvgId", AvgId }
            }).ToList();
            var dynOrders3 = ((IQueryable)_query).Where("Id > @0", AvgId).Cast <Order>().ToList();

            Assert.Equal(orders, dynOrders1);
            Assert.Equal(orders, dynOrders2);
            Assert.Equal(orders, dynOrders3);
            Assert.Throws <ArgumentNullException>(() => Dyn.Where(_query, ""));
        }
        public void ShouldHandleJoin()
        {
            var orders = _query.ToList().AsQueryable();
            var lines  = _query.SelectMany(o => o.Lines).ToList().AsQueryable();

            var join    = orders.Join(lines, o => o.Id, l => l.OrderId, (o, l) => o.Id + l.Id).ToList();
            var dynJoin = orders.Join(lines, "o => o.Id", "l => l.OrderId", "(o, l) => o.Id + l.Id").Cast <int>().ToList();

            Assert.Equal(join, dynJoin);

            Assert.Throws <ArgumentNullException>(() => Dyn.Join(null, null, "", "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Join(_query, null, "", "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Join(_query, _query, "", "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Join(_query, _query, "Id", "", ""));
            Assert.Throws <ArgumentNullException>(() => Dyn.Join(_query, _query, "Id", "Id", ""));
        }
Esempio n. 12
0
    static void Main(string[] args)
    {
        dynamic a = new Dyn("a");
        dynamic b = new Dyn("b");
        dynamic c = new Dyn("c");

        var correct = a && b || c;

        var engine = Python.CreateEngine();
        var scope  = engine.CreateScope();

        scope.SetVariable("a", a);
        scope.SetVariable("b", b);
        scope.SetVariable("c", c);
        var incorrect = engine.Execute("a and b or c", scope);

        Console.WriteLine("Correct: " + correct);
        Console.WriteLine("Incorrect: " + incorrect);
    }
Esempio n. 13
0
        public override byte[] Decrypt(byte[] data)
        {
            byte[] g  = new byte[0];
            var    i0 = 0;
            var    i1 = 16;
            var    i2 = 32;

            for (var h = 1; h < data.Length / 16; h++)
            {
                var f = data.slice(i1, i2);
                base.Decrypt(f);
                g   = Dyn.concat(g, blockXOR(data, i0, f, 0));
                i0  = i1;
                i1  = i2;
                i2 += 16;
            }
            g = depad(g);
            return(g);
        }
        public void ShouldHandleFirst()
        {
            var order     = _query.First(o => o.Id > AvgId);
            var dynOrder1 = _query.First("o => o.Id > @0", AvgId);
            var dynOrder2 = _query.First("o => o.Id > AvgId", new Dictionary <string, object> {
                { "AvgId", AvgId }
            });
            var dynOrder3 = ((IQueryable)_query).First("Id > @0", AvgId);
            var dynOrder4 = ((IQueryable)_query).First();

            Assert.Equal(order, dynOrder1);
            Assert.Equal(order, dynOrder2);
            Assert.Equal(order, dynOrder3);
            Assert.Equal(_query.First(), dynOrder4);

            Assert.Throws <InvalidOperationException>(() => _query.Take(0).First("Id == 1"));
            Assert.Throws <InvalidOperationException>(() => ((IQueryable)_query.Take(0)).First());
            Assert.Throws <InvalidOperationException>(() => ((IQueryable)_query.Take(0)).First("Id == 1"));
            Assert.Throws <ArgumentNullException>(() => Dyn.First(null, "Id > 1"));
        }
Esempio n. 15
0
        private void DrawMarkupDynamics(object sender, EventArgs e)
        {
            var d = new Dyn(this);

            d.Show();
        }
Esempio n. 16
0
 public override bool TryBinaryOperation(BinaryOperationBinder binder, object arg, out object result)
 {
     result = new Dyn(this + " " + binder.Operation + " " + arg);
     return(true);
 }