public void DefaultValues()
        {
            var sut = new ThrowStatement();

            Assert.AreEqual(new VariableReference(), sut.Reference);
            Assert.IsTrue(sut.IsReThrow);
            Assert.AreNotEqual(0, sut.GetHashCode());
            Assert.AreNotEqual(1, sut.GetHashCode());
        }
        public void Equality_default()
        {
            var a = new ThrowStatement();
            var b = new ThrowStatement();

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_reallyTheSame()
        {
            var varRef = new VariableReference {
                Identifier = "e"
            };
            var a = new ThrowStatement {
                Reference = varRef
            };
            var b = new ThrowStatement {
                Reference = varRef
            };

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_differentException()
        {
            var a = new ThrowStatement {
                Reference = new VariableReference {
                    Identifier = "e1"
                }
            };
            var b = new ThrowStatement {
                Reference = new VariableReference {
                    Identifier = "e2"
                }
            };

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }