/// <summary> /// Creates a <see cref="IFailureHandler"/> instance based on the avaiable testing frameworks. /// </summary> /// <returns>A new <see cref="IFailureHandler"/> instance.</returns> public static IFailureHandler Create() { IEnumerable<Type> types = typeof(FailureHandlerFactory).Assembly.GetTypes() .Where(t => typeof(IFailureHandler).IsAssignableFrom(t) && !t.IsAbstract && t != typeof(FallbackFailureHandler)); foreach (Type type in types) { IFailureHandler handler = Activator.CreateInstance(type) as IFailureHandler; if (handler.IsAvailable()) { return handler; } } return new FallbackFailureHandler(); }
public void AvailableTest() { Assert.True(handler.IsAvailable()); }