Пример #1
0
 private static void InterceptWithTrait(IFeatureBuilder featureBuilder, Action <object> withTraitCalled)
 {
     A.CallTo(() => featureBuilder.WithTrait(A <IFeatureTrait> .Ignored))
     .WithAnyArguments()
     .Invokes(call => withTraitCalled(call.Arguments[0]))
     .Returns(featureBuilder);
 }
        /// <summary>
        /// Adds a default value to the feature.
        /// </summary>
        /// <param name="featureBuilder">The feature builder.</param>
        /// <param name="defaultValue">The default value.</param>
        /// <exception cref="ArgumentNullException"><paramref name="featureBuilder"/> is <see langword="null" />.</exception>
        /// <returns>The feature builder given in <paramref name="featureBuilder"/>.</returns>
        public static IFeatureBuilder WithDefaultValue(this IFeatureBuilder featureBuilder, bool defaultValue)
        {
            if (featureBuilder == null)
            {
                throw new ArgumentNullException(nameof(featureBuilder));
            }

            featureBuilder.WithTrait(new DefaultValueTrait(defaultValue));
            return(featureBuilder);
        }
Пример #3
0
        /// <summary>
        /// Adds a dependency trait to the feature.
        /// </summary>
        /// <param name="featureBuilder">The feature builder.</param>
        /// <param name="dependentFeature">The feature to be dependent on.</param>
        /// <exception cref="ArgumentNullException">Either <paramref name="featureBuilder"/> or <paramref name="dependentFeature"/> is <see langword="null" />.</exception>
        /// <returns>The feature builder given in <paramref name="featureBuilder"/>.</returns>
        public static IFeatureBuilder DependentOn(this IFeatureBuilder featureBuilder, IFeature dependentFeature)
        {
            if (featureBuilder == null)
            {
                throw new ArgumentNullException(nameof(featureBuilder));
            }
            if (dependentFeature == null)
            {
                throw new ArgumentNullException(nameof(dependentFeature));
            }

            featureBuilder.WithTrait(new DependentFeatureTrait(dependentFeature));
            return(featureBuilder);
        }
        public void WithDefaultValueAddsDefaultValueTrait(IFeatureBuilder featureBuilder, bool defaultValue)
        {
            object defaultValueTrait = null;
            A.CallTo(() => featureBuilder.WithTrait(A<IFeatureTrait>.Ignored))
                .WithAnyArguments()
                .Invokes(call => defaultValueTrait = call.Arguments[0])
                .Returns(featureBuilder);

            IFeatureBuilder result = FeatureBuilderTraitExtensions.WithDefaultValue(featureBuilder, defaultValue);

            Assert.Same(featureBuilder, result);
            Assert.NotNull(defaultValueTrait);
            Assert.IsType<DefaultValueTrait>(defaultValueTrait);
            Assert.Equal(defaultValue, ((DefaultValueTrait) defaultValueTrait).DefaultValue);
        }
Пример #5
0
        public void WithDefaultValueAddsDefaultValueTrait(IFeatureBuilder featureBuilder, bool defaultValue)
        {
            object defaultValueTrait = null;

            A.CallTo(() => featureBuilder.WithTrait(A <IFeatureTrait> .Ignored))
            .WithAnyArguments()
            .Invokes(call => defaultValueTrait = call.Arguments[0])
            .Returns(featureBuilder);

            IFeatureBuilder result = FeatureBuilderTraitExtensions.WithDefaultValue(featureBuilder, defaultValue);

            Assert.Same(featureBuilder, result);
            Assert.NotNull(defaultValueTrait);
            Assert.IsType <DefaultValueTrait>(defaultValueTrait);
            Assert.Equal(defaultValue, ((DefaultValueTrait)defaultValueTrait).DefaultValue);
        }