public void clone1() { modelname = "xml.xml"; XmlDocument doc = new XmlDocument(); doc.Load(AppDomain.CurrentDomain.BaseDirectory + @"\..\..\Xml\" + modelname); model = doc.DocumentElement; changed = false; RuleEngine.Evidence.EvidenceValue.Xml x = new RuleEngine.Evidence.EvidenceValue.Xml("/root/person/firstname/text()", typeof(string), modelname); x.Changed += Changed; x.ModelLookup += ModelLookup; x.Evaluate(); Assert.Equal("Joe", x.Value); Assert.Equal(true, changed); //clone RuleEngine.Evidence.EvidenceValue.Xml y = (RuleEngine.Evidence.EvidenceValue.Xml)x.Clone(); y.Changed += Changed; y.ModelLookup += ModelLookup; //change the model, update this xpath expression. changed = false; model["person"]["firstname"].InnerText = "bob"; y.Evaluate(); Assert.Equal(true, changed); Assert.Equal("bob", (string)y.Value); }
public void clone1() { modelname = "xml.xml"; XmlDocument doc = new XmlDocument(); doc.Load(AppDomain.CurrentDomain.BaseDirectory + @"\..\..\Xml\" + modelname); model = doc.DocumentElement; changed = false; RuleEngine.Evidence.EvidenceValue.Xml x = new RuleEngine.Evidence.EvidenceValue.Xml("/root/person/firstname/text()", typeof(string), modelname); x.Changed += Changed; x.ModelLookup += ModelLookup; x.Evaluate(); Assert.AreEqual("Joe", x.Value); Assert.AreEqual(true, changed); //clone RuleEngine.Evidence.EvidenceValue.Xml y = (RuleEngine.Evidence.EvidenceValue.Xml)x.Clone(); y.Changed += Changed; y.ModelLookup += ModelLookup; //change the model, update this xpath expression. changed = false; model["person"]["firstname"].InnerText = "bob"; y.Evaluate(); Assert.AreEqual(true, changed); Assert.AreEqual("bob", (string)y.Value); }