/// <summary>
 /// Runs the specified fixture action if a property exists in the fixture that matches the specified value predicate.
 /// </summary>
 /// <param name="fixture">The fixture.</param>
 /// <param name="key">The key.</param>
 /// <param name="valuePredicate">The value predicate.</param>
 /// <param name="action">The action.</param>
 /// <returns></returns>
 public static ITestFixture WhenHavingStringProperty(this ITestFixture fixture,
                                                     string key,
                                                     Func <string, bool> valuePredicate,
                                                     Action <ITestFixture> action) =>
 fixture.WhenHavingProperty(key, valuePredicate, action);
 /// <summary>
 /// Runs the specified fixture action if a property exists in the fixture that matches the specified value.
 /// </summary>
 /// <typeparam name="TValue">The type of the value.</typeparam>
 /// <param name="fixture">The fixture.</param>
 /// <param name="key">The key.</param>
 /// <param name="value">The value.</param>
 /// <param name="action">The action.</param>
 /// <returns></returns>
 public static ITestFixture WhenHavingProperty <TValue>(this ITestFixture fixture,
                                                        string key,
                                                        TValue value,
                                                        Action <ITestFixture> action) =>
 fixture.WhenHavingProperty <TValue>(key, v => v.Equals(value), action);