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)); }
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"); }