コード例 #1
0
        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");
        }
コード例 #2
0
        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");
        }