Пример #1
0
        public void UnexpectedAssignDestinationTest()
        {
            // Arrange
            var snapshot            = Mock.Of <ISnapshot>();
            var refElement          = Mock.Of <IDeclaredElement>();
            var referenceExpression = Mock.Of <IReferenceExpression>();
            var eatHelper           = Mock.Of <EatExpressionHelper>(t => t.GetReferenceElement(referenceExpression) == refElement);
            var typeEater           = Mock.Of <ITypeEater>();
            var kindHelper          = Mock.Of <ExpressionKindHelper>();
            var eater = Mock.Of <IEater>(t => t.Eat(snapshot, It.IsAny <ICSharpExpression>()) == ExpressionKind.None);
            var referenceExpressionEater = new ReferenceExpressionEater(eater, kindHelper, eatHelper, typeEater);

            // Assert
            Assert.Throws <UnexpectedReferenceTypeException>(() => referenceExpressionEater.Eat(snapshot, referenceExpression));
        }
Пример #2
0
        public void EatLocalVariableTest()
        {
            // Arrange
            var refElement          = Mock.Of <IVariableDeclarationAndIDeclaredElement>();
            var referenceExpression = Mock.Of <IReferenceExpression>();
            var eatHelper           = Mock.Of <EatExpressionHelper>(t => t.GetReferenceElement(referenceExpression) == refElement);
            var typeEater           = Mock.Of <ITypeEater>();
            var kindHelper          = Mock.Of <ExpressionKindHelper>();
            var snapshot            = Mock.Of <ISnapshot>(t => t.GetVariableKind(refElement) == ExpressionKind.Target);
            var eater = Mock.Of <IEater>(t => t.Eat(snapshot, It.IsAny <ICSharpExpression>()) == ExpressionKind.None);
            var referenceExpressionEater = new ReferenceExpressionEater(eater, kindHelper, eatHelper, typeEater);

            // Act
            var kind = referenceExpressionEater.Eat(snapshot, referenceExpression);

            // Assert
            Assert.AreEqual(kind, ExpressionKind.Target);
        }
Пример #3
0
        public void EatSelfEventTest()
        {
            // Arrange
            var snapshot            = Mock.Of <ISnapshot>();
            var refElement          = Mock.Of <IEvent>();
            var referenceExpression = Mock.Of <IReferenceExpression>();
            var eatHelper           = Mock.Of <EatExpressionHelper>(t => t.GetReferenceElement(referenceExpression) == refElement);
            var typeEater           = Mock.Of <ITypeEater>();
            var kindHelper          = Mock.Of <ExpressionKindHelper>();
            var eater = Mock.Of <IEater>(t => t.Eat(snapshot, It.IsAny <ICSharpExpression>()) == ExpressionKind.None);
            var referenceExpressionEater = new ReferenceExpressionEater(eater, kindHelper, eatHelper, typeEater);

            // Act
            var kind = referenceExpressionEater.Eat(snapshot, referenceExpression);

            // Assert
            Assert.AreEqual(kind, ExpressionKind.Stub);
        }
Пример #4
0
        public void EatByParentTest()
        {
            // Arrange
            var qualifierExpression = Mock.Of <ICSharpExpression>();
            var referenceExpression = Mock.Of <IReferenceExpression>(t => t.QualifierExpression == qualifierExpression);
            var eatHelper           = Mock.Of <EatExpressionHelper>();
            var typeEater           = Mock.Of <ITypeEater>();
            var kindHelper          = Mock.Of <ExpressionKindHelper>(t => t.ReferenceKindByParentReferenceKind(ExpressionKind.Target) == ExpressionKind.TargetCall);
            var snapshot            = Mock.Of <ISnapshot>();
            var eater = Mock.Of <IEater>(t => t.Eat(snapshot, qualifierExpression) == ExpressionKind.Target);
            var referenceExpressionEater = new ReferenceExpressionEater(eater, kindHelper, eatHelper, typeEater);

            // Act
            var kind = referenceExpressionEater.Eat(snapshot, referenceExpression);

            // Assert
            Assert.AreEqual(kind, ExpressionKind.TargetCall);
        }
        public void EatLocalVariableTest()
        {
            // Arrange
            var refElement = Mock.Of<IVariableDeclarationAndIDeclaredElement>();
            var referenceExpression = Mock.Of<IReferenceExpression>();
            var eatHelper = Mock.Of<EatExpressionHelper>(t => t.GetReferenceElement(referenceExpression) == refElement);
            var typeEater = Mock.Of<ITypeEater>();
            var kindHelper = Mock.Of<ExpressionKindHelper>();
            var snapshot = Mock.Of<ISnapshot>(t => t.GetVariableKind(refElement) == ExpressionKind.Target);
            var eater = Mock.Of<IEater>(t => t.Eat(snapshot, It.IsAny<ICSharpExpression>()) == ExpressionKind.None);
            var referenceExpressionEater = new ReferenceExpressionEater(eater, kindHelper, eatHelper, typeEater);

            // Act
            var kind = referenceExpressionEater.Eat(snapshot, referenceExpression);

            // Assert
            Assert.AreEqual(kind, ExpressionKind.Target);
        }
        public void EatByParentTest()
        {
            // Arrange
            var qualifierExpression = Mock.Of<ICSharpExpression>();
            var referenceExpression = Mock.Of<IReferenceExpression>(t => t.QualifierExpression == qualifierExpression);
            var eatHelper = Mock.Of<EatExpressionHelper>();
            var typeEater = Mock.Of<ITypeEater>();
            var kindHelper = Mock.Of<ExpressionKindHelper>(t => t.ReferenceKindByParentReferenceKind(ExpressionKind.Target) == ExpressionKind.TargetCall);
            var snapshot = Mock.Of<ISnapshot>();
            var eater = Mock.Of<IEater>(t => t.Eat(snapshot, qualifierExpression) == ExpressionKind.Target);
            var referenceExpressionEater = new ReferenceExpressionEater(eater, kindHelper, eatHelper, typeEater);

            // Act
            var kind = referenceExpressionEater.Eat(snapshot, referenceExpression);

            // Assert
            Assert.AreEqual(kind, ExpressionKind.TargetCall);
        }
 public UnexpectedReferenceTypeException(IDeclaredElement declaredElement, ReferenceExpressionEater eater, ICSharpTreeNode node)
     : base(string.Format("Unexpected reference declared type. Expected field, property, event, constant, variable or class, but was [{0}]", declaredElement.GetType()), eater, node)
 {
     DeclaredElement = declaredElement;
 }
        public void EatSelfEventTest()
        {
            // Arrange
            var snapshot = Mock.Of<ISnapshot>();
            var refElement = Mock.Of<IEvent>();
            var referenceExpression = Mock.Of<IReferenceExpression>();
            var eatHelper = Mock.Of<EatExpressionHelper>(t => t.GetReferenceElement(referenceExpression) == refElement);
            var typeEater = Mock.Of<ITypeEater>();
            var kindHelper = Mock.Of<ExpressionKindHelper>();
            var eater = Mock.Of<IEater>(t => t.Eat(snapshot, It.IsAny<ICSharpExpression>()) == ExpressionKind.None);
            var referenceExpressionEater = new ReferenceExpressionEater(eater, kindHelper, eatHelper, typeEater);

            // Act
            var kind = referenceExpressionEater.Eat(snapshot, referenceExpression);

            // Assert
            Assert.AreEqual(kind, ExpressionKind.Stub);
        }
        public void UnexpectedAssignDestinationTest()
        {
            // Arrange
            var snapshot = Mock.Of<ISnapshot>();
            var refElement = Mock.Of<IDeclaredElement>();
            var referenceExpression = Mock.Of<IReferenceExpression>();
            var eatHelper = Mock.Of<EatExpressionHelper>(t => t.GetReferenceElement(referenceExpression) == refElement);
            var typeEater = Mock.Of<ITypeEater>();
            var kindHelper = Mock.Of<ExpressionKindHelper>();
            var eater = Mock.Of<IEater>(t => t.Eat(snapshot, It.IsAny<ICSharpExpression>()) == ExpressionKind.None);
            var referenceExpressionEater = new ReferenceExpressionEater(eater, kindHelper, eatHelper, typeEater);

            // Assert
            Assert.Throws<UnexpectedReferenceTypeException>(() => referenceExpressionEater.Eat(snapshot, referenceExpression));
        }