public void TypeReferenceIsSetCorrectly()
        {
            var typeReference = EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Double, true);
            NonentityRangeVariable nonentityRangeVariable = new NonentityRangeVariable("stuff", typeReference, null);

            nonentityRangeVariable.TypeReference.Should().BeSameAs(typeReference);
        }
        public void KindIsNonEntityRangeVariableReferenceNode()
        {
            NonentityRangeVariable rangeVariable = new NonentityRangeVariable("stuff", EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Double, true), null);
            NonentityRangeVariableReferenceNode nonentityRangeVariableReferenceNode = new NonentityRangeVariableReferenceNode("stuff", rangeVariable);

            nonentityRangeVariableReferenceNode.InternalKind.Should().Be(InternalQueryNodeKind.NonentityRangeVariableReference);
        }
        public void NameCannotBeNull()
        {
            NonentityRangeVariable rangeVariable = new NonentityRangeVariable("stuff", EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Double, true), null);
            Action createWithNullName            = () => new NonentityRangeVariableReferenceNode(null, rangeVariable);

            createWithNullName.ShouldThrow <Exception>(Error.ArgumentNull("name").ToString());
        }
        public void RangeVariableIsSetCorrectly()
        {
            NonentityRangeVariable rangeVariable = new NonentityRangeVariable("stuff", EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Double, true), null);
            NonentityRangeVariableReferenceNode nonentityRangeVariableReferenceNode = new NonentityRangeVariableReferenceNode("stuff", rangeVariable);

            nonentityRangeVariableReferenceNode.RangeVariable.ShouldBeNonentityRangeVariable("stuff");
        }
Esempio n. 5
0
        private static SingleValueNode Parameter <T>(string name)
        {
            var nonentityRangeVariable = new NonentityRangeVariable(name, null, null);

            nonentityRangeVariable.SetAnnotation(Expression.Parameter(typeof(T), name));
            return(new NonentityRangeVariableReferenceNode(name, nonentityRangeVariable));
        }
 /// <summary>
 /// Compares non entity parameter query nodes query nodes.
 /// </summary>
 /// <param name="node">Node to write to string</param>
 /// <returns>String representation of node.</returns>
 private static string ToString(NonentityRangeVariable node)
 {
     return(tabHelper.Prefix + "NonentityRangeVariable" +
            tabHelper.Indent(() =>
                             tabHelper.Prefix + "Name = " + node.Name +
                             tabHelper.Prefix + "TypeReference = " + node.TypeReference
                             ));
 }
Esempio n. 7
0
 /// <summary>
 /// "m" is the range variable in expression SkuBomParents/any(m: m eq 1363)
 /// if m is an entity, then it is an EntityRangeVariable
 /// if m is a complex type/primitive type, then it is a NonentityRangeVariable
 /// </summary>
 private string TranslateRangeVariable(NonentityRangeVariable nonentityRangeVariable)
 {
     //override the range variable name if we are inside the body clause of an any node
     if (RangeVariablesNameForAnyNodeBody.Any())
     {
         return(RangeVariablesNameForAnyNodeBody.Peek());
     }
     return(nonentityRangeVariable.Name.ToString());
 }
Esempio n. 8
0
        public void NonentityRangeVariableReferenceNodeNotImplemented()
        {
            FakeVisitor            visitor   = new FakeVisitor();
            ConstantNode           constNode = new ConstantNode("stuff");
            NonentityRangeVariable nonentityRangeVariable = new NonentityRangeVariable("dummy", constNode.TypeReference, null);
            NonentityRangeVariableReferenceNode nonentityRangeVariableReferenceNode = new NonentityRangeVariableReferenceNode(nonentityRangeVariable.Name, nonentityRangeVariable);
            Action visitNonEntityRangeVariableReferenceNode = () => visitor.Visit(nonentityRangeVariableReferenceNode);

            visitNonEntityRangeVariableReferenceNode.ShouldThrow <NotImplementedException>();
        }
Esempio n. 9
0
 /// <summary>
 /// Compares non entity parameter query nodes query nodes.
 /// </summary>
 /// <param name="left">Left side of comparison</param>
 /// <param name="right">Right side of comparison</param>
 /// <returns>True if equal, otherwise false</returns>
 private bool Compare(NonentityRangeVariable left, NonentityRangeVariable right)
 {
     if (left.Name != right.Name)
     {
         return(false);
     }
     if (left.TypeReference != right.TypeReference)
     {
         return(false);
     }
     return(true);
 }
        public void KindIsNonEntityRangeVariable()
        {
            NonentityRangeVariable nonentityRangeVariable = new NonentityRangeVariable("stuff", EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Double, true), null);

            nonentityRangeVariable.Kind.Should().Be(RangeVariableKind.Nonentity);
        }
        public void NameIsSetCorrectly()
        {
            NonentityRangeVariable nonentityRangeVariable = new NonentityRangeVariable("stuff", EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Double, true), null);

            nonentityRangeVariable.Name.Should().Be("stuff");
        }
 private string BindRangeVariable(NonentityRangeVariable nonentityRangeVariable)
 {
     return(nonentityRangeVariable.Name.ToString());
 }
 private string BindRangeVariable(NonentityRangeVariable nonentityRangeVariable)
 {
     return nonentityRangeVariable.Name.ToString();
 }