public void GetAllApiRequests_CanCreate_IMovieApi() { List <PropertyInfo> dbApi = typeof(IMovieDbApi) .GetProperties() .Where(x => typeof(IApiRequest).IsAssignableFrom(x.PropertyType)) .Distinct() .ToList(); Assert.AreEqual(8, dbApi.Count); IMovieDbApi api; try { api = MovieDbFactory.GetAllApiRequests(); } catch (NotImplementedException) { return; } Assert.Fail($"{nameof( MovieDbFactory.GetAllApiRequests )} is not implemented."); // ReSharper disable HeuristicUnreachableCode Assert.IsNotNull(api); foreach (PropertyInfo pi in dbApi) { var val = pi.GetValue(api) as IApiRequest; Assert.IsNotNull(val); } // ReSharper restore HeuristicUnreachableCode }