예제 #1
0
        public void IsSatisfiedByWithNullRequestShouldThrowArgumentNullException()
        {
            // Arrange
            var sut = new FieldSpecification(typeof(object), "someName");

            // Act & assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.IsSatisfiedBy(null));
        }
예제 #2
0
        public void IsSatisfiedByWithNullRequestShouldThrowArgumentNullException()
        {
            // Fixture setup
            var sut = new FieldSpecification(typeof(object), "someName");

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.IsSatisfiedBy(null));
            // Teardown
        }
예제 #3
0
        public void IsSatisfiedByWithInvalidRequestShouldReturnFalse(object request)
        {
            // Arrange
            var sut = new FieldSpecification(typeof(object), "someName");
            // Act
            var result = sut.IsSatisfiedBy(request);

            // Assert
            Assert.False(result);
        }
예제 #4
0
        public void IsSatisfiedByWithInvalidRequestShouldReturnFalse(object request)
        {
            // Fixture setup
            var sut = new FieldSpecification(typeof(object), "someName");
            // Exercise system
            var result = sut.IsSatisfiedBy(request);

            // Verify outcome
            Assert.False(result);
            // Teardown
        }
예제 #5
0
        public void IsSatisfiedByWithRequestForFieldWithSameNameAndIncompatibleTypeShouldReturnFalse()
        {
            // Arrange
            var sut     = new FieldSpecification(typeof(object), "Field");
            var request = typeof(FieldHolder <string>).GetField("Field");
            // Act
            var result = sut.IsSatisfiedBy(request);

            // Assert
            Assert.False(result);
        }
예제 #6
0
        public void IsSatisfiedByWithRequestForMemberOtherThanFieldWithSameNameShouldReturnFalse()
        {
            // Arrange
            var sut     = new FieldSpecification(typeof(object), "Property");
            var request = typeof(PropertyHolder <object>).GetProperty("Property");
            // Act
            var result = sut.IsSatisfiedBy(request);

            // Assert
            Assert.False(result);
        }
예제 #7
0
        public void IsSatisfiedByWithRequestForMemberOtherThanFieldWithSameNameShouldReturnFalse()
        {
            // Fixture setup
            var sut     = new FieldSpecification(typeof(object), "Property");
            var request = typeof(PropertyHolder <object>).GetProperty("Property");
            // Exercise system
            var result = sut.IsSatisfiedBy(request);

            // Verify outcome
            Assert.False(result);
            // Teardown
        }
예제 #8
0
        public void IsSatisfiedByWithRequestForFieldWithSameNameAndIncompatibleTypeShouldReturnFalse()
        {
            // Fixture setup
            var sut     = new FieldSpecification(typeof(object), "Field");
            var request = typeof(FieldHolder <string>).GetField("Field");
            // Exercise system
            var result = sut.IsSatisfiedBy(request);

            // Verify outcome
            Assert.False(result);
            // Teardown
        }
예제 #9
0
        public void IsSatisfiedByWithRequestForFieldShouldReturnCorrectResult(
            string fieldName,
            string requestedName,
            bool expectedResult)
        {
            // Arrange
            var sut     = new FieldSpecification(typeof(object), fieldName);
            var request = typeof(FieldHolder <object>).GetField(requestedName);
            // Act
            var result = sut.IsSatisfiedBy(request);

            // Assert
            Assert.Equal(expectedResult, result);
        }
예제 #10
0
        public void IsSatisfiedByWithRequestForFieldShouldReturnCorrectResult(
            string fieldName,
            string requestedName,
            bool expectedResult)
        {
            // Fixture setup
            var sut     = new FieldSpecification(typeof(object), fieldName);
            var request = typeof(FieldHolder <object>).GetField(requestedName);
            // Exercise system
            var result = sut.IsSatisfiedBy(request);

            // Verify outcome
            Assert.Equal(expectedResult, result);
            // Teardown
        }
예제 #11
0
        public void IsSatisfiedByReturnsCorrectResultAccordingToTarget(
            bool expected)
        {
            var field  = typeof(string).GetField("Empty");
            var target = new DelegatingCriterion <FieldInfo>
            {
                OnEquals = f =>
                {
                    Assert.Equal(field, f);
                    return(expected);
                }
            };
            var sut = new FieldSpecification(target);

            var actual = sut.IsSatisfiedBy(field);

            Assert.Equal(expected, actual);
        }