示例#1
0
        public void BeNotEqual()
        {
            Element element1 = new Element(0, 1, 2);
            Element element2 = new Element(2, 1, 0);

            Assert.IsFalse(element1.Equals(element2));
        }
示例#2
0
        public void BeEqual()
        {
            Element element1 = new Element(0, 1, 2);
            Element element2 = new Element(0, 1, 2);

            Assert.IsTrue(element1.Equals(element2));
            Assert.AreEqual(element1.GetHashCode(), element2.GetHashCode());
        }
示例#3
0
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }

            if (!(obj is Element))
            {
                return(false);
            }

            Element element = (Element)obj;

            if (this.values.Length != element.values.Length)
            {
                if (this.values.Length > element.values.Length)
                {
                    return(element.Equals(this));
                }
            }

            if (this.Order != element.Order)
            {
                return(false);
            }

            for (int k = 0; k < this.values.Length; k++)
            {
                if (this.values[k] != element.values[k])
                {
                    return(false);
                }
            }

            for (int k = this.values.Length; k < element.values.Length; k++)
            {
                if (element.values[k] != k)
                {
                    return(false);
                }
            }

            return(true);
        }