public void Deserialize_When2CtorsWithSameArgCount_EvaluateCorrectOne() { Serializer s = new Serializer(typeof(CtorMock)); ObjectExpression expr = new ObjectExpression(); expr.ResultType = typeof(CtorMock); NumericExpression IDExpr = new NumericExpression("10"); ValueExpression StrExpr = new ValueExpression("name"); expr.ConstructorArguments.Add(IDExpr); expr.ConstructorArguments.Add(StrExpr); CtorArgTypeResolver resolver = new CtorArgTypeResolver(expr,s.Config); Type[] argTypes = resolver.ResolveTypes(); CollectionAssert.AreElementsEqual(new Type[] { typeof(int), typeof(string) }, argTypes); }
public void ValueTypeReferenceTest() { ValueExpression value = new ValueExpression(""); Expression actual = ResolveReference(value, JsonPath.Root); }
/// <summary> /// Called for ValueExpression and all subclasses /// </summary> /// <param name="expression"></param> public virtual void OnValue(ValueExpression expression) { }
public override string ToString() { return(KeyExpression.ToString() + " : " + ValueExpression.ToString()); }
/// <summary> /// Visit a value expression. NOTE: this method is not called for subclasses /// of ValueExpression. To perform an operation on ValueExpression and all of its /// subclasses, override the OnValue method. /// </summary> /// <param name="expression">value expression</param> /// <seealso cref="OnValue"/> public virtual void Visit(ValueExpression expression) { OnValue(expression); }