Example #1
0
        internal void ApplyParameterFilters(
            SpecimenProvider specimenProvider,
            RegexFilter filter)
        {
            // Arrange
            filter.IncludeMethod("Compare", typeof(Uri))
            .ExcludeParameter("uri1", typeof(Uri))
            .ExcludeParameter("uri2", typeof(Uri), "Compare")
            .Rules.Add(new RegexRule("exclude all", type: new Regex(".*"), method: new Regex(".*")));

            IArgumentNullExceptionFixture sut =
                new ArgumentNullExceptionFixture(typeof(Uri).GetTypeInfo().Assembly,
                                                 specimenProvider,
                                                 new List <IFilter> {
                filter
            },
                                                 new List <IMapping>());

            // Act
            List <MethodData> methodDatas = sut.GetData().ToList();

            // Assert
            Assert.Equal(3, methodDatas.Count);
            Assert.Equal(3, methodDatas.Select(m => m.ExecutionSetup).OfType <DefaultExecutionSetup>().Count());
        }
Example #2
0
        public void CreateErroredMethodInvocationData(
            Mock <ISpecimenProvider> specimenProviderMock,
            FileNotFoundException exception,
            RegexFilter filter)
        {
            // Arrange
            specimenProviderMock.Setup(sp => sp.GetParameterSpecimens(It.IsAny <IList <ParameterInfo> >(), It.IsAny <int>()))
            .Throws(exception);
            filter.IncludeMethod("Compare", typeof(Uri))
            .Rules.Add(new RegexRule("exclude all", type: new Regex(".*"), method: new Regex(".*")));

            IArgumentNullExceptionFixture sut =
                new ArgumentNullExceptionFixture(typeof(Uri).GetTypeInfo().Assembly,
                                                 specimenProviderMock.Object,
                                                 new List <IFilter> {
                filter
            },
                                                 new List <IMapping>());

            // Act
            List <MethodData> methodDatas = sut.GetData().ToList();

            // Assert
            Assert.Equal(5, methodDatas.Count);
            List <ErroredExecutionSetup> executionSetups = methodDatas.Select(m => m.ExecutionSetup).OfType <ErroredExecutionSetup>().ToList();

            Assert.Equal(5, executionSetups.Count);
            foreach (ErroredExecutionSetup executionSetup in executionSetups)
            {
                CompositionException compositionException = Assert.IsType <CompositionException>(executionSetup.Exception);
                Assert.Same(exception, compositionException.InnerException);
            }
        }
        public void ShouldGetAll5Tests()
        {
            IArgumentNullExceptionFixture sut =
                new ArgumentNullExceptionFixture(typeof(OtherEquals).Assembly)
                    .ExcludeAllTypes()
                    .IncludeType(typeof(OtherEquals));

            IEnumerable<MethodData> data = sut.GetData();
            Assert.Equal(5, data.Count());
        }
Example #4
0
        public void InitialiseFixtureFromType()
        {
            // Act
            var sut = new RequiresArgumentNullExceptionAttribute(typeof(Uri));

            // Assert
            Assert.NotNull(sut.Fixture);
            ArgumentNullExceptionFixture fixture = Assert.IsType <ArgumentNullExceptionFixture>(sut.Fixture);

            Assert.Same(typeof(Uri).GetTypeInfo().Assembly, fixture.AssemblyUnderTest);
        }
Example #5
0
        public void ThrowInvalidOperationExceptionIfDuplicateSubstitutions(
            Type originalType,
            Type newType1,
            Type newType2,
            ArgumentNullExceptionFixture fixture)
        {
            // Arrange
            fixture.SubstituteType(originalType, newType1);

            // Act//Assert
            Assert.Throws <InvalidOperationException>(() => fixture.SubstituteType(originalType, newType2));
        }
        public void ThrowInvalidOperationExceptionIfDuplicateSubstitutions(
            Type originalType,
            Type newType1,
            Type newType2,
            List<IMapping> mapings,
            ArgumentNullExceptionFixture fixture)
        {
            // Arrange
            fixture.SubstituteType(originalType, newType1);

            // Act//Assert
            Assert.Throws<InvalidOperationException>(() => fixture.SubstituteType(originalType, newType2));
        }
Example #7
0
 public void InitializeDefaults(
     [Frozen] Assembly expectedAssembly,
     [Modest] ArgumentNullExceptionFixture sut)
 {
     // AAA
     Assert.NotNull(sut.SpecimenProvider);
     Assert.Same(expectedAssembly, sut.AssemblyUnderTest);
     Assert.Equal(ArgumentNullExceptionFixture.DefaultBindingFlags, sut.BindingFlags);
     Assert.NotNull(sut.Filters);
     Assert.NotNull(sut.TypeFilters);
     Assert.NotNull(sut.MethodFilters);
     Assert.NotNull(sut.ParameterFilters);
     Assert.NotNull(sut.Mappings);
 }
        public void InitializeInjectedDefaultsManual(
            [Frozen] Assembly expectedAssembly,
            IFixture expectedFixture)
        {
            // Arrange/Act
            var sut = new ArgumentNullExceptionFixture(expectedAssembly, expectedFixture);

            // Assert
            Assert.Same(expectedFixture, ((SpecimenProvider)sut.SpecimenProvider).Builder);
            Assert.Same(expectedAssembly, sut.AssemblyUnderTest);
            Assert.Equal(ArgumentNullExceptionFixture.DefaultBindingFlags, sut.BindingFlags);
            Assert.NotNull(sut.Filters);
            Assert.NotNull(sut.TypeFilters);
            Assert.NotNull(sut.MethodFilters);
            Assert.NotNull(sut.ParameterFilters);
        }
Example #9
0
        public void InitializeInjectedDefaultsManual(
            [Frozen] Assembly expectedAssembly,
            IFixture expectedFixture)
        {
            // Arrange/Act
            var sut = new ArgumentNullExceptionFixture(expectedAssembly, expectedFixture);

            // Assert
            Assert.Same(expectedFixture, ((SpecimenProvider)sut.SpecimenProvider).Builder);
            Assert.Same(expectedAssembly, sut.AssemblyUnderTest);
            Assert.Equal(ArgumentNullExceptionFixture.DefaultBindingFlags, sut.BindingFlags);
            Assert.NotNull(sut.Filters);
            Assert.NotNull(sut.TypeFilters);
            Assert.NotNull(sut.MethodFilters);
            Assert.NotNull(sut.ParameterFilters);
        }
Example #10
0
 public void InitializeInjectedDefaults(
     [Frozen] Assembly expectedAssembly,
     IFixture expectedFixture,
     [Frozen] List <IFilter> filters,
     [Frozen] List <IMapping> mappings,
     [Greedy] ArgumentNullExceptionFixture sut)
 {
     // AAA
     Assert.Same(expectedFixture, ((SpecimenProvider)sut.SpecimenProvider).Builder);
     Assert.Same(expectedAssembly, sut.AssemblyUnderTest);
     Assert.Same(filters, sut.Filters);
     Assert.Same(mappings, sut.Mappings);
     Assert.Equal(ArgumentNullExceptionFixture.DefaultBindingFlags, sut.BindingFlags);
     Assert.NotNull(sut.TypeFilters);
     Assert.NotNull(sut.MethodFilters);
     Assert.NotNull(sut.ParameterFilters);
 }
        public void ClearBindingFlag(
            BindingFlags mask)
        {
            // Arrange.
            IArgumentNullExceptionFixture sut = new ArgumentNullExceptionFixture(typeof(ArgumentNullExceptionFixtureExtensionsShould).Assembly);

            // Get the original value which should be preserved with the exception of the cleared values.
            BindingFlags original = sut.BindingFlags;

            Assert.Same(sut, sut.SetBindingFlags(mask));
            Assert.True(sut.BindingFlags.HasFlag(mask), "The binding flag has not been set.");
            Assert.True(sut.BindingFlags.HasFlag(original), "The original binding flags have not been preserved.");
            Assert.Equal(original | mask, sut.BindingFlags);

            Assert.Same(sut, sut.ClearBindingFlags(mask));
            Assert.False(sut.BindingFlags.HasFlag(mask), "The Binding flag should not be set after having been cleared.");
            Assert.Equal(original & ~mask, sut.BindingFlags);
        }
        internal void CreateStaticMethodInvocationData(
            SpecimenProvider specimenProvider,
            RegexFilter filter)
        {
            // Arrange
            filter.IncludeMethod("Compare", typeof (Uri))
                  .Rules.Add(new RegexRule("exclude all", type: new Regex(".*"), method: new Regex(".*")));

            IArgumentNullExceptionFixture sut =
                new ArgumentNullExceptionFixture(typeof(Uri).Assembly,
                                                 specimenProvider,
                                                 new List<IFilter> { filter },
                                                 new List<IMapping>());

            // Act
            List<MethodData> methodDatas = sut.GetData().ToList();

            // Assert
            Assert.Equal(5, methodDatas.Count);
            Assert.Equal(5, methodDatas.Select(m => m.ExecutionSetup).OfType<DefaultExecutionSetup>().Count());
        }
Example #13
0
        internal void CreateInstanceMethodInvocationData(
            SpecimenProvider specimenProvider,
            RegexFilter filter)
        {
            // Arrange
            filter.IncludeMethod("GetComponents", typeof(Uri))
            .Rules.Add(new RegexRule("exclude all", type: new Regex(".*"), method: new Regex(".*")));

            IArgumentNullExceptionFixture sut =
                new ArgumentNullExceptionFixture(typeof(Uri).GetTypeInfo().Assembly,
                                                 specimenProvider,
                                                 new List <IFilter> {
                filter
            },
                                                 new List <IMapping>());

            // Act
            List <MethodData> methodDatas = sut.GetData().ToList();

            // Assert
            Assert.Equal(2, methodDatas.Count);
            Assert.Equal(2, methodDatas.Select(m => m.ExecutionSetup).OfType <DefaultExecutionSetup>().Count());
        }
        public void CreateErroredMethodInvocationData(
            Mock<ISpecimenProvider> specimenProviderMock,
            FileNotFoundException exception,
            RegexFilter filter)
        {
            // Arrange
            specimenProviderMock.Setup(sp => sp.GetParameterSpecimens(It.IsAny<IList<ParameterInfo>>(), It.IsAny<int>()))
                                .Throws(exception);
            filter.IncludeMethod("Compare", typeof(Uri))
                  .Rules.Add(new RegexRule("exclude all", type: new Regex(".*"), method: new Regex(".*")));

            IArgumentNullExceptionFixture sut =
                new ArgumentNullExceptionFixture(typeof(Uri).Assembly,
                                                 specimenProviderMock.Object,
                                                 new List<IFilter> { filter },
                                                 new List<IMapping>());

            // Act
            List<MethodData> methodDatas = sut.GetData().ToList();

            // Assert
            Assert.Equal(5, methodDatas.Count);
            List<ErroredExecutionSetup> executionSetups = methodDatas.Select(m => m.ExecutionSetup).OfType<ErroredExecutionSetup>().ToList();
            Assert.Equal(5, executionSetups.Count);
            foreach (ErroredExecutionSetup executionSetup in executionSetups)
            {
                var compositionException = Assert.IsType<CompositionException>(executionSetup.Exception);
                Assert.Same(exception, compositionException.InnerException);
            }
        }