public void GetCustomizationFromNullParamterThrows()
        {
            // Arrange
            var sut = new GreedyMockAttribute();

            // Act & assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.GetCustomization(null));
        }
        public void SutIsAttribute()
        {
            // Arrange
            // Act
            var sut = new GreedyMockAttribute();

            // Assert
            Assert.IsAssignableFrom <MockCustomizeAttribute>(sut);
        }
        public void GetCustomizationReturnsCorrectResult()
        {
            // Arrange
            var sut       = new GreedyMockAttribute();
            var parameter = typeof(TypeWithOverloadedMembers).GetMethod("DoSomething", new[] { typeof(object) }).GetParameters().Single();
            // Act
            var result = sut.GetCustomization(parameter);
            // Assert
            var invoker = Assert.IsAssignableFrom <ConstructorCustomization>(result);

            Assert.Equal(parameter.ParameterType, invoker.TargetType);
            Assert.IsAssignableFrom <GreedyMockConstructorQuery>(invoker.Query);
        }