public void DataContractInvokersLoad() { GenericExpressionEvalWrapper.ClearRegisteredTypes(); string valExpr = "myString"; DataContext context = new DataContext(); string testString = "Test String"; SimpleDataContract data = new SimpleDataContract(1, testString, 2.2); GenericExpressionEvalWrapper wrapper = new GenericExpressionEvalWrapper(data, true); object rslt = wrapper.ResolveExpressionValue(valExpr); Assert.IsNotNull(rslt, "Result is null"); string result = rslt.ToString(); Assert.AreEqual(testString, result, "Direct ResolveExpressionValue call failed"); Assert.AreEqual(result, WrapperUtility.ResolveExpressionValue(valExpr, data, GenericExpressionEvalWrapper.GetDataFieldEvaluator(data.GetType()))); DataContext dc = new DataContext(); dc.RegisterDataItem("foo", wrapper); string dcResult = dc.CalculateVariableValue("${foo." + valExpr + "}"); Assert.AreEqual(testString, dcResult, "DataContext gave incorrect result"); }
public void DataContractRecognized() { GenericExpressionEvalWrapper.ClearRegisteredTypes(); string testString = "Test String"; SimpleDataContract data = new SimpleDataContract(1, testString, 2.2); GenericExpressionEvalWrapper wrapper = new GenericExpressionEvalWrapper(data); int invokerCount = GenericExpressionEvalWrapper.GetDataFieldEvaluator(data.GetType()).Count; Assert.Greater(invokerCount, 0); Assert.AreEqual(0, GenericExpressionEvalWrapper.GetDataPropertyEvaluator(data.GetType()).Count, "Property invokers incorrectly added"); }