public FillDescriptor( Expression <Func <T, object> > selector, IGenerateData generator, Action <T, IGenerateData> callback) { PropertySelector = selector; Generator = generator; Callback = callback; }
static void Main(string[] args) { // Part I and II (Part III (QuickSort) looks similar) // Fill this array with proper object instances IGenerateData[] generators = new IGenerateData[5]; // Fill this array with proper object instances ASorting[] alorithms = new ASorting[4]; // 3 loops here: // 1 - iterate through table sizes, // 2 - generators, // 3 - algorithms, execute method which measures time in ASorting abstract class) }
/// <summary> /// Configure a property to be generated. /// </summary> /// <param name="selector">Selects the property against which the generator will be used.</param> /// <param name="generator">The instance of the generator to be used on the selected property.</param> /// <param name="callback">Overrides the property fill with specified action.</param> /// <returns></returns> public ObjectFill <T> For( Expression <Func <T, object> > selector, IGenerateData generator, Action <T, IGenerateData> callback) { if (ContainsSelector(selector.ToString())) { throw new ArgumentException($"Selector {selector} already registered."); } _selectors.Add(selector, new FillDescriptor( selector, generator, callback)); return(this); }
public PersonService(IGenerateData generateData) { _generateData = generateData; _context = new MoversDbContext(); }
/// <summary> /// Configure a property to be generated. /// </summary> /// <param name="selector">Selects the property against which the generator will be used.</param> /// <param name="generator">The instance of the generator to be used on the selected property.</param> /// <returns></returns> public ObjectFill <T> For(Expression <Func <T, object> > selector, IGenerateData generator) { return(For(selector, generator, null)); }
private static void RunCallback( T instance, IGenerateData generator, Action <T, IGenerateData> callback) { callback(instance, generator); }
private static void SetValue(object instance, IGenerateData generator, PropertyInfo property) { var value = generator.Generate(); SetValue(instance, value, property); }