public void SelectMethodsFromNullTypeThrows()
        {
            // Arrange
            var sut = new FactoryMethodQuery();

            // Act & assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.SelectMethods(null));
        }
        public void SutIsMethodQuery()
        {
            // Arrange
            // Act
            var sut = new FactoryMethodQuery();

            // Assert
            Assert.IsAssignableFrom <IMethodQuery>(sut);
        }
Пример #3
0
        public void SelectMethodsFromNullTypeThrows()
        {
            // Fixture setup
            var sut = new FactoryMethodQuery();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.SelectMethods(null));
            // Teardown
        }
Пример #4
0
        public void SutIsMethodQuery()
        {
            // Fixture setup
            // Exercise system
            var sut = new FactoryMethodQuery();

            // Verify outcome
            Assert.IsAssignableFrom <IMethodQuery>(sut);
            // Teardown
        }
        public void SelectMethodsFromTypeWithParameterOfSameTypeReturnsEmptyResult()
        {
            // Arrange
            var type = typeof(TypeWithPseudoFactoryMethod);
            var sut  = new FactoryMethodQuery();
            // Act
            var result = sut.SelectMethods(type);

            // Assert
            Assert.False(result.Any());
        }
        public void SelectMethodsFromTypeWithNoPublicConstructorReturnsCorrectResult()
        {
            // Arrange
            var sut = new FactoryMethodQuery();
            var typeWithNoPublicConstructors = typeof(AbstractType);
            // Act
            var result = sut.SelectMethods(typeWithNoPublicConstructors);

            // Assert
            Assert.False(result.Any());
        }
Пример #7
0
        public void SelectMethodsFromTypeWithNoPublicConstructorReturnsCorrectResult()
        {
            // Fixture setup
            var sut = new FactoryMethodQuery();
            var typeWithNoPublicConstructors = typeof(AbstractType);
            // Exercise system
            var result = sut.SelectMethods(typeWithNoPublicConstructors);

            // Verify outcome
            Assert.False(result.Any());
            // Teardown
        }
        public void SelectMethodsFromTypeWithConversionOperatorsOnlyReturnsEmptyResult()
        {
            // Arrange
            var type = typeof(TypeWithCastOperatorsWithoutPublicConstructor);
            var sut  = new FactoryMethodQuery();

            // Act
            var result = sut.SelectMethods(type);

            // Assert
            Assert.Empty(result);
        }
        public void SelectMethodsFromTypeWithParameterOfSameTypeReturnsEmptyResult()
        {
            // Fixture setup
            var type = typeof(TypeWithPseudoFactoryMethod);
            var sut  = new FactoryMethodQuery();
            // Exercise system
            var result = sut.SelectMethods(type);

            // Verify outcome
            Assert.False(result.Any());
            // Teardown
        }
Пример #10
0
        public void SelectMethodsFromTypeWithConversionOperatorsOnlyReturnsEmptyResult()
        {
            // Fixture setup
            var type = typeof(TypeWithCastOperatorsWithoutPublicConstructor);
            var sut  = new FactoryMethodQuery();

            // Exercise system
            var result = sut.SelectMethods(type);

            // Verify outcome
            Assert.Empty(result);

            // Teardown
        }
        public void SelectMethodsFromTypeReturnsCorrectResult(Type type)
        {
            // Arrange
            var expectedMethods =
                from mi in type.GetMethods(BindingFlags.Static | BindingFlags.Public)
                where mi.ReturnType == type
                let parameters = mi.GetParameters()
                                 orderby parameters.Length ascending
                                 select new StaticMethod(mi) as IMethod;

            var sut = new FactoryMethodQuery();
            // Act
            var result = sut.SelectMethods(type);

            // Assert
            Assert.True(expectedMethods.SequenceEqual(result));
        }
Пример #12
0
        public void SelectMethodsFromTypeReturnsCorrectResult(Type type)
        {
            // Fixture setup
            var expectedMethods =
                from mi in type.GetMethods(BindingFlags.Static | BindingFlags.Public)
                where mi.ReturnType == type
                let parameters = mi.GetParameters()
                                 orderby parameters.Length ascending
                                 select new StaticMethod(mi) as IMethod;

            var sut = new FactoryMethodQuery();
            // Exercise system
            var result = sut.SelectMethods(type);

            // Verify outcome
            Assert.True(expectedMethods.SequenceEqual(result));
            // Teardown
        }