public void ValueOfKindAsTypeOfKind_EatTargetTest()
        {
            // Arrange
            var helper = new ExpressionKindHelper();

            // Assert
            foreach (ExpressionKind kind in Enum.GetValues(typeof(ExpressionKind)))
            {
                if (kind != ExpressionKind.TargetCall &&
                    kind != ExpressionKind.Result &&
                    kind != ExpressionKind.Mock)
                {
                    Assert.AreEqual(helper.ValueOfKindAsTypeOfKind(ExpressionKind.Target, kind), ExpressionKind.Target);
                }
            }
            foreach (ExpressionKind kind in Enum.GetValues(typeof(ExpressionKind)))
            {
                if (kind != ExpressionKind.TargetCall &&
                    kind != ExpressionKind.Result &&
                    kind != ExpressionKind.Mock)
                {
                    Assert.AreEqual(helper.ValueOfKindAsTypeOfKind(kind, ExpressionKind.Target), ExpressionKind.Target);
                }
            }
        }
        public ExpressionKind KindOfAssignmentTest(ExpressionKind kind)
        {
            // Arrange
            var helper = new ExpressionKindHelper();

            // Assert
            return(helper.KindOfAssignment(kind));
        }
        public ExpressionKind ReferenceKindByParentReferenceKindTest(ExpressionKind kind)
        {
            // Arrange
            var helper = new ExpressionKindHelper();

            // Assert
            return(helper.ReferenceKindByParentReferenceKind(kind));
        }
        public void InvocationKindByParentReferenceKind_EatTargetTest()
        {
            // Arrange
            var helper = new ExpressionKindHelper();

            // Act
            var kind = helper.InvocationKindByParentReferenceKind(ExpressionKind.Target);

            // Assert
            Assert.AreEqual(kind, ExpressionKind.TargetCall);
        }
        public void InvocationKindByParentReferenceKindTest()
        {
            // Arrange
            var helper = new ExpressionKindHelper();

            // Assert
            foreach (ExpressionKind kind in Enum.GetValues(typeof(ExpressionKind)))
            {
                if (kind != ExpressionKind.TargetCall && kind != ExpressionKind.Target)
                {
                    Assert.AreEqual(helper.InvocationKindByParentReferenceKind(kind), kind);
                }
            }
        }
        public void ValueOfKindAsTypeOfKind_EatAnyValueKindTest()
        {
            // Arrange
            var helper = new ExpressionKindHelper();

            // Assert
            foreach (ExpressionKind valueKind in Enum.GetValues(typeof(ExpressionKind)))
            {
                if (valueKind != ExpressionKind.TargetCall &&
                    valueKind != ExpressionKind.Result &&
                    valueKind != ExpressionKind.Mock &&
                    valueKind != ExpressionKind.Target)
                {
                    foreach (ExpressionKind typeKind in Enum.GetValues(typeof(ExpressionKind)))
                    {
                        if (typeKind != ExpressionKind.Target)
                        {
                            Assert.AreEqual(helper.ValueOfKindAsTypeOfKind(valueKind, typeKind), valueKind);
                        }
                    }
                }
            }
        }