コード例 #1
0
        public override bool Equals(object obj)
        {
            // If parameter is null return false.
            if (obj == null)
            {
                return(false);
            }

            // If parameter cannot be cast to ConditionTreeLeaf return false.
            ConditionTreeLeaf o = obj as ConditionTreeLeaf;

            if ((System.Object)o == null)
            {
                return(false);
            }

            if (ReferenceEquals(this, obj))
            {
                return(true);
            }

            // Return true if the fields match:
            return(Type.Equals(o.Type) &&
                   Comparison.Equals(o.Comparison) &&
                   VariableName.Equals(o.VariableName) &&
                   CompareTo.Equals(o.CompareTo));
        }
コード例 #2
0
        protected override void BuildStatement(SqlCodeObjectBuilder builder)
        {
            if (VariableName.Equals(IsolationLevelVariable))
            {
                var isolationLevel = ParseIsolationLevel(Value);
                builder.AddObject(new SetIsolationLevelStatement(isolationLevel));
            }
            else if (VariableName.Equals(AccessVariable))
            {
                bool status;
                if (String.Equals(Value, "READ ONLY", StringComparison.OrdinalIgnoreCase))
                {
                    status = true;
                }
                else if (String.Equals(Value, "READ WRITE", StringComparison.OrdinalIgnoreCase))
                {
                    status = false;
                }
                else
                {
                    throw new SqlParseException("Invalid access type");
                }

                builder.AddObject(new SetReadOnlyStatement(status));
            }
        }
コード例 #3
0
        public void NotEqual()
        {
            var a = new VariableName("aaa");
            var b = new VariableName("bbb");

            Assert.IsTrue(a != b);

            Assert.IsFalse(a.Equals(b));
            Assert.IsFalse(a.Equals(null));

            Assert.IsFalse(a.Equals((object)b));
            Assert.IsFalse(a.Equals((object)null !));
            // ReSharper disable once SuspiciousTypeConversion.Global
            Assert.IsFalse(a.Equals(1));

            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
コード例 #4
0
        public void Equal()
        {
            var a = new VariableName("aaa");
            var b = new VariableName("aaa");

            Assert.IsTrue(a == b);
            // ReSharper disable once EqualExpressionComparison
            Assert.IsTrue(a == a);

            Assert.IsTrue(a.Equals(b));
            Assert.IsTrue(a.Equals(a));

            Assert.IsTrue(a.Equals((object)b));
            Assert.IsTrue(a.Equals((object)a));

            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
コード例 #5
0
        public void Equal()
        {
            var a = new VariableName("aaa");
            var b = new VariableName("aaa");

            Assert.IsTrue(a == b);
            // ReSharper disable once EqualExpressionComparison
#pragma warning disable CS1718 // Comparison made to same variable
            Assert.IsTrue(a == a);
#pragma warning restore CS1718 // Comparison made to same variable

            Assert.IsTrue(a.Equals(b));
            Assert.IsTrue(a.Equals(a));

            Assert.IsTrue(a.Equals((object)b));
            Assert.IsTrue(a.Equals((object)a));

            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
コード例 #6
0
        /// <inheritdoc />
        public override bool Equals(object obj)
        {
            FieldIdentifier y = obj as FieldIdentifier;

            if (obj == null)
            {
                return(false);
            }
            return(Name.Equals(y.Name) && ClassName.Equals(y.ClassName));
        }
コード例 #7
0
        public static Polynomial ToPolynomial(Term term, VariableName variableName)
        {
            switch (term)
            {
            case ObjectVariableTerm termObjectVariable:
                var thisVariableDomain = new VariableName(termObjectVariable.ObjectVariable.ToString());
                if (!variableName.Equals(thisVariableDomain))
                {
                    throw new ArgumentException("VariableDomainException");
                }

                return(new Polynomial(new List <RationalNumber> {
                    0, 1
                }, variableName));

            case FunctionTerm termFunction:
                var function = termFunction.Function;
                var terms    = termFunction.Terms.ToArray();

                return(TermFunctionInterpret(variableName, function, terms));

            case IndividualConstantTerm <int> constant:
                return(new Polynomial(new List <RationalNumber> {
                    constant.IndividualConstant.Value
                },
                                      variableName));

            case IndividualConstantTerm <BigInteger> constant:
                return(new Polynomial(new List <RationalNumber> {
                    constant.IndividualConstant.Value
                },
                                      variableName));

            case IndividualConstantTerm <RationalNumber> constant:
                return(new Polynomial(new List <RationalNumber> {
                    constant.IndividualConstant.Value
                },
                                      variableName));

            default:
                throw new NotSupportedException("not supported term type");
            }
        }
コード例 #8
0
        public bool Equals(DefinitionVariable other)
        {
            // Check for null
            if (ReferenceEquals(other, null))
            {
                return(false);
            }

            // Check for same reference
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            // Check for same value
            return(DefinitionId.Equals(other.DefinitionId) &&
                   ((VariableName == null && other.VariableName == null) || (VariableName != null && other.VariableName != null && VariableName.Equals(other.VariableName))) &&
                   StoreType.Equals(other.StoreType));
        }
コード例 #9
0
        public bool Equals(ProcessItemVariable other)
        {
            // Check for null
            if (ReferenceEquals(other, null))
            {
                return(false);
            }

            // Check for same reference
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            // Not Check DeploymentId, because generated Guid

            // Check for same value
            return(((VariableName == null && other.VariableName == null) || (VariableName != null && other.VariableName != null && VariableName.Equals(other.VariableName))) &&
                   ((DataType == null && other.DataType == null) || (DataType != null && other.DataType != null && DataType.Equals(other.DataType))) &&
                   ((ProcessItemKey == null && other.ProcessItemKey == null) || (ProcessItemKey != null && other.ProcessItemKey != null && ProcessItemKey.Equals(other.ProcessItemKey))));
        }