Esempio n. 1
0
        public void ShouldNotInvokeInnerBuilderIfUnableToResolveMemberType()
        {
            // Arrange
            var nonMemberRequest   = new object();
            var memberTypeResolver = new DelegatingRequestMemberTypeResolver
            {
                OnTryGetMemberType = _ => null
            };

            var innerBuilder = new DelegatingSpecimenBuilder
            {
                OnCreate = (r, c) => throw new InvalidOperationException("Should not be invoked")
            };

            var sut = new UnwrapMemberRequest(innerBuilder)
            {
                MemberTypeResolver = memberTypeResolver
            };

            var ctx = new DelegatingSpecimenContext();

            // Act
            var result = sut.Create(nonMemberRequest, ctx);

            // Assert
            Assert.Equal(new NoSpecimen(), result);
        }
    }
Esempio n. 2
0
        public void ShouldPassUnwrappedTypeToInnerBuilder()
        {
            // Arrange
            var memberRequest = new object();
            var memberType    = typeof(List <int>);

            var memberTypeResolver = new DelegatingRequestMemberTypeResolver
            {
                OnTryGetMemberType = r => r == memberRequest ? memberType : null
            };

            var expectedResult = new object();
            var innerBuilder   = new DelegatingSpecimenBuilder
            {
                OnCreate = (r, c) => memberType.Equals(r) ? expectedResult : new NoSpecimen()
            };

            var sut = new UnwrapMemberRequest(innerBuilder)
            {
                MemberTypeResolver = memberTypeResolver
            };

            var ctx = new DelegatingSpecimenContext();

            // Act
            var result = sut.Create(memberRequest, ctx);

            // Assert
            Assert.Equal(expectedResult, result);
        }