public void InstanceHasNotSameHashCodeAsOtherWithDifferenExpression()
        {
            var alias1 = new VariableAlias("x", _CreateExpression());
            var alias2 = new VariableAlias("x", _CreateExpression());

            Assert.AreNotEqual(alias1.GetHashCode(), alias2.GetHashCode());
        }
        public void InstanceIsNotEqualToCompletelyDifferent()
        {
            var alias1 = new VariableAlias("x", _CreateExpression());
            var alias2 = new VariableAlias("y", _CreateExpression());

            Assert.AreNotEqual(alias1, alias2);
        }
        public void InstanceIsNotEqualToOtherWithDifferentExpression()
        {
            var alias1 = new VariableAlias("x", _CreateExpression());
            var alias2 = new VariableAlias("x", _CreateExpression());

            Assert.AreNotEqual(alias1, alias2);
        }
        public void InstanceHasSameHashCodeAsOtherWithSameInformation()
        {
            var expression = _CreateExpression();
            var alias1     = new VariableAlias("x", expression);
            var alias2     = new VariableAlias("x", expression);

            Assert.AreEqual(alias1.GetHashCode(), alias2.GetHashCode());
        }
        public void InstanceIsEqualToOtherWithSameInformation()
        {
            var expression = _CreateExpression();
            var alias1     = new VariableAlias("x", expression);
            var alias2     = new VariableAlias("x", expression);

            Assert.AreEqual(alias1, alias2);
        }
        public void InstanceHasSameHashCodeAsItself()
        {
            var alias = new VariableAlias("x", _CreateExpression());

            Assert.AreEqual(alias.GetHashCode(), alias.GetHashCode());
        }
        public void InstanceIsEqualToItself()
        {
            var alias = new VariableAlias("x", _CreateExpression());

            Assert.AreEqual(alias, alias);
        }
        public void InstanceIsNotEqualToNull()
        {
            var alias = new VariableAlias("x", _CreateExpression());

            Assert.AreNotEqual(alias, null);
        }