public void BuildParameterizedString() { string expect = "table(_TABLE" + vPathLen + "=new Table())"; vMockPath.Setup(x => x.ItemAtIndex(0)).Returns((IWeaverPathItem)null); var asStep = new Mock <IWeaverStepAs>(); vMockPath.Setup(x => x.ItemAtIndex(1)).Returns(asStep.Object); expect += "{}"; vMockPath.Setup(x => x.ItemAtIndex(2)).Returns((IWeaverPathItem)null); var repStep = new Mock <IWeaverStepAsColumn>(); repStep.SetupGet(x => x.ReplaceScript).Returns("replace.it()"); vMockPath.Setup(x => x.ItemAtIndex(3)).Returns(repStep.Object); expect += "{replace.it()}"; vMockPath.Setup(x => x.ItemAtIndex(4)).Returns((IWeaverPathItem)null); var propStep = new Mock <IWeaverStepAsColumn>(); propStep.SetupGet(x => x.PropName).Returns("MyProp"); vMockPath.Setup(x => x.ItemAtIndex(5)).Returns(propStep.Object); vMockQuery.Setup(x => x.AddStringParam("MyProp")).Returns("_P0"); expect += "{it.getProperty(_P0)}"; vMockPath.Setup(x => x.ItemAtIndex(6)).Returns((IWeaverPathItem)null); var propAppStep = new Mock <IWeaverStepAsColumn>(); propAppStep.SetupGet(x => x.PropName).Returns("MyProp2"); propAppStep.SetupGet(x => x.AppendScript).Returns(".get.data()"); vMockPath.Setup(x => x.ItemAtIndex(7)).Returns(propAppStep.Object); vMockQuery.Setup(x => x.AddStringParam("MyProp2")).Returns("_P1"); expect += "{it.getProperty(_P1).get.data()}"; vMockPath.Setup(x => x.ItemAtIndex(8)).Returns((IWeaverPathItem)null); var objStep = new Mock <IWeaverStepAsColumn>(); vMockPath.Setup(x => x.ItemAtIndex(9)).Returns(objStep.Object); expect += "{it}"; vMockPath.Setup(x => x.ItemAtIndex(10)).Returns((IWeaverPathItem)null); var objAppStep = new Mock <IWeaverStepAsColumn>(); objAppStep.SetupGet(x => x.AppendScript).Returns(".then.more()"); vMockPath.Setup(x => x.ItemAtIndex(11)).Returns(objAppStep.Object); expect += "{it.then.more()}"; vMockPath.Setup(x => x.IndexOfItem(vTable)).Returns(99); Console.WriteLine(expect); Assert.AreEqual(expect, vTable.BuildParameterizedString(), "Incorrect script."); }