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); }
/// <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); }
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); }