/// <summary> /// Create a new instance of a test case /// </summary> /// <param name="sutXml"></param> /// <param name="ctrXml"></param> /// <returns></returns> public IEnumerable <string> Instantiate(IRange range) { if (range == null) { throw new ArgumentNullException("range"); } IRangeMembersBuilder builder = null; //Look for registration ... var registration = registrations.FirstOrDefault(reg => reg.Match(range.GetType())); if (registration == null) { throw new ArgumentException(string.Format("'{0}' has no builder registred.", range.GetType().Name, "range")); } //Get Builder and initiate it builder = registration.Builder; builder.Setup(range); //Build builder.Build(); var list = builder.GetResult(); return(list); }
public override void Build() { base.Build(); builder.Build(); Result = builder.GetResult(); foreach (var decorator in decorators) { decorator.Apply(Result); Result = decorator.GetResult(); } }