public static IEnumerable <T> GetMany <T>(this TestContextHelper <T> helper, string testAttributeName, IFormatProvider formatProvider = null) { foreach (var kvp in helper.TestContext.GetTestContextPropertiesStartsWith(testAttributeName)) { yield return(TestContextExtensions.Convert <T>(kvp.Value, formatProvider)); } }
public static IEnumerable <T2> GetMany <T1, T2>(this TestContextHelper <T1> helper, Expression <Func <T1, T2> > expression, IFormatProvider formatProvider = null) { foreach (var kvp in helper.TestContext.GetTestContextPropertiesStartsWith(expression.GetMemberName())) { yield return(TestContextExtensions.Convert <T2>(kvp.Value, formatProvider)); } }
public static TestContextHelper <T1> Fill <T1, T2>(this TestContextHelper <T1> helper, Expression <Func <T1, T2> > expression, IFormatProvider formatProvider = null) where T1 : new() { var propertyInfo = expression.GetMemberInfo() as PropertyInfo; if (propertyInfo == null) { throw new ArgumentException("Expected PropertyInfo type as expression value"); } var convertedValues = GetMany(helper, expression, formatProvider).ToArray();; for (var i = 0; i < convertedValues.Length; i++) { if (helper.Instances.Count < i + 1) { helper.Instances.Add(new T1()); } propertyInfo.SetValue(helper.Instances[i], convertedValues[i]); } return(helper); }
public static T Get <T>(this TestContextHelper <T> helper, string testAttributeName, IFormatProvider formatProvider = null) => TestContextExtensions.Convert <T>(helper.TestContext.Get(testAttributeName), formatProvider);
public static T2 Get <T1, T2>(this TestContextHelper <T1> helper, Expression <Func <T1, T2> > expression, IFormatProvider formatProvider = null) => TestContextExtensions.Convert <T2>(helper.TestContext.Get(expression.GetMemberName()), formatProvider);