Beispiel #1
0
        public void Each()
        {
            var c = new Dictionary <string, object>();

            c["items"] = new int[] { 1, 5, 10, 15 };

            var processedItems = new List <int>();
            var itemSt         = ConvertManager.ChangeType <IStatement>((Action <IDictionary <string, object> >)((cntx) => {
                processedItems.Add((int)cntx["itm"]);
            }));
            var eachSt = new Each((cntx) => { return(cntx["items"] as IEnumerable); }, itemSt, "itm");

            eachSt.Execute(c);

            Assert.AreEqual(0, ValueComparer.Instance.Compare(c["items"], processedItems));
        }
Beispiel #2
0
        public void EachTest()
        {
            var each = new Each <string>();

            var itemsMoq = new Mock <IProvider <string, IEnumerable> >();
            var arr      = new[] { "a", "b", "c" };

            itemsMoq.Setup(fn => fn.Provide("aa")).Returns(arr);

            var opMoq = new Mock <IOperation <EachContext <string> > >();
            var idx   = 0;

            opMoq.Setup(fn => fn.Execute(It.Is <EachContext <string> >(i => i.Item.ToString() == arr[idx])))
            .Callback(() => idx++);
            each.ItemsProvider = itemsMoq.Object;
            each.ItemOperation = opMoq.Object;
            each.Execute("aa");
        }