/// <summary> /// Append a definition to a string buffer. /// </summary> /// <param name="definition"> /// The definition to append to a string buffer. /// </param> /// <param name="sb"> /// The string buffer. /// </param> /// <exception cref="ArgumentException"> /// This exception is thrown if <paramref name="sb"/> or <paramref name="definition"/> is not effective. /// </exception> private static void WriteDefinition(Definition definition, StringBuilder sb) { if (definition != null && sb != null) { WriteTab(sb); sb.Append(definition.ToString()); WriteLine(sb); } else { throw new ArgumentException(); } }
private static void EnsureNameIsGood(Definition definition, object control, Type testerType) { Definition goodName = GetNewDefinition(control, testerType); definition.Name = goodName.Name; if (goodName.FormName != null) { definition.FormName = goodName.FormName; } }
private static Definition GetNewDefinition(object control, Type testerType) { Definition newDefinition; try { newDefinition = new Definition(control, GetName(control, null), testerType, null); } catch (AmbiguousNameException) { Form form = ((Control) control).FindForm(); //TODO: fix this! not always a control :( newDefinition = new Definition(control, GetName(control, form), testerType, form.Name); } return newDefinition; }
/// <summary> /// Add a definition to the list of definitions. /// </summary> /// <param name="definition"> /// The definition which will be added. /// </param> /// <exception cref="ArgumentException"> /// This exception is thrown if <paramref name="definition"/> is not effective. /// </exception> public void AddDefinition(Definition definition) { if (definition != null) { definitions.Add(definition); UpdateTest(); } else { throw new ArgumentException(); } }