master
   1<?xml version="1.0"?>
   2<doc>
   3    <assembly>
   4        <name>TestFu</name>
   5    </assembly>
   6    <members>
   7        <member name="T:TestFu.Data.Adapters.DataAdapt">
   8            <summary>
   9            Static helper class for creating data binders
  10            </summary>	
  11        </member>
  12        <member name="T:TestFu.Data.Collections.DataGeneratorCollection">
  13            <summary>
  14            Summary description for DataGeneratorCollection.
  15            </summary>
  16        </member>
  17        <member name="T:TestFu.Data.IDataGeneratorCollection">
  18            <summary>
  19            A collection of <see cref="T:TestFu.Data.IDataGenerator"/>.
  20            </summary>
  21            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;IDataGeneratorCollection&quot;)]"/>
  22        </member>
  23        <member name="M:TestFu.Data.IDataGeneratorCollection.Add(TestFu.Data.IDataGenerator)">
  24            <summary>
  25            Adds a <see cref="T:TestFu.Data.IDataGenerator"/> to the collection.
  26            </summary>
  27            <param name="dataGenerator">
  28            <see cref="T:TestFu.Data.IDataGenerator"/> to add to the collection.
  29            </param>
  30            <exception cref="T:System.ArgumentNullException">
  31            <paramref name="dataGenerator"/> is a null reference
  32            (Nothing in Visual Basic)
  33            </exception>
  34        </member>
  35        <member name="M:TestFu.Data.IDataGeneratorCollection.Remove(TestFu.Data.IDataGenerator)">
  36            <summary>
  37            Removes a <see cref="T:TestFu.Data.IDataGenerator"/> from the collection.
  38            </summary>
  39            <param name="dataGenerator">
  40            <see cref="T:TestFu.Data.IDataGenerator"/> to remove from the collection.
  41            </param>
  42            <exception cref="T:System.ArgumentNullException">
  43            <paramref name="dataGenerator"/> is a null reference
  44            (Nothing in Visual Basic)
  45            </exception>		
  46        </member>
  47        <member name="M:TestFu.Data.IDataGeneratorCollection.Remove(System.Data.DataColumn)">
  48            <summary>
  49            Removes a <see cref="T:TestFu.Data.IDataGenerator"/> associated to
  50            <paramref name="column"/> from the collection.
  51            </summary>
  52            <param name="column">
  53            <see cref="T:System.Data.DataColumn"/> whose generator is to be removed from the collection.
  54            </param>
  55            <exception cref="T:System.ArgumentNullException">
  56            <paramref name="column"/> is a null reference
  57            (Nothing in Visual Basic)
  58            </exception>				
  59        </member>
  60        <member name="M:TestFu.Data.IDataGeneratorCollection.Remove(System.String)">
  61            <summary>
  62            Removes a <see cref="T:TestFu.Data.IDataGenerator"/> associated to
  63            <paramref name="column"/> from the collection.
  64            </summary>
  65            <param name="columnName">
  66            Column named <paramref name="columnName"/> whose generator is to be removed from the collection.
  67            </param>
  68            <exception cref="T:System.ArgumentNullException">
  69            <paramref name="columnName"/> is a null reference
  70            (Nothing in Visual Basic)
  71            </exception>						
  72        </member>
  73        <member name="P:TestFu.Data.IDataGeneratorCollection.Item(System.Data.DataColumn)">
  74            <summary>
  75            Gets the <see cref="T:TestFu.Data.IDataGenerator"/> associated to the
  76            <paramref name="column"/>.
  77            </summary>
  78            <exception cref="T:System.ArgumentNullException">
  79            <paramref name="column"/> is a null reference 
  80            (Nothing in Visual Basic)
  81            </exception>
  82        </member>
  83        <member name="P:TestFu.Data.IDataGeneratorCollection.Item(System.String)">
  84            <summary>
  85            Gets the <see cref="T:TestFu.Data.IDataGenerator"/> associated to the column named
  86            <paramref name="columnName"/>.
  87            </summary>
  88            <exception cref="T:System.ArgumentNullException">
  89            <paramref name="columnName"/> is a null reference 
  90            (Nothing in Visual Basic)
  91            </exception>		
  92        </member>
  93        <member name="T:TestFu.Data.IForeignKeyProviderCollection">
  94            <summary>
  95            A collection of <see cref="T:TestFu.Data.IForeignKeyProvider"/>.
  96            </summary>
  97            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;IForeignKeyProviderCollection&quot;)]"/>
  98        </member>
  99        <member name="T:TestFu.Data.Collections.TablePopulatorCollection">
 100            <summary>
 101            Summary description for TablePopulatorCollection.
 102            </summary>
 103        </member>
 104        <member name="T:TestFu.Data.ITablePopulatorCollection">
 105            <summary>
 106            A collection of <see cref="T:TestFu.Data.ITablePopulator"/>.
 107            </summary>
 108            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;ITablePopulatorCollection&quot;)]"/>
 109        </member>
 110        <member name="T:TestFu.Data.IUniqueValidatorCollection">
 111            <summary>
 112            A collection of <see cref="T:TestFu.Data.IUniqueValidator"/>.
 113            </summary>
 114            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;IUniqueValidatorCollection&quot;)]"/>
 115        </member>
 116        <member name="T:TestFu.Data.DbAdministratorBase">
 117            <summary>
 118            Abstract class to perform administrative tasks on a database
 119            </summary>
 120            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;DbAdministratorBase&quot;)]"/>
 121        </member>
 122        <member name="M:TestFu.Data.DbAdministratorBase.#ctor(System.String,System.String,TestFu.Data.IDbFactory)">
 123            <summary>
 124            Initializes an instance of <see cref="T:TestFu.Data.DbAdministratorBase"/> with the connection string.
 125            </summary>
 126            <param name="connectionString">Connection string to the SQL server without initial catalog</param>
 127            <param name="databaseName">Catalog name</param>
 128            <param name="factory">The factory to use.</param>
 129            <exception cref="T:System.ArgumentNullException">
 130            <paramref name="connectionString"/> is a null reference (Nothing in Visual Basic)
 131            </exception>
 132        </member>
 133        <member name="M:TestFu.Data.DbAdministratorBase.BackupDatabase(TestFu.Data.DbBackupDevice,System.String)">
 134            <summary>
 135            Creates a backup of the specified database using the specified <paramref name="device"/> 
 136            and <paramref name="destination"/>.
 137            </summary>
 138            <param name="device">
 139            A <see cref="T:TestFu.Data.DbBackupDevice"/> defining the type of output device.
 140            </param>
 141            <param name="destination">
 142            Device path.
 143            </param>
 144            <exception cref="T:System.ArgumentNullException">
 145            <paramref name="destination"/> is a null
 146            reference (Nothing in Visual Basic)
 147            </exception>
 148        </member>
 149        <member name="M:TestFu.Data.DbAdministratorBase.RestoreDatabase(TestFu.Data.DbBackupDevice,System.String)">
 150            <summary>
 151            Restores a backup of the specified database using the specified <paramref name="device"/> 
 152            and <paramref name="destination"/>.
 153            </summary>
 154            <param name="device">
 155            A <see cref="T:TestFu.Data.DbBackupDevice"/> defining the type of output device.
 156            </param>
 157            <param name="destination">
 158            Device path.
 159            </param>
 160            <exception cref="T:System.ArgumentNullException">
 161            <paramref name="destination"/> is a null
 162            reference (Nothing in Visual Basic)
 163            </exception>
 164            <remarks>
 165            <para>
 166            If you plan to override an existing database, you must first drop this database.
 167            This method takes a conservative behavior and will not override an existing database.
 168            </para>
 169            </remarks>
 170        </member>
 171        <member name="M:TestFu.Data.DbAdministratorBase.CreateDatabase">
 172            <summary>
 173            Creates a new database on the server
 174            </summary>
 175        </member>
 176        <member name="M:TestFu.Data.DbAdministratorBase.DropDatabase">
 177            <summary>
 178            Drops an existing new database on the server
 179            </summary>
 180            <exception cref="T:System.ArgumentNullException">
 181            <paramref name="databaseName"/> is a null
 182            reference (Nothing in Visual Basic)
 183            </exception>		
 184        </member>
 185        <member name="M:TestFu.Data.DbAdministratorBase.ContainsDatabase">
 186            <summary>
 187            Gets a value indicating if the current database exists.
 188            </summary>
 189            <returns>
 190            true if it exists; otherwise, false.
 191            </returns>
 192        </member>
 193        <member name="M:TestFu.Data.DbAdministratorBase.DropTable(System.String)">
 194            <summary>
 195            Drops the table.
 196            </summary>
 197            <param name="tableName">
 198            Name of the table to drop
 199            </param>
 200            <remarks>
 201            <para>
 202            This method takes care of removing the constraints associated
 203            to the table before removing the table.
 204            </para>
 205            </remarks>
 206        </member>
 207        <member name="M:TestFu.Data.DbAdministratorBase.ContainsTable(System.String)">
 208            <summary>
 209            Gets a value indicating if the database contains
 210            the table.
 211            </summary>
 212            <param name="tableName">
 213            Name of the table to search
 214            </param>
 215            <returns>
 216            true if a table named <paramref name="tableName"/> is contained
 217            in the databse;oterwise false.
 218            </returns>
 219        </member>
 220        <member name="M:TestFu.Data.DbAdministratorBase.ExecuteNonQuery(System.String,System.String,System.Object[])">
 221            <summary>
 222            Executes a non-query in a safe, transactional environement.
 223            </summary>
 224            <param name="connString">The connection string.</param>
 225            <param name="query">
 226            Query to execute.
 227            </param>
 228            <param name="args">Optional arguments.</param>
 229        </member>
 230        <member name="P:TestFu.Data.DbAdministratorBase.ConnectionString">
 231            <summary>
 232            Gets or sets the connection string with Initial Catalog information
 233            </summary>
 234            <value>
 235            Connection string.
 236            </value>
 237        </member>
 238        <member name="P:TestFu.Data.DbAdministratorBase.DatabaseName">
 239            <summary>
 240            Gets or sets the database name
 241            </summary>
 242            <value>
 243            The database name.
 244            </value>
 245        </member>
 246        <member name="P:TestFu.Data.DbAdministratorBase.DatabaseOwner">
 247            <summary>
 248            Gets or sets the database owner.
 249            </summary>
 250            <value>
 251            Database owner name.
 252            </value>
 253        </member>
 254        <member name="P:TestFu.Data.DbAdministratorBase.DatabaseConnectionString">
 255            <summary>
 256            Gets the connection string with Initial Catalog information.
 257            </summary>
 258            <value>
 259            Connection string with Initial catalog information.
 260            </value>
 261        </member>
 262        <member name="T:TestFu.Data.DbBackupDevice">
 263            <summary>
 264            Enumeration of available SQL backup devices
 265            </summary>
 266            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;DbBackupDevice&quot;)]"/>
 267        </member>
 268        <member name="F:TestFu.Data.DbBackupDevice.Disk">
 269            <summary>
 270            DISK device
 271            </summary>
 272        </member>
 273        <member name="F:TestFu.Data.DbBackupDevice.Tape">
 274            <summary>
 275            TAPE device
 276            </summary>
 277        </member>
 278        <member name="F:TestFu.Data.DbBackupDevice.Dump">
 279            <summary>
 280            Output to named dump
 281            </summary>
 282        </member>
 283        <member name="T:TestFu.Data.IDbFactory">
 284            <summary>
 285            A factory for <see cref="T:System.Data.IDbConnection"/> and <see cref="T:System.Data.IDbCommand"/>
 286            instances.
 287            </summary>
 288            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;IDbFactory&quot;)]"/>
 289        </member>
 290        <member name="M:TestFu.Data.IDbFactory.CreateConnection(System.String)">
 291            <summary>
 292            Creates a <see cref="T:System.Data.IDbConnection"/> instance.
 293            </summary>
 294            <param name="connectionString">
 295            Connection string to server
 296            </param>
 297            <returns>
 298            A <see cref="T:System.Data.IDbConnection"/> instance.
 299            </returns>
 300        </member>
 301        <member name="T:TestFu.Data.DbFixture">
 302            <summary>
 303            An abstract base class for test fixtures involving database testing.
 304            </summary>
 305            <example>
 306<para>The <c>DbFixture</c> (<c>SqlFixture</c> for MsSQL server) can be used as a base class for the 
 307fixtures involving database testing.
 308</para>
 309<code>[TestFixture]
 310public class DatabaseTest : SqlFixture
 311{
 312	public DatabaseTest()
 313	:base("Data Source=testserver;...","MyTestDatabase")
 314	{}
 315	
 316	[SetUp]
 317	public void SetUp()
 318	{
 319		this.Open();
 320		this.BeginTransaction();
 321	}
 322	
 323	[Test]
 324	public void Selec()
 325	{
 326		IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction);
 327		...
 328	}
 329	
 330	[TearDown]
 331	public void TearDown()
 332	{
 333		this.Close();
 334	}
 335}</code>
 336</example>
 337            <seealso cref="T:TestFu.Data.SqlClient.SqlFixture"/>
 338        </member>
 339        <member name="M:TestFu.Data.DbFixture.#ctor(System.String,System.String,TestFu.Data.IDbFactory)">
 340            <summary>
 341            Initializes a <see cref="T:TestFu.Data.DbFixture"/> with a connection string.
 342            </summary>
 343            <param name="connectionString">Connection string for accessing the test database.</param>
 344            <param name="databaseName">The name of the database to use.</param>
 345            <param name="factory">The factory to use.</param>
 346            <exception cref="T:System.ArgumentNullException">
 347            <paramref name="connectionString"/> is a null reference
 348            (Nothing in Visual Basic)
 349            </exception>
 350        </member>
 351        <member name="M:TestFu.Data.DbFixture.Open">
 352            <summary>
 353            Opens a <see cref="T:System.Data.IDbConnection"/> instance with the 
 354            <see cref="P:TestFu.Data.DbFixture.ConnectionString"/>.
 355            </summary>
 356            <remarks>
 357            <para>
 358            This method must be implemented in inherited classes for different factorys.
 359            </para>
 360            </remarks>
 361        </member>
 362        <member name="M:TestFu.Data.DbFixture.ExecuteNonQuery(System.String,System.Object[])">
 363            <summary>
 364            Executes a non-query command with the given parameters
 365            </summary>
 366            <param name="query">
 367            Query format string
 368            </param>
 369            <param name="args">
 370            Query arguments for the format string
 371            </param>
 372            <returns>
 373            Number of affected rows
 374            </returns>
 375            <remarks>
 376            <para>
 377            The connection is automatically opened if necessary.
 378            </para>
 379            </remarks>
 380        </member>
 381        <member name="M:TestFu.Data.DbFixture.ExecuteScalar(System.String,System.Object[])">
 382            <summary>
 383            Executes a scalar query with the given parameters
 384            </summary>
 385            <param name="query">
 386            Query format string
 387            </param>
 388            <param name="args">
 389            Query arguments for the format string
 390            </param>
 391            <returns>
 392            Query result
 393            </returns>
 394            <remarks>
 395            <para>
 396            The connection is automatically opened if necessary.
 397            </para>
 398            </remarks>
 399        </member>
 400        <member name="M:TestFu.Data.DbFixture.ExecuteReader(System.String,System.Object[])">
 401            <summary>
 402            Executes query and returns the <see cref="T:System.Data.IDataReader"/>
 403            instance
 404            </summary>
 405            <param name="query">
 406            Query format string
 407            </param>
 408            <param name="args">
 409            Query arguments for the format string
 410            </param>
 411            <returns>
 412            A <see cref="T:System.Data.IDataReader"/> resulting from the query.
 413            </returns>
 414            <remarks>
 415            <para>
 416            The connection is automatically opened if necessary and the reader
 417            is created with <see cref="F:System.Data.CommandBehavior.CloseConnection"/> 
 418            option.
 419            </para>
 420            </remarks>
 421        </member>
 422        <member name="M:TestFu.Data.DbFixture.BeginTransaction">
 423            <summary>
 424            Begins a new transaction.
 425            </summary>		
 426            <remarks>
 427            <para>
 428            If a previous transaction was opened, by default, it is rolled back.
 429            </para>
 430            </remarks>
 431            <exception cref="T:System.InvalidOperationException">
 432            The current connection is not created or not opened.
 433            </exception>
 434        </member>
 435        <member name="M:TestFu.Data.DbFixture.Commit">
 436            <summary>
 437            Commits the current transaction if any.
 438            </summary>
 439        </member>
 440        <member name="M:TestFu.Data.DbFixture.RollBack">
 441            <summary>
 442            Rollsback the current transaction if any.
 443            </summary>
 444        </member>
 445        <member name="M:TestFu.Data.DbFixture.Close">
 446            <summary>
 447            Closes the current connection.
 448            </summary>
 449            <remarks>
 450            <para>
 451            If a transaction was opened, it is first rolled back.
 452            </para>
 453            </remarks>
 454        </member>
 455        <member name="P:TestFu.Data.DbFixture.Admin">
 456            <summary>
 457            Gets the database <see cref="T:TestFu.Data.DbAdministratorBase"/> instance
 458            </summary>
 459            <value>
 460            A <see cref="T:TestFu.Data.DbAdministratorBase"/> instance.
 461            </value>
 462        </member>
 463        <member name="P:TestFu.Data.DbFixture.Connection">
 464            <summary>
 465            Gets the current connection instance.
 466            </summary>
 467            <value>
 468            <see cref="T:System.Data.IDbConnection"/> instance.
 469            </value>
 470        </member>
 471        <member name="P:TestFu.Data.DbFixture.Transaction">
 472            <summary>
 473            Gets the current transaction.
 474            </summary>
 475            <value>
 476            A <see cref="T:System.Data.IDbTransaction"/> instance if <see cref="M:TestFu.Data.DbFixture.BeginTransaction"/> was called
 477            and the connection not closed; otherwise, a null reference (Nothing in Visual Basic)
 478            </value>
 479        </member>
 480        <member name="P:TestFu.Data.DbFixture.ConnectionString">
 481            <summary>
 482            Gets the connection string to access the db server (without
 483            database information.
 484            </summary>
 485        </member>
 486        <member name="P:TestFu.Data.DbFixture.DatabaseName">
 487            <summary>
 488            Gets the test database name.
 489            </summary>
 490            <value></value>
 491        </member>
 492        <member name="P:TestFu.Data.DbFixture.DatabaseConnectionString">
 493            <summary>
 494            Gets the connection string to connecto the test database.
 495            </summary>
 496        </member>
 497        <member name="T:TestFu.Data.Generators.BinaryGeneratorBase">
 498            <summary>
 499            A random data generator for <see cref="T:System.Byte"/> values.
 500            </summary>
 501            <remarks>
 502            <para>
 503            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates Byte arrays with length in the range
 504            [<see cref="P:TestFu.Data.Generators.BinaryGeneratorBase.MinLength"/>, <see cref="P:TestFu.Data.Generators.BinaryGeneratorBase.MaxLength"/>].
 505            </para>
 506            </remarks>
 507        </member>
 508        <member name="T:TestFu.Data.Generators.DataGeneratorBase">
 509            <summary>
 510            Abstract base class from <see cref="T:TestFu.Data.IDataGenerator"/> instance.
 511            </summary>
 512        </member>
 513        <member name="T:TestFu.Data.IDataGenerator">
 514            <summary>
 515            An random data generator.
 516            </summary>
 517            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;IDataGenerator&quot;)]"/>
 518        </member>
 519        <member name="M:TestFu.Data.IDataGenerator.Reset">
 520            <summary>
 521            Resets the generator
 522            </summary>
 523        </member>
 524        <member name="M:TestFu.Data.IDataGenerator.GenerateData(System.Data.DataRow)">
 525            <summary>
 526            Generates a new value and fills it in the corresponding <see cref="T:System.Data.DataRow"/>.
 527            </summary>
 528            <remarks>
 529            <param>
 530            It is the user job to ensure that the <see cref="T:System.Data.DataRow"/> instance
 531            provided is compatible with the generator definition and more 
 532            specifically the <see cref="T:System.Data.DataColumn"/> it is associated with.
 533            </param>
 534            </remarks>
 535        </member>
 536        <member name="P:TestFu.Data.IDataGenerator.GeneratedType">
 537            <summary>
 538            Gets the generated type
 539            </summary>
 540            <value>
 541            Generated <see cref="T:System.Type"/>.
 542            </value>
 543        </member>
 544        <member name="P:TestFu.Data.IDataGenerator.NullProbability">
 545            <summary>
 546            Gets or sets the probability to produce a NULL
 547            </summary>
 548            <remarks>
 549            This value determines the probability to produce a null value. 
 550            The probability ranges from
 551            0 - never, to 1  - always.
 552            </remarks>
 553            <value>
 554            The probability to produce a null object.
 555            </value>
 556        </member>
 557        <member name="P:TestFu.Data.IDataGenerator.Column">
 558            <summary>
 559            Gets the target column
 560            </summary>
 561            <value>
 562            Target <see cref="T:System.Data.DataColumn"/> instance.
 563            </value>
 564        </member>
 565        <member name="M:TestFu.Data.Generators.DataGeneratorBase.Reset">
 566            <summary>
 567            Resets the generator
 568            </summary>		
 569        </member>
 570        <member name="M:TestFu.Data.Generators.DataGeneratorBase.GenerateData(System.Data.DataRow)">
 571            <summary>
 572            Generates a new value
 573            </summary>
 574            <returns>
 575            New random data.
 576            </returns>		
 577        </member>
 578        <member name="M:TestFu.Data.Generators.DataGeneratorBase.Update">
 579            <summary>
 580            Updates the internal data and verifies column information.
 581            </summary>
 582        </member>
 583        <member name="P:TestFu.Data.Generators.DataGeneratorBase.GeneratedType">
 584            <summary>
 585            Gets the generated type
 586            </summary>
 587            <value>
 588            Generated type.
 589            </value>
 590        </member>
 591        <member name="P:TestFu.Data.Generators.DataGeneratorBase.Column">
 592            <summary>
 593            Gets the target column
 594            </summary>
 595            <value>
 596            Target <see cref="T:System.Data.DataColumn"/> instance.
 597            </value>		
 598        </member>
 599        <member name="P:TestFu.Data.Generators.DataGeneratorBase.NullProbability">
 600            <summary>
 601            Gets or sets the probability to produce a NULL
 602            </summary>
 603            <remarks>
 604            This value determines the probability to produce a null value. The probability ranges from
 605            0, never to 1 always.
 606            </remarks>
 607            <value>
 608            The probability to produce a null object.
 609            </value>
 610        </member>
 611        <member name="M:TestFu.Data.Generators.BinaryGeneratorBase.GenerateData(System.Data.DataRow)">
 612            <summary>
 613            Generates a new value
 614            </summary>
 615            <returns>
 616            New random data.
 617            </returns>		
 618        </member>
 619        <member name="P:TestFu.Data.Generators.BinaryGeneratorBase.GeneratedType">
 620            <summary>
 621            Gets the generated type
 622            </summary>
 623            <value>
 624            Generated type.
 625            </value>
 626        </member>
 627        <member name="P:TestFu.Data.Generators.BinaryGeneratorBase.MinLength">
 628            <summary>
 629            Gets or sets the minimum length of the generated value
 630            </summary>
 631            <value>
 632            Minimum generated length. Default is 16. 
 633            </value>
 634        </member>
 635        <member name="P:TestFu.Data.Generators.BinaryGeneratorBase.MaxLength">
 636            <summary>
 637            Gets or sets the maximum generated value
 638            </summary>
 639            <value>
 640            Maximum generated length. Default is 16.
 641            </value>
 642        </member>
 643        <member name="T:TestFu.Data.Generators.BooleanGenerator">
 644            <summary>
 645            A random generator of <see cref="T:System.Boolean"/> values.
 646            </summary>
 647        </member>
 648        <member name="M:TestFu.Data.Generators.BooleanGenerator.#ctor(System.Data.DataColumn)">
 649            <summary>
 650            Creates an instance with <see cref="P:TestFu.Data.Generators.BooleanGenerator.TrueProbability"/> equal to 0.5.
 651            </summary>
 652        </member>
 653        <member name="M:TestFu.Data.Generators.BooleanGenerator.GenerateData(System.Data.DataRow)">
 654            <summary>
 655            Generates a new value
 656            </summary>
 657            <returns>
 658            New random data.
 659            </returns>		
 660        </member>
 661        <member name="P:TestFu.Data.Generators.BooleanGenerator.GeneratedType">
 662            <summary>
 663            Gets the generated type
 664            </summary>
 665            <value>
 666            Generated type.
 667            </value>
 668        </member>
 669        <member name="P:TestFu.Data.Generators.BooleanGenerator.TrueProbability">
 670            <summary>
 671            Gets or sets the probability to return true.
 672            </summary>
 673            <value>
 674            Probability to return true.
 675            </value>
 676            <exception cref="T:System.ArgumentOutOfRangeException">
 677            <paramref name="trueProbability"/> is not in <c>[0,1]</c>.
 678            </exception>
 679        </member>
 680        <member name="T:TestFu.Data.Generators.ByteGenerator">
 681            <summary>
 682            A random data generator for <see cref="T:System.Byte"/> values.
 683            </summary>
 684            <remarks>
 685            <para>
 686            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates byte values in a range [<see cref="P:TestFu.Data.Generators.ByteGenerator.MinValue"/>, <see cref="P:TestFu.Data.Generators.ByteGenerator.MaxValue"/>].
 687            </para>
 688            </remarks>
 689        </member>
 690        <member name="M:TestFu.Data.Generators.ByteGenerator.GenerateData(System.Data.DataRow)">
 691            <summary>
 692            Generates a new value
 693            </summary>
 694            <returns>
 695            New random data.
 696            </returns>		
 697        </member>
 698        <member name="P:TestFu.Data.Generators.ByteGenerator.GeneratedType">
 699            <summary>
 700            Gets the generated type
 701            </summary>
 702            <value>
 703            Generated type.
 704            </value>
 705        </member>
 706        <member name="P:TestFu.Data.Generators.ByteGenerator.MinValue">
 707            <summary>
 708            Gets or sets the minimum generated value
 709            </summary>
 710            <value>
 711            Minimum generated value. Default is <see cref="F:System.Byte.MinValue"/>
 712            </value>
 713        </member>
 714        <member name="P:TestFu.Data.Generators.ByteGenerator.MaxValue">
 715            <summary>
 716            Gets or sets the maximum generated value
 717            </summary>
 718            <value>
 719            Maximum generated value. Default is <see cref="F:System.Byte.MaxValue"/>
 720            </value>
 721        </member>
 722        <member name="T:TestFu.Data.Generators.DateTimeGenerator">
 723            <summary>
 724            A random data generator for <see cref="T:System.DateTime"/> values.
 725            </summary>
 726            <remarks>
 727            <para>
 728            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates DateTime values in a range [<see cref="P:TestFu.Data.Generators.DateTimeGenerator.MinValue"/>, <see cref="P:TestFu.Data.Generators.DateTimeGenerator.MaxValue"/>].
 729            </para>
 730            </remarks>
 731        </member>
 732        <member name="M:TestFu.Data.Generators.DateTimeGenerator.GenerateData(System.Data.DataRow)">
 733            <summary>
 734            Generates a new value
 735            </summary>
 736            <returns>
 737            New random data.
 738            </returns>		
 739        </member>
 740        <member name="P:TestFu.Data.Generators.DateTimeGenerator.GeneratedType">
 741            <summary>
 742            Gets the generated type
 743            </summary>
 744            <value>
 745            Generated type.
 746            </value>
 747        </member>
 748        <member name="P:TestFu.Data.Generators.DateTimeGenerator.MinValue">
 749            <summary>
 750            Gets or sets the minimum generated value
 751            </summary>
 752            <value>
 753            Minimum generated value. Default is <see cref="F:System.DateTime.MinValue"/>
 754            </value>
 755        </member>
 756        <member name="P:TestFu.Data.Generators.DateTimeGenerator.MaxValue">
 757            <summary>
 758            Gets or sets the maximum generated value
 759            </summary>
 760            <value>
 761            Maximum generated value. Default is <see cref="F:System.DateTime.MaxValue"/>
 762            </value>
 763        </member>
 764        <member name="T:TestFu.Data.Generators.DecimalGenerator">
 765            <summary>
 766            A random data generator for <see cref="T:System.Decimal"/> values.
 767            </summary>
 768            <remarks>
 769            <para>
 770            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates decimal values in a range [<see cref="P:TestFu.Data.Generators.DecimalGenerator.MinValue"/>, <see cref="P:TestFu.Data.Generators.DecimalGenerator.MaxValue"/>].
 771            </para>
 772            </remarks>
 773        </member>
 774        <member name="M:TestFu.Data.Generators.DecimalGenerator.GenerateData(System.Data.DataRow)">
 775            <summary>
 776            Generates a new value
 777            </summary>
 778            <returns>
 779            New random data.
 780            </returns>		
 781        </member>
 782        <member name="P:TestFu.Data.Generators.DecimalGenerator.GeneratedType">
 783            <summary>
 784            Gets the generated type
 785            </summary>
 786            <value>
 787            Generated type.
 788            </value>
 789        </member>
 790        <member name="P:TestFu.Data.Generators.DecimalGenerator.MinValue">
 791            <summary>
 792            Gets or sets the minimum generated value
 793            </summary>
 794            <value>
 795            Minimum generated value. Default is <see cref="F:System.Decimal.MinValue"/>
 796            </value>
 797        </member>
 798        <member name="P:TestFu.Data.Generators.DecimalGenerator.MaxValue">
 799            <summary>
 800            Gets or sets the maximum generated value
 801            </summary>
 802            <value>
 803            Maximum generated value. Default is <see cref="F:System.Decimal.MaxValue"/>
 804            </value>
 805        </member>
 806        <member name="T:TestFu.Data.Generators.DoubleGenerator">
 807            <summary>
 808            A random data generator for <see cref="T:System.Double"/> values.
 809            </summary>
 810            <remarks>
 811            <para>
 812            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates double values in a range [<see cref="P:TestFu.Data.Generators.DoubleGenerator.MinValue"/>, <see cref="P:TestFu.Data.Generators.DoubleGenerator.MaxValue"/>].
 813            </para>
 814            </remarks>
 815        </member>
 816        <member name="M:TestFu.Data.Generators.DoubleGenerator.GenerateData(System.Data.DataRow)">
 817            <summary>
 818            Generates a new value
 819            </summary>
 820            <returns>
 821            New random data.
 822            </returns>		
 823        </member>
 824        <member name="P:TestFu.Data.Generators.DoubleGenerator.GeneratedType">
 825            <summary>
 826            Gets the generated type
 827            </summary>
 828            <value>
 829            Generated type.
 830            </value>
 831        </member>
 832        <member name="P:TestFu.Data.Generators.DoubleGenerator.MinValue">
 833            <summary>
 834            Gets or sets the minimum generated value
 835            </summary>
 836            <value>
 837            Minimum generated value. Default is <see cref="F:System.Double.MinValue"/>
 838            </value>
 839        </member>
 840        <member name="P:TestFu.Data.Generators.DoubleGenerator.MaxValue">
 841            <summary>
 842            Gets or sets the maximum generated value
 843            </summary>
 844            <value>
 845            Maximum generated value. Default is <see cref="F:System.Double.MaxValue"/>
 846            </value>
 847        </member>
 848        <member name="T:TestFu.Data.Generators.GuidGenerator">
 849            <summary>
 850            A random generator of <see cref="T:System.Guid"/> values.
 851            </summary>	
 852        </member>
 853        <member name="M:TestFu.Data.Generators.GuidGenerator.GenerateData(System.Data.DataRow)">
 854            <summary>
 855            Generates a new value
 856            </summary>
 857            <returns>
 858            New random data.
 859            </returns>		
 860        </member>
 861        <member name="P:TestFu.Data.Generators.GuidGenerator.GeneratedType">
 862            <summary>
 863            Gets the generated type
 864            </summary>
 865            <value>
 866            Generated type.
 867            </value>
 868        </member>
 869        <member name="T:TestFu.Data.Generators.ImageBinaryGenerator">
 870            <summary>
 871            A random data generator for <see cref="T:System.Drawing.Bitmap"/> binary values.
 872            </summary>
 873            <remarks>
 874            <para>
 875            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates a bitmap of size
 876            [<see cref="P:TestFu.Data.Generators.BinaryGeneratorBase.MaxLength"/> by <see cref="P:TestFu.Data.Generators.BinaryGeneratorBase.MaxLength"/>].
 877            </para>
 878            </remarks>
 879        </member>
 880        <member name="P:TestFu.Data.Generators.ImageBinaryGenerator.GeneratedType">
 881            <summary>
 882            Gets the generated type
 883            </summary>
 884            <value>
 885            Generated type.
 886            </value>
 887        </member>
 888        <member name="P:TestFu.Data.Generators.ImageBinaryGenerator.PixelFormat">
 889            <summary>
 890            Gets or sets the pixel format
 891            </summary>
 892            <value></value>
 893        </member>
 894        <member name="T:TestFu.Data.Generators.Int16Generator">
 895            <summary>
 896            A random data generator for <see cref="T:System.Int32"/> values.
 897            </summary>
 898            <remarks>
 899            <para>
 900            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates int values in a range [<see cref="P:TestFu.Data.Generators.Int16Generator.MinValue"/>, <see cref="P:TestFu.Data.Generators.Int16Generator.MaxValue"/>].
 901            </para>
 902            </remarks>
 903        </member>
 904        <member name="M:TestFu.Data.Generators.Int16Generator.GenerateData(System.Data.DataRow)">
 905            <summary>
 906            Generates a new value
 907            </summary>
 908            <returns>
 909            New random data.
 910            </returns>		
 911        </member>
 912        <member name="P:TestFu.Data.Generators.Int16Generator.GeneratedType">
 913            <summary>
 914            Gets the generated type
 915            </summary>
 916            <value>
 917            Generated type.
 918            </value>
 919        </member>
 920        <member name="P:TestFu.Data.Generators.Int16Generator.MinValue">
 921            <summary>
 922            Gets or sets the minimum generated value
 923            </summary>
 924            <value>
 925            Minimum generated value. Default is <see cref="F:System.Int32.MinValue"/>
 926            </value>
 927        </member>
 928        <member name="P:TestFu.Data.Generators.Int16Generator.MaxValue">
 929            <summary>
 930            Gets or sets the maximum generated value
 931            </summary>
 932            <value>
 933            Maximum generated value. Default is <see cref="F:System.Int32.MaxValue"/>
 934            </value>
 935        </member>
 936        <member name="T:TestFu.Data.Generators.Int32Generator">
 937            <summary>
 938            A random data generator for <see cref="T:System.Int32"/> values.
 939            </summary>
 940            <remarks>
 941            <para>
 942            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates int values in a range [<see cref="P:TestFu.Data.Generators.Int32Generator.MinValue"/>, <see cref="P:TestFu.Data.Generators.Int32Generator.MaxValue"/>].
 943            </para>
 944            </remarks>
 945        </member>
 946        <member name="M:TestFu.Data.Generators.Int32Generator.GenerateData(System.Data.DataRow)">
 947            <summary>
 948            Generates a new value
 949            </summary>
 950            <returns>
 951            New random data.
 952            </returns>		
 953        </member>
 954        <member name="P:TestFu.Data.Generators.Int32Generator.GeneratedType">
 955            <summary>
 956            Gets the generated type
 957            </summary>
 958            <value>
 959            Generated type.
 960            </value>
 961        </member>
 962        <member name="P:TestFu.Data.Generators.Int32Generator.MinValue">
 963            <summary>
 964            Gets or sets the minimum generated value
 965            </summary>
 966            <value>
 967            Minimum generated value. Default is <see cref="F:System.Int32.MinValue"/>
 968            </value>
 969        </member>
 970        <member name="P:TestFu.Data.Generators.Int32Generator.MaxValue">
 971            <summary>
 972            Gets or sets the maximum generated value
 973            </summary>
 974            <value>
 975            Maximum generated value. Default is <see cref="F:System.Int32.MaxValue"/>
 976            </value>
 977        </member>
 978        <member name="T:TestFu.Data.Generators.Int64Generator">
 979            <summary>
 980            A random data generator for <see cref="T:System.Int32"/> values.
 981            </summary>
 982            <remarks>
 983            <para>
 984            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates int values in a range [<see cref="P:TestFu.Data.Generators.Int64Generator.MinValue"/>, <see cref="P:TestFu.Data.Generators.Int64Generator.MaxValue"/>].
 985            </para>
 986            </remarks>
 987        </member>
 988        <member name="M:TestFu.Data.Generators.Int64Generator.GenerateData(System.Data.DataRow)">
 989            <summary>
 990            Generates a new value
 991            </summary>
 992            <returns>
 993            New random data.
 994            </returns>		
 995        </member>
 996        <member name="P:TestFu.Data.Generators.Int64Generator.GeneratedType">
 997            <summary>
 998            Gets the generated type
 999            </summary>
1000            <value>
1001            Generated type.
1002            </value>
1003        </member>
1004        <member name="P:TestFu.Data.Generators.Int64Generator.MinValue">
1005            <summary>
1006            Gets or sets the minimum generated value
1007            </summary>
1008            <value>
1009            Minimum generated value. Default is <see cref="F:System.Int32.MinValue"/>
1010            </value>
1011        </member>
1012        <member name="P:TestFu.Data.Generators.Int64Generator.MaxValue">
1013            <summary>
1014            Gets or sets the maximum generated value
1015            </summary>
1016            <value>
1017            Maximum generated value. Default is <see cref="F:System.Int32.MaxValue"/>
1018            </value>
1019        </member>
1020        <member name="T:TestFu.Data.Generators.StringGeneratorBase">
1021            <summary>
1022            A random generator of <see cref="T:System.String"/> instances.
1023            </summary>
1024        </member>
1025        <member name="M:TestFu.Data.Generators.StringGeneratorBase.#ctor(System.Data.DataColumn)">
1026            <summary>
1027            Initializes a new instance of <see cref="T:TestFu.Data.Generators.StringGeneratorBase"/>.
1028            </summary>
1029            <param name="column"></param>
1030        </member>
1031        <member name="P:TestFu.Data.Generators.StringGeneratorBase.GeneratedType">
1032            <summary>
1033            Gets the generated type
1034            </summary>
1035            <value>
1036            Generated type.
1037            </value>
1038        </member>
1039        <member name="P:TestFu.Data.Generators.StringGeneratorBase.MinLength">
1040            <summary>
1041            Gets or sets the minimum length of the string
1042            </summary>
1043            <value>
1044            Minimum length of the string.
1045            </value>
1046            <exception cref="T:System.ArgumentOutOfRangeException">
1047            set proprety, the value is negative.
1048            </exception>
1049        </member>
1050        <member name="P:TestFu.Data.Generators.StringGeneratorBase.MaxLength">
1051            <summary>
1052            Gets or sets the maximum length of the string
1053            </summary>
1054            <value>
1055            Maximum length of the string.
1056            </value>
1057            <exception cref="T:System.ArgumentOutOfRangeException">
1058            set proprety, the value is less than 1.
1059            </exception>		
1060        </member>
1061        <member name="T:TestFu.Data.Generators.MoneyGenerator">
1062            <summary>
1063            A random data generator for <see cref="T:System.Data.SqlTypes.SqlMoney"/> values.
1064            </summary>
1065            <remarks>
1066            <para>
1067            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates float values in a range [<see cref="P:TestFu.Data.Generators.MoneyGenerator.MinValue"/>, <see cref="P:TestFu.Data.Generators.MoneyGenerator.MaxValue"/>].
1068            </para>
1069            </remarks>
1070        </member>
1071        <member name="M:TestFu.Data.Generators.MoneyGenerator.GenerateData(System.Data.DataRow)">
1072            <summary>
1073            Generates a new value
1074            </summary>
1075            <returns>
1076            New random data.
1077            </returns>		
1078        </member>
1079        <member name="P:TestFu.Data.Generators.MoneyGenerator.GeneratedType">
1080            <summary>
1081            Gets the generated type
1082            </summary>
1083            <value>
1084            Generated type.
1085            </value>
1086        </member>
1087        <member name="P:TestFu.Data.Generators.MoneyGenerator.MinValue">
1088            <summary>
1089            Gets or sets the minimum generated value
1090            </summary>
1091            <value>
1092            Minimum generated value. Default is <see cref="F:System.Single.MinValue"/>
1093            </value>
1094        </member>
1095        <member name="P:TestFu.Data.Generators.MoneyGenerator.MaxValue">
1096            <summary>
1097            Gets or sets the maximum generated value
1098            </summary>
1099            <value>
1100            Maximum generated value. Default is <see cref="F:System.Single.MaxValue"/>
1101            </value>
1102        </member>
1103        <member name="M:TestFu.Data.Generators.NameStringGenerator.GenerateData(System.Data.DataRow)">
1104            <summary>
1105            Generates a new value
1106            </summary>
1107            <returns>
1108            New random data.
1109            </returns>		
1110        </member>
1111        <member name="M:TestFu.Data.Generators.NowDateTimeGenerator.GenerateData(System.Data.DataRow)">
1112            <summary>
1113            Generates a new value
1114            </summary>
1115            <returns>
1116            New random data.
1117            </returns>		
1118        </member>
1119        <member name="T:TestFu.Data.Generators.SingleGenerator">
1120            <summary>
1121            </summary>
1122            <remarks>
1123            <para>
1124            This <see cref="T:TestFu.Data.IDataGenerator"/> method generates float values in a range [<see cref="P:TestFu.Data.Generators.SingleGenerator.MinValue"/>, <see cref="P:TestFu.Data.Generators.SingleGenerator.MaxValue"/>].
1125            </para>
1126            </remarks>
1127        </member>
1128        <member name="M:TestFu.Data.Generators.SingleGenerator.GenerateData(System.Data.DataRow)">
1129            <summary>
1130            Generates a new value
1131            </summary>
1132            <returns>
1133            New random data.
1134            </returns>		
1135        </member>
1136        <member name="P:TestFu.Data.Generators.SingleGenerator.GeneratedType">
1137            <summary>
1138            Gets the generated type
1139            </summary>
1140            <value>
1141            Generated type.
1142            </value>
1143        </member>
1144        <member name="P:TestFu.Data.Generators.SingleGenerator.MinValue">
1145            <summary>
1146            Gets or sets the minimum generated value
1147            </summary>
1148            <value>
1149            Minimum generated value. Default is 0
1150            </value>
1151        </member>
1152        <member name="P:TestFu.Data.Generators.SingleGenerator.MaxValue">
1153            <summary>
1154            Gets or sets the maximum generated value
1155            </summary>
1156            <value>
1157            Maximum generated value. Default is 0
1158            </value>
1159        </member>
1160        <member name="T:TestFu.Data.Generators.RangeStringGenerator">
1161            <summary>
1162            A random generator of <see cref="T:System.String"/> instances.
1163            </summary>
1164        </member>
1165        <member name="M:TestFu.Data.Generators.RangeStringGenerator.#ctor(System.Data.DataColumn)">
1166            <summary>
1167            Initializes a new instance of <see cref="T:TestFu.Data.Generators.RangeStringGenerator"/>.
1168            </summary>
1169            <param name="column"></param>
1170        </member>
1171        <member name="M:TestFu.Data.Generators.RangeStringGenerator.GenerateData(System.Data.DataRow)">
1172            <summary>
1173            Generates a new value
1174            </summary>
1175            <returns>
1176            New random data.
1177            </returns>		
1178        </member>
1179        <member name="P:TestFu.Data.Generators.RangeStringGenerator.Characters">
1180            <summary>
1181            Gets or sets the string containing the generated characters
1182            </summary>
1183            <value></value>
1184        </member>
1185        <member name="T:TestFu.Data.Graph.DataGraph">
1186            <summary>
1187            A graph of <see cref="T:System.Data.DataTable"/> (vertices) and <see cref="T:System.Data.DataRelation"/>
1188            (edges).
1189            </summary>
1190        </member>
1191        <member name="M:TestFu.Data.Graph.DataGraph.#ctor">
1192            <summary>
1193            Builds a new empty directed graph with default vertex and edge
1194            provider.
1195            </summary>
1196            <remarks>
1197            </remarks>
1198        </member>
1199        <member name="M:TestFu.Data.Graph.DataGraph.Clear">
1200            <summary>
1201            Remove all of the edges and vertices from the graph.
1202            </summary>
1203        </member>
1204        <member name="M:TestFu.Data.Graph.DataGraph.AddVertex(System.Data.DataTable)">
1205            <summary>
1206            Add a new DataTableVertex to the graph and returns it.
1207            </summary>
1208            <returns>
1209            Created vertex
1210            </returns>
1211        </member>
1212        <member name="M:TestFu.Data.Graph.DataGraph.RemoveVertex(TestFu.Data.Graph.DataTableVertex)">
1213            <summary>
1214            Removes the vertex from the graph.
1215            </summary>
1216            <param name="v">vertex to remove</param>
1217            <exception cref="T:System.ArgumentNullException">v is null</exception>
1218        </member>
1219        <member name="M:TestFu.Data.Graph.DataGraph.AddEdge(TestFu.Data.Graph.DataTableVertex,TestFu.Data.Graph.DataTableVertex,System.Data.DataRelation)">
1220            <summary>
1221            Add a new vertex from source to target
1222             
1223            Complexity: 2 search + 1 insertion
1224            </summary>
1225            <param name="source">Source vertex</param>
1226            <param name="target">Target vertex</param>
1227            <param name="relation">Relation</param>
1228            <returns>Created Edge</returns>
1229            <exception cref="T:System.ArgumentNullException">
1230            source or target is a null reference
1231            </exception>
1232            <exception cref="T:System.Exception">source or target are not part of the graph</exception>
1233        </member>
1234        <member name="M:TestFu.Data.Graph.DataGraph.ClearVertex(TestFu.Data.Graph.DataTableVertex)">
1235            <summary>
1236            Remove all edges to and from vertex u from the graph.
1237            </summary>
1238            <param name="v"></param>
1239        </member>
1240        <member name="M:TestFu.Data.Graph.DataGraph.RemoveEdge(TestFu.Data.Graph.DataRelationEdge)">
1241            <summary>
1242            Removes an edge from the graph.
1243            
1244            Complexity: 2 edges removed from the vertex edge list + 1 edge
1245            removed from the edge list.
1246            </summary>
1247            <param name="e">edge to remove</param>
1248            <exception cref="T:System.ArgumentNullException">
1249            e is a null reference (Nothing in Visual Basic)
1250            </exception>
1251            <exception cref="T:QuickGraph.Exceptions.EdgeNotFoundException">
1252            <paramref name="e"/> is not part of the graph
1253            </exception>
1254        </member>
1255        <member name="M:TestFu.Data.Graph.DataGraph.RemoveEdge(TestFu.Data.Graph.DataTableVertex,TestFu.Data.Graph.DataTableVertex)">
1256            <summary>
1257            Remove the edge (u,v) from the graph. 
1258            If the graph allows parallel edges this remove all occurrences of 
1259            (u,v).
1260            </summary>
1261            <param name="u">source vertex</param>
1262            <param name="v">target vertex</param>
1263        </member>
1264        <member name="M:TestFu.Data.Graph.DataGraph.AddVertex(TestFu.Data.Graph.DataTableVertex)">
1265            <summary>
1266            Add a new vertex to the graph and returns it.
1267            </summary>
1268            <returns>Create vertex</returns>
1269        </member>
1270        <member name="M:TestFu.Data.Graph.DataGraph.AddEdge(TestFu.Data.Graph.DataRelationEdge)">
1271            <summary>
1272            Used for serialization. Not for private use.
1273            </summary>
1274            <param name="e">edge to add.</param>
1275        </member>
1276        <member name="M:TestFu.Data.Graph.DataGraph.OutEdgesEmpty(TestFu.Data.Graph.DataTableVertex)">
1277            <summary>
1278            Gets a value indicating if the set of out-edges is empty
1279            </summary>
1280            <remarks>
1281            <para>
1282            Usually faster that calling <see cref="M:TestFu.Data.Graph.DataGraph.OutDegree(TestFu.Data.Graph.DataTableVertex)"/>.
1283            </para>
1284            </remarks>
1285            <value>
1286            true if the out-edge set is empty, false otherwise.
1287            </value>
1288            <exception cref="T:System.ArgumentNullException">
1289            v is a null reference (Nothing in Visual Basic)
1290            </exception>
1291            <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
1292            v is not part of the graph.
1293            </exception>
1294        </member>
1295        <member name="M:TestFu.Data.Graph.DataGraph.OutDegree(TestFu.Data.Graph.DataTableVertex)">
1296            <summary>
1297            Returns the number of out-degree edges of v
1298            </summary>
1299            <param name="v">vertex</param>
1300            <returns>number of out-edges of the <see cref="T:TestFu.Data.Graph.DataTableVertex"/> v</returns>
1301            <exception cref="T:System.ArgumentNullException">
1302            v is a null reference (Nothing in Visual Basic)
1303            </exception>
1304            <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
1305            v is not part of the graph.
1306            </exception>		
1307        </member>
1308        <member name="M:TestFu.Data.Graph.DataGraph.OutEdges(TestFu.Data.Graph.DataTableVertex)">
1309            <summary>
1310            Returns an iterable collection over the edge connected to v
1311            </summary>
1312            <param name="v"></param>
1313            <returns>out-edges of v</returns>
1314            <exception cref="T:System.ArgumentNullException">
1315            v is a null reference.
1316            </exception>
1317            <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
1318            v is not part of the graph.
1319            </exception>
1320        </member>
1321        <member name="M:TestFu.Data.Graph.DataGraph.ContainsEdge(TestFu.Data.Graph.DataTableVertex,TestFu.Data.Graph.DataTableVertex)">
1322            <summary>
1323            Test is an edge (u,v) is part of the graph
1324            </summary>
1325            <param name="u">source vertex</param>
1326            <param name="v">target vertex</param>
1327            <returns>true if part of the graph</returns>
1328        </member>
1329        <member name="M:TestFu.Data.Graph.DataGraph.SelectSingleOutEdge(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
1330            <summary>
1331            Returns the first out-edge that matches the predicate
1332            </summary>
1333            <param name="v"></param>
1334            <param name="ep">Edge predicate</param>
1335            <returns>null if not found, otherwize the first Edge that
1336            matches the predicate.</returns>
1337            <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
1338        </member>
1339        <member name="M:TestFu.Data.Graph.DataGraph.SelectOutEdges(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
1340            <summary>
1341            Returns the collection of out-edges that matches the predicate
1342            </summary>
1343            <param name="v"></param>
1344            <param name="ep">Edge predicate</param>
1345            <returns>enumerable colleciton of vertices that matches the 
1346            criteron</returns>
1347            <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
1348        </member>
1349        <member name="M:TestFu.Data.Graph.DataGraph.RemoveEdgeIf(QuickGraph.Concepts.Predicates.IEdgePredicate)">
1350            <summary>
1351            Remove all the edges from graph g for which the predicate pred
1352            returns true.
1353            </summary>
1354            <param name="pred">edge predicate</param>
1355        </member>
1356        <member name="M:TestFu.Data.Graph.DataGraph.RemoveOutEdgeIf(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
1357            <summary>
1358            Remove all the out-edges of vertex u for which the predicate pred 
1359            returns true.
1360            </summary>
1361            <param name="u">vertex</param>
1362            <param name="pred">edge predicate</param>
1363        </member>
1364        <member name="M:TestFu.Data.Graph.DataGraph.ContainsVertex(TestFu.Data.Graph.DataTableVertex)">
1365            <summary>
1366            Tests if a <see cref="T:TestFu.Data.Graph.DataTableVertex"/> is part of the graph
1367            </summary>
1368            <param name="v">Vertex to test</param>
1369            <returns>true if is part of the graph, false otherwize</returns>
1370        </member>
1371        <member name="M:TestFu.Data.Graph.DataGraph.SelectSingleVertex(QuickGraph.Concepts.Predicates.IVertexPredicate)">
1372            <summary>
1373            Returns the first <see cref="T:TestFu.Data.Graph.DataTableVertex"/> that matches the predicate
1374            </summary>
1375            <param name="vp">vertex predicate</param>
1376            <returns>null if not found, otherwize the first vertex that
1377            matches the predicate.</returns>
1378            <exception cref="T:System.ArgumentNullException">vp is null</exception>
1379        </member>
1380        <member name="M:TestFu.Data.Graph.DataGraph.SelectVertices(QuickGraph.Concepts.Predicates.IVertexPredicate)">
1381            <summary>
1382            Returns the collection of vertices that matches the predicate
1383            </summary>
1384            <param name="vp">vertex predicate</param>
1385            <returns>enumerable colleciton of vertices that matches the 
1386            criteron</returns>
1387            <exception cref="T:System.ArgumentNullException">vp is null</exception>
1388        </member>
1389        <member name="M:TestFu.Data.Graph.DataGraph.ContainsEdge(TestFu.Data.Graph.DataRelationEdge)">
1390            <summary>
1391            Tests if a (<see cref="T:TestFu.Data.Graph.DataRelationEdge"/>) is part of the graph
1392            </summary>
1393            <param name="e">Edge to test</param>
1394            <returns>true if is part of the graph, false otherwize</returns>
1395        </member>
1396        <member name="M:TestFu.Data.Graph.DataGraph.SelectSingleEdge(QuickGraph.Concepts.Predicates.IEdgePredicate)">
1397            <summary>
1398            Returns the first Edge that matches the predicate
1399            </summary>
1400            <param name="ep">Edge predicate</param>
1401            <returns>null if not found, otherwize the first Edge that
1402            matches the predicate.</returns>
1403            <exception cref="T:System.ArgumentNullException">ep is null</exception>
1404        </member>
1405        <member name="M:TestFu.Data.Graph.DataGraph.SelectEdges(QuickGraph.Concepts.Predicates.IEdgePredicate)">
1406            <summary>
1407            Returns the collection of edges that matches the predicate
1408            </summary>
1409            <param name="ep">Edge predicate</param>
1410            <returns>enumerable colleciton of vertices that matches the 
1411            criteron</returns>
1412            <exception cref="T:System.ArgumentNullException">ep is null</exception>
1413        </member>
1414        <member name="M:TestFu.Data.Graph.DataGraph.AdjacentVertices(TestFu.Data.Graph.DataTableVertex)">
1415            <summary>
1416            Gets an enumerable collection of adjacent vertices
1417            </summary>
1418            <param name="v"></param>
1419            <returns>Enumerable collection of adjacent vertices</returns>
1420        </member>
1421        <member name="M:TestFu.Data.Graph.DataGraph.InEdgesEmpty(TestFu.Data.Graph.DataTableVertex)">
1422            <summary>
1423            Gets a value indicating if the set of in-edges is empty
1424            </summary>
1425            <remarks>
1426            <para>
1427            Usually faster that calling <see cref="M:TestFu.Data.Graph.DataGraph.InDegree(TestFu.Data.Graph.DataTableVertex)"/>.
1428            </para>
1429            </remarks>
1430            <value>
1431            true if the in-edge set is empty, false otherwise.
1432            </value>
1433            <exception cref="T:System.ArgumentNullException">
1434            v is a null reference (Nothing in Visual Basic)
1435            </exception>
1436            <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
1437            <paramref name="v"/> is not part of the graph.
1438            </exception>
1439        </member>
1440        <member name="M:TestFu.Data.Graph.DataGraph.InDegree(TestFu.Data.Graph.DataTableVertex)">
1441            <summary>
1442            Returns the number of in-degree edges of v
1443            </summary>
1444            <param name="v"></param>
1445            <returns>number of in-edges of the vertex v</returns>
1446            <exception cref="T:System.ArgumentNullException">
1447            v is a null reference (Nothing in Visual Basic)
1448            </exception>
1449            <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
1450            <paramref name="v"/> is not part of the graph.
1451            </exception>		
1452        </member>
1453        <member name="M:TestFu.Data.Graph.DataGraph.InEdges(TestFu.Data.Graph.DataTableVertex)">
1454            <summary>
1455            Returns an iterable collection over the in-edge connected to v
1456            </summary>
1457            <param name="v"></param>
1458            <returns>in-edges of v</returns>
1459            <exception cref="T:System.ArgumentNullException">
1460            v is a null reference (Nothing in Visual Basic)
1461            </exception>
1462            <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
1463            <paramref name="v"/> is not part of the graph.
1464            </exception>		
1465        </member>
1466        <member name="M:TestFu.Data.Graph.DataGraph.QuickGraph#Concepts#Traversals#IBidirectionalGraph#InEdges(QuickGraph.Concepts.IVertex)">
1467            <summary>
1468            Incidence graph implementation
1469            </summary>
1470        </member>
1471        <member name="M:TestFu.Data.Graph.DataGraph.AdjacentEdgesEmpty(TestFu.Data.Graph.DataTableVertex)">
1472            <summary>
1473            Gets a value indicating if the set of edges connected to v is empty
1474            </summary>
1475            <remarks>
1476            <para>
1477            Usually faster that calling <see cref="M:TestFu.Data.Graph.DataGraph.Degree(TestFu.Data.Graph.DataTableVertex)"/>.
1478            </para>
1479            </remarks>
1480            <value>
1481            true if the adjacent edge set is empty, false otherwise.
1482            </value>
1483            <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
1484        </member>
1485        <member name="M:TestFu.Data.Graph.DataGraph.Degree(TestFu.Data.Graph.DataTableVertex)">
1486            <summary>
1487            Returns the number of in-edges plus out-edges.
1488            </summary>
1489            <param name="v"></param>
1490            <returns></returns>
1491        </member>
1492        <member name="M:TestFu.Data.Graph.DataGraph.SelectSingleInEdge(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
1493            <summary>
1494            Returns the first in-edge that matches the predicate
1495            </summary>
1496            <param name="v"></param>
1497            <param name="ep">Edge predicate</param>
1498            <returns>null if not found, otherwize the first Edge that
1499            matches the predicate.</returns>
1500            <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
1501        </member>
1502        <member name="M:TestFu.Data.Graph.DataGraph.SelectInEdges(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
1503            <summary>
1504            Returns the collection of in-edges that matches the predicate
1505            </summary>
1506            <param name="v"></param>
1507            <param name="ep">Edge predicate</param>
1508            <returns>enumerable colleciton of vertices that matches the 
1509            criteron</returns>
1510            <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
1511        </member>
1512        <member name="M:TestFu.Data.Graph.DataGraph.QuickGraph#Concepts#Traversals#IFilteredBidirectionalGraph#SelectInEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
1513            <summary>
1514            
1515            </summary>
1516            <param name="v"></param>
1517            <param name="ep"></param>
1518            <returns></returns>
1519        </member>
1520        <member name="M:TestFu.Data.Graph.DataGraph.RemoveInEdgeIf(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
1521            <summary>
1522            Remove all the out-edges of vertex u for which the predicate pred 
1523            returns true.
1524            </summary>
1525            <param name="u">vertex</param>
1526            <param name="pred">edge predicate</param>
1527        </member>
1528        <member name="P:TestFu.Data.Graph.DataGraph.IsDirected">
1529            <summary>
1530            Gets a value indicating if the <see cref="T:TestFu.Data.Graph.DataGraph"/> 
1531            is directed.
1532            </summary>
1533            <value>
1534            true if the graph is directed, false if undirected.
1535            </value>
1536        </member>
1537        <member name="P:TestFu.Data.Graph.DataGraph.AllowParallelEdges">
1538            <summary>
1539            Gets a value indicating if the <see cref="T:TestFu.Data.Graph.DataGraph"/> allows parallel edges.
1540            </summary>
1541            <value>
1542            true if the <see cref="T:TestFu.Data.Graph.DataGraph"/> is a multi-graph, false otherwise
1543            </value>
1544        </member>
1545        <member name="P:TestFu.Data.Graph.DataGraph.VertexProvider">
1546            <summary>
1547            Gets the <see cref="T:TestFu.Data.Graph.DataTableVertex"/> provider
1548            </summary>
1549            <value>
1550            <see cref="T:TestFu.Data.Graph.DataTableVertex"/> provider
1551            </value>
1552        </member>
1553        <member name="P:TestFu.Data.Graph.DataGraph.EdgeProvider">
1554            <summary>
1555            Gets the <see cref="T:TestFu.Data.Graph.DataRelationEdge"/> provider
1556            </summary>
1557            <value>
1558            <see cref="T:TestFu.Data.Graph.DataRelationEdge"/> provider
1559            </value>
1560        </member>
1561        <member name="P:TestFu.Data.Graph.DataGraph.VerticesEmpty">
1562            <summary>
1563            Gets a value indicating if the vertex set is empty
1564            </summary>
1565            <para>
1566            Usually faster (O(1)) that calling <c>VertexCount</c>.
1567            </para>
1568            <value>
1569            true if the vertex set is empty, false otherwise.
1570            </value>
1571        </member>
1572        <member name="P:TestFu.Data.Graph.DataGraph.VerticesCount">
1573            <summary>
1574            Gets the number of vertices
1575            </summary>
1576            <value>
1577            Number of vertices in the graph
1578            </value>
1579        </member>
1580        <member name="P:TestFu.Data.Graph.DataGraph.Vertices">
1581            <summary>
1582            Enumerable collection of vertices.
1583            </summary>
1584        </member>
1585        <member name="P:TestFu.Data.Graph.DataGraph.EdgesEmpty">
1586            <summary>
1587            Gets a value indicating if the vertex set is empty
1588            </summary>
1589            <remarks>
1590            <para>
1591            Usually faster that calling <see cref="P:TestFu.Data.Graph.DataGraph.EdgesCount"/>.
1592            </para>
1593            </remarks>
1594            <value>
1595            true if the vertex set is empty, false otherwise.
1596            </value>
1597        </member>
1598        <member name="P:TestFu.Data.Graph.DataGraph.EdgesCount">
1599            <summary>
1600            Gets the edge count
1601            </summary>
1602            <remarks>
1603            Edges count
1604            </remarks>
1605        </member>
1606        <member name="P:TestFu.Data.Graph.DataGraph.Edges">
1607            <summary>
1608            Enumerable collection of edges.
1609            </summary>
1610        </member>
1611        <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.#ctor">
1612            <summary>
1613            Initializes a new empty instance of the 
1614            <see cref="T:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection"/> class.
1615            </summary>
1616        </member>
1617        <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.Add(TestFu.Data.Graph.DataRelationEdge)">
1618            <summary>
1619            Adds an instance of type <see cref="T:TestFu.Data.Graph.DataRelationEdge"/> to the end of this 
1620            <see cref="T:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection"/>.
1621            </summary>
1622            <param name="value">
1623            The Edge to be added to the end of this EdgeCollection.
1624            </param>
1625        </member>
1626        <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.Remove(QuickGraph.Concepts.IEdge)">
1627            <summary>
1628            Removes the first occurrence of a specific Edge from this EdgeCollection.
1629            </summary>
1630            <param name="value">
1631            The Edge value to remove from this EdgeCollection.
1632            </param>
1633        </member>
1634        <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.Contains(TestFu.Data.Graph.DataRelationEdge)">
1635            <summary>
1636            Determines whether a specfic <see cref="T:TestFu.Data.Graph.DataRelationEdge"/> value is in this EdgeCollection.
1637            </summary>
1638            <param name="value">
1639            edge value to locate in this <see cref="T:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection"/>.
1640            </param>
1641            <returns>
1642            true if value is found in this collection;
1643            false otherwise.
1644            </returns>
1645        </member>
1646        <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.GetEnumerator">
1647            <summary>
1648            Returns an enumerator that can iterate through the elements of this EdgeCollection.
1649            </summary>
1650            <returns>
1651            An object that implements System.Collections.IEnumerator.
1652            </returns>        
1653        </member>
1654        <member name="P:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.Item(System.Int32)">
1655            <summary>
1656            Gets or sets the Edge at the given index in this EdgeCollection.
1657            </summary>
1658        </member>
1659        <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.DataRelationEdgeEnumerator.#ctor(TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection)">
1660            <summary>
1661            Create a new enumerator on the collection
1662            </summary>
1663            <param name="collection">collection to enumerate</param>
1664        </member>
1665        <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.DataRelationEdgeEnumerator.MoveNext">
1666            <summary>
1667            Moves cursor to next element.
1668            </summary>
1669            <returns>true if current is valid, false otherwize</returns>
1670        </member>
1671        <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.DataRelationEdgeEnumerator.Reset">
1672            <summary>
1673            Resets the cursor to the position before the first element.
1674            </summary>
1675        </member>
1676        <member name="P:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.DataRelationEdgeEnumerator.Current">
1677            <summary>
1678            The current element. 
1679            </summary>
1680        </member>
1681        <member name="T:TestFu.Data.Graph.DataGraphPopulator">
1682            <summary>
1683            A populator of <see cref="T:TestFu.Data.Graph.DataGraph"/> instance.	
1684            </summary>
1685        </member>
1686        <member name="T:TestFu.Data.Graph.DataRelationEdge">
1687            <summary>
1688            A <see cref="T:QuickGraph.Concepts.IEdge"/> with a <see cref="T:System.Data.DataRelation"/> instance.
1689            </summary>
1690        </member>
1691        <member name="T:TestFu.Data.ICheckValidator">
1692            <summary>
1693            A validator check checks constraints
1694            </summary>
1695        </member>
1696        <member name="M:TestFu.Data.ICheckValidator.Enforce(System.Data.DataRow)">
1697            <summary>
1698            Preprocesses the row modifies it to fullfill the constraint
1699            </summary>
1700            <param name="row"></param>
1701        </member>
1702        <member name="T:TestFu.Data.IDatabasePopulator">
1703            <summary>
1704            A database populator instance.
1705            </summary>
1706            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;IDatabasePopulator&quot;)]"/>
1707        </member>
1708        <member name="M:TestFu.Data.IDatabasePopulator.Populate(System.Data.DataSet)">
1709            <summary>
1710            Sets up the generators for the given <see cref="P:TestFu.Data.IDatabasePopulator.DataSet"/>
1711            instance.
1712            </summary>
1713            <param name="dataSet">
1714            A <see cref="P:TestFu.Data.IDatabasePopulator.DataSet"/> representing the structure of the 
1715            database to populate.
1716            </param>
1717            <exception cref="T:System.ArgumentNullException">
1718            <paramref name="dataSet"/> is a null reference (Nothing in 
1719            Visual Basic)
1720            </exception>
1721        </member>
1722        <member name="P:TestFu.Data.IDatabasePopulator.DataSet">
1723            <summary>
1724            Gets the <see cref="P:TestFu.Data.IDatabasePopulator.DataSet"/> instance associated
1725            to this populator.
1726            </summary>
1727            <value>
1728            A <see cref="P:TestFu.Data.IDatabasePopulator.DataSet"/> schema used to set-up the generators.
1729            </value>
1730        </member>
1731        <member name="P:TestFu.Data.IDatabasePopulator.Tables">
1732            <summary>
1733            Gets a collection <see cref="T:TestFu.Data.ITablePopulator"/> associated
1734            to each table.
1735            </summary>
1736            <value>
1737            A <see cref="T:TestFu.Data.ITablePopulatorCollection"/> containing
1738            populator associated to each <see cref="T:System.Data.DataTable"/>.
1739            </value>
1740        </member>
1741        <member name="P:TestFu.Data.IDatabasePopulator.Graph">
1742            <summary>
1743            Gets the <see cref="T:TestFu.Data.Graph.DataGraph"/> associated to the
1744            database.
1745            </summary>
1746            <value></value>
1747        </member>
1748        <member name="T:TestFu.Data.IForeignKeyProvider">
1749            <summary>
1750            An instance that can fill a <see cref="T:System.Data.DataRow"/> with
1751            data that are compatible with a 
1752            given <see cref="T:System.Data.ForeignKeyConstraint"/>.
1753            </summary>
1754            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;IForeignKeyProvider&quot;)]"/>
1755        </member>
1756        <member name="M:TestFu.Data.IForeignKeyProvider.Provide(System.Data.DataRow)">
1757            <summary>
1758            Fill the row with data that is compatible with
1759            the foreign key.
1760            </summary>
1761            <param name="row">
1762            <see cref="T:System.Data.DataRow"/> instance to fill.
1763            </param>
1764            <exception cref="T:System.ArgumentNullException">
1765            <paramref name="row"/> is a null reference (Nothing
1766            in Visual Basic).
1767            </exception>
1768        </member>
1769        <member name="P:TestFu.Data.IForeignKeyProvider.ForeignTable">
1770            <summary>
1771            Gets the table populator associated to the foreign table.
1772            </summary>
1773            <value>
1774            The <see cref="T:TestFu.Data.ITablePopulator"/> instance
1775            associated to the foreign
1776            table.
1777            </value>
1778        </member>
1779        <member name="P:TestFu.Data.IForeignKeyProvider.ForeignKey">
1780            <summary>
1781            Gets the foreign constraint that needs to be satisfied.
1782            </summary>
1783            <value>
1784            The <see cref="T:System.Data.ForeignKeyConstraint"/> associated to this
1785            provider.
1786            </value>
1787        </member>
1788        <member name="P:TestFu.Data.IForeignKeyProvider.IsEmpty">
1789            <summary>
1790            Gets a value indicating that the foreign table is empty and
1791            cannot provide keys.
1792            </summary>
1793            <value>
1794            true if the foreign table is empty; otherwise false.
1795            </value>
1796        </member>
1797        <member name="T:TestFu.Data.ITablePopulator">
1798            <summary>
1799            An random <see cref="T:System.Data.DataRow"/> generator compatible with the schema
1800            of a given <see cref="T:System.Data.DataTable"/>.
1801            </summary>
1802            <example>
1803<para>
1804This example shows how the data generator can be used to create unit tests on database. In this example,
1805we setup the dummy <see cref="T:System.Data.DataSet"/> <c>UserOrderProductDatabase</c> and
1806the populator in the <c>SetUp</c> method.
1807</para>
1808<code>
1809using System;
1810using System.Data;
1811using MbUnit.Core.Framework;
1812using MbUnit.Framework;
1813using TestFu.Data;
1814using TestFu.Data.Populators;
1815
1816namespace TestFu.Tests.Data
1817{
1818	[TestFixture]
1819	public class DatabasePopulatorTest
1820	{
1821		private UserOrderProductDatabase db;
1822		private DatabasePopulator pop;
1823		private ITablePopulator users;
1824		private ITablePopulator orders;
1825		private ITablePopulator products;
1826		private ITablePopulator orderProducts;
1827	
1828		[SetUp]
1829		public void SetUp()
1830		{
1831			this.db=new UserOrderProductDatabase();
1832			this.pop = new DatabasePopulator();
1833			this.pop.Populate(this.db.DataSet);
1834
1835			this.users=this.pop.Tables[this.db.Users];
1836			this.orders=this.pop.Tables[this.db.Orders];
1837			this.products=this.pop.Tables[this.db.Products];
1838			this.orderProducts=this.pop.Tables[this.db.OrderProducts];
1839		}
1840
1841		[Test]
1842		public void AddOneUser()
1843		{
1844			DataRow row = users.Generate();
1845			this.db.Users.Rows.Add(row);
1846		}
1847
1848		[Test]
1849		public void AddOneUserOneOrder()
1850		{
1851			this.AddOneUser();
1852			DataRow row = orders.Generate();
1853			this.db.Orders.Rows.Add(row);
1854		}
1855
1856		[Test]
1857		[ExpectedException(typeof(InvalidOperationException))]
1858		public void AddOneOrder()
1859		{
1860			DataRow row = orders.Generate();
1861		}
1862
1863		[Test]
1864		[ExpectedException(typeof(InvalidOperationException))]
1865		public void AddOneOrderProduct()
1866		{
1867			DataRow row = orderProducts.Generate();
1868		}
1869
1870		[Test]
1871		public void AddOneUserOneOrderOneProduct()
1872		{
1873			this.AddOneUserOneOrder();
1874
1875			DataRow row = products.Generate();
1876			this.db.Products.Rows.Add(row);
1877		}
1878
1879		[Test]
1880		public void AddOneUserOneOrderOneProductOneProductOrder()
1881		{
1882			this.AddOneUserOneOrderOneProduct();
1883			DataRow row=orderProducts.Generate();
1884			this.db.OrderProducts.Rows.Add(row);
1885		}
1886
1887		[Test]
1888		public void AddTwoUsers()
1889		{
1890			AddOneUser();
1891			AddOneUser();
1892		}
1893
1894		[TearDown]
1895		public void Check()
1896		{
1897			this.db.AcceptChanges();
1898			Console.WriteLine(db.ToString());
1899		}
1900	}
1901}
1902</code>
1903</example>
1904        </member>
1905        <member name="M:TestFu.Data.ITablePopulator.Generate">
1906            <summary>
1907            Generates a new <see cref="T:System.Data.DataRow"/>.
1908            </summary>
1909            <returns>
1910            Generated <see cref="T:System.Data.DataRow"/> instance.
1911            </returns>
1912        </member>
1913        <member name="M:TestFu.Data.ITablePopulator.ChangeRowValues(System.Data.DataRow)">
1914            <summary>
1915            Updates randomly a number of rows
1916            </summary>
1917            <param name="row">The row to update.</param>
1918        </member>
1919        <member name="M:TestFu.Data.ITablePopulator.ChangeRowValues(System.Data.DataRow,System.Boolean)">
1920            <summary>
1921            Updates randomly a number of rows
1922            </summary>
1923            <param name="row">The row to update.</param>
1924            <param name="updateForeignKeys">Flag to update any foreign keys.</param>
1925        </member>
1926        <member name="P:TestFu.Data.ITablePopulator.Database">
1927            <summary>
1928            Gets an instance of the <see cref="T:TestFu.Data.IDatabasePopulator"/>$
1929            that contains this populator.
1930            </summary>
1931            <value>
1932            Parent <see cref="T:TestFu.Data.IDatabasePopulator"/> instance.
1933            </value>
1934        </member>
1935        <member name="P:TestFu.Data.ITablePopulator.Table">
1936            <summary>
1937            Gets the <see cref="T:System.Data.DataTable"/> instance that is the model
1938            to be populated.
1939            </summary>
1940            <value>
1941            A <see cref="T:System.Data.DataTable"/> instance whos schema is used to create
1942            new <see cref="T:System.Data.DataRow"/>.
1943            </value>
1944        </member>
1945        <member name="P:TestFu.Data.ITablePopulator.Uniques">
1946            <summary>
1947            Gets a collection of <see cref="T:TestFu.Data.IUniqueValidator"/>
1948            associated to each <see cref="T:System.Data.UniqueConstraint"/>.
1949            </summary>
1950            <value>
1951            A <see cref="T:TestFu.Data.IUniqueValidatorCollection"/> instance
1952            containing the validators associated to each unique constraint.
1953            </value>
1954        </member>
1955        <member name="P:TestFu.Data.ITablePopulator.ForeignKeys">
1956            <summary>
1957            Gets a collection of <see cref="T:TestFu.Data.IForeignKeyProvider"/>
1958            associated to each <see cref="T:System.Data.ForeignKeyConstraint"/>.
1959            </summary>
1960            <value>
1961            A <see cref="T:TestFu.Data.IForeignKeyProviderCollection"/> instance
1962            containing the providers associated to each foreign key.
1963            </value>
1964        </member>
1965        <member name="P:TestFu.Data.ITablePopulator.Columns">
1966            <summary>
1967            Gets a collection of <see cref="T:TestFu.Data.IDataGenerator"/> associated
1968            to each column of the table.
1969            </summary>
1970            <value>
1971            A <see cref="T:TestFu.Data.IDataGeneratorCollection"/> instance
1972            containing the generators associated to each column.
1973            </value>
1974        </member>
1975        <member name="P:TestFu.Data.ITablePopulator.CheckValidator">
1976            <summary>
1977            Gets the <see cref="T:TestFu.Data.ICheckValidator"/> that ensures CHECK constraints.
1978            </summary>
1979            <value>
1980            A <see cref="T:TestFu.Data.ICheckValidator"/> instance if any check constraint to verify;
1981            otherwize a null reference.
1982            </value>
1983        </member>
1984        <member name="P:TestFu.Data.ITablePopulator.Row">
1985            <summary>
1986            Gets the latest generated <see cref="T:System.Data.DataRow"/>.
1987            </summary>
1988            <value>
1989            Latest generated <see cref="T:System.Data.DataRow"/>.
1990            </value>
1991        </member>
1992        <member name="T:TestFu.Data.IUniqueValidator">
1993            <summary>
1994            A validator for <see cref="T:System.Data.UniqueConstraint"/> constraints.
1995            </summary>
1996            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;IUniqueValidator&quot;)]"/>
1997        </member>
1998        <member name="T:TestFu.Data.NamespaceDoc">
1999            <summary>
2000            <para>
2001            The <b>TestFu.Data</b> namespace contains a 
2002            <b>Random <see cref="T:System.Data.DataRow"/> generator</b>
2003            to help developer test databases, data layers, business layers,
2004            etc...
2005            </para>
2006            </summary>
2007            <example name="SqlAdministrator">
2008<para>
2009This example shows some usage of the <see cref="T:TestFu.Data.DbAdministratorBase"/> class. This class can be used to easily backup, restore, create or drop
2010databases on a server. <see cref="T:TestFu.Data.SqlClient.SqlAdministrator"/> is the implementation for the MSSQL server:
2011<code>[C#]
2012using System;
2013using TestFu.Data;
2014
2015public class Demo
2016{
2017	public static void Main(string[] args)
2018	{
2019		DbAdministrator admin = new SqlAdministrator("...");	
2020		
2021		// backup Northwind
2022		admin.Backup("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp");
2023		
2024		// drop Northwind
2025		admin.Drop("Northwind");
2026		
2027		// restore Northwind
2028		admin.Restore("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp");
2029	}
2030}
2031</code>
2032</para>
2033</example><example>
2034<para>The <c>DbFixture</c> (<c>SqlFixture</c> for MsSQL server) can be used as a base class for the 
2035fixtures involving database testing.
2036</para>
2037<code>[TestFixture]
2038public class DatabaseTest : SqlFixture
2039{
2040	public DatabaseTest()
2041	:base("Data Source=testserver;...","MyTestDatabase")
2042	{}
2043	
2044	[SetUp]
2045	public void SetUp()
2046	{
2047		this.Open();
2048		this.BeginTransaction();
2049	}
2050	
2051	[Test]
2052	public void Selec()
2053	{
2054		IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction);
2055		...
2056	}
2057	
2058	[TearDown]
2059	public void TearDown()
2060	{
2061		this.Close();
2062	}
2063}</code>
2064</example><example>
2065<para>
2066This example shows how the data generator can be used to create unit tests on database. In this example,
2067we setup the dummy <see cref="T:System.Data.DataSet"/> <c>UserOrderProductDatabase</c> and
2068the populator in the <c>SetUp</c> method.
2069</para>
2070<code>
2071using System;
2072using System.Data;
2073using MbUnit.Core.Framework;
2074using MbUnit.Framework;
2075using TestFu.Data;
2076using TestFu.Data.Populators;
2077
2078namespace TestFu.Tests.Data
2079{
2080	[TestFixture]
2081	public class DatabasePopulatorTest
2082	{
2083		private UserOrderProductDatabase db;
2084		private DatabasePopulator pop;
2085		private ITablePopulator users;
2086		private ITablePopulator orders;
2087		private ITablePopulator products;
2088		private ITablePopulator orderProducts;
2089	
2090		[SetUp]
2091		public void SetUp()
2092		{
2093			this.db=new UserOrderProductDatabase();
2094			this.pop = new DatabasePopulator();
2095			this.pop.Populate(this.db.DataSet);
2096
2097			this.users=this.pop.Tables[this.db.Users];
2098			this.orders=this.pop.Tables[this.db.Orders];
2099			this.products=this.pop.Tables[this.db.Products];
2100			this.orderProducts=this.pop.Tables[this.db.OrderProducts];
2101		}
2102
2103		[Test]
2104		public void AddOneUser()
2105		{
2106			DataRow row = users.Generate();
2107			this.db.Users.Rows.Add(row);
2108		}
2109
2110		[Test]
2111		public void AddOneUserOneOrder()
2112		{
2113			this.AddOneUser();
2114			DataRow row = orders.Generate();
2115			this.db.Orders.Rows.Add(row);
2116		}
2117
2118		[Test]
2119		[ExpectedException(typeof(InvalidOperationException))]
2120		public void AddOneOrder()
2121		{
2122			DataRow row = orders.Generate();
2123		}
2124
2125		[Test]
2126		[ExpectedException(typeof(InvalidOperationException))]
2127		public void AddOneOrderProduct()
2128		{
2129			DataRow row = orderProducts.Generate();
2130		}
2131
2132		[Test]
2133		public void AddOneUserOneOrderOneProduct()
2134		{
2135			this.AddOneUserOneOrder();
2136
2137			DataRow row = products.Generate();
2138			this.db.Products.Rows.Add(row);
2139		}
2140
2141		[Test]
2142		public void AddOneUserOneOrderOneProductOneProductOrder()
2143		{
2144			this.AddOneUserOneOrderOneProduct();
2145			DataRow row=orderProducts.Generate();
2146			this.db.OrderProducts.Rows.Add(row);
2147		}
2148
2149		[Test]
2150		public void AddTwoUsers()
2151		{
2152			AddOneUser();
2153			AddOneUser();
2154		}
2155
2156		[TearDown]
2157		public void Check()
2158		{
2159			this.db.AcceptChanges();
2160			Console.WriteLine(db.ToString());
2161		}
2162	}
2163}
2164</code>
2165</example><example name="UserOrderProduct">
2166<para>The following codes decribes a simple User - Order - Product database contains 4 tables:
2167Users, Orders, Products and OrderProducts.
2168</para>
2169<code>
2170using System;
2171using System.Data;
2172using System.IO;
2173using System.Xml;
2174
2175namespace TestFu.Tests.Data
2176{
2177	public class UserOrderProductDatabase
2178	{
2179		private DataSet dataSet;
2180		private DataTable users;
2181		private DataColumn userID;
2182		private DataColumn userName;
2183
2184		private DataTable orders;
2185		private DataColumn orderID;
2186		private DataColumn orderDate;
2187		private DataColumn oUserID;
2188
2189		private DataTable products;
2190		private DataColumn productID;
2191		private DataColumn productName;
2192		private DataColumn productPrice;
2193
2194		private DataTable orderProducts;
2195		private DataColumn opOrderID;
2196		private DataColumn opProductID;
2197		private DataColumn quantity;
2198
2199		public UserOrderProductDatabase()
2200		{
2201			this.dataSet=new DataSet();
2202
2203			this.users=this.dataSet.Tables.Add("Users");
2204			this.userID = this.users.Columns.Add("UserID",typeof(int));
2205			this.userName=this.Users.Columns.Add("UserName",typeof(string));
2206			this.userName.AllowDBNull=false;
2207
2208			this.orders=this.dataSet.Tables.Add("Orders");
2209			this.orderID=this.orders.Columns.Add("OrderID",typeof(int));
2210			this.orderDate = this.orders.Columns.Add("OrderDate",typeof(DateTime));
2211			this.oUserID = this.orders.Columns.Add("UserID",typeof(int));
2212
2213			this.products=this.dataSet.Tables.Add("Products");
2214			this.productID=this.products.Columns.Add("ProductID",typeof(int));
2215			this.productName = this.products.Columns.Add("ProductName",typeof(string));
2216			this.productPrice = this.products.Columns.Add("ProductPrice",typeof(decimal));
2217
2218			this.orderProducts=this.dataSet.Tables.Add("OrderProducts");
2219			this.opOrderID=this.orderProducts.Columns.Add("OrderID",typeof(int));
2220			this.opProductID=this.orderProducts.Columns.Add("ProductID",typeof(int));
2221			this.quantity=this.orderProducts.Columns.Add("Quantity",typeof(int));
2222
2223			// pks
2224			users.Constraints.Add("PK_Users",userID,true);
2225			orders.Constraints.Add("PK_Orders",orderID,true);
2226			products.Constraints.Add("PK_Products",productID,true);
2227			orderProducts.Constraints.Add("PK_OrderProducts",
2228				new DataColumn[]{ opOrderID, opProductID}
2229				,true);
2230
2231			// fks
2232			orders.Constraints.Add("FK_Orders_Users",userID,oUserID);
2233			orderProducts.Constraints.Add("FK_OrderProducts_Orders",orderID,opOrderID);
2234			orderProducts.Constraints.Add("FK_OrderProducts_Products",productID,opProductID);
2235		}
2236	}
2237}
2238</code>
2239</example>
2240        </member>
2241        <member name="T:TestFu.Data.Populators.DatabasePopulator">
2242            <summary>
2243            Default <see cref="T:TestFu.Data.IDatabasePopulator"/> implementation.
2244            </summary>
2245            <example>
2246<para>
2247This example shows how the data generator can be used to create unit tests on database. In this example,
2248we setup the dummy <see cref="T:System.Data.DataSet"/> <c>UserOrderProductDatabase</c> and
2249the populator in the <c>SetUp</c> method.
2250</para>
2251<code>
2252using System;
2253using System.Data;
2254using MbUnit.Core.Framework;
2255using MbUnit.Framework;
2256using TestFu.Data;
2257using TestFu.Data.Populators;
2258
2259namespace TestFu.Tests.Data
2260{
2261	[TestFixture]
2262	public class DatabasePopulatorTest
2263	{
2264		private UserOrderProductDatabase db;
2265		private DatabasePopulator pop;
2266		private ITablePopulator users;
2267		private ITablePopulator orders;
2268		private ITablePopulator products;
2269		private ITablePopulator orderProducts;
2270	
2271		[SetUp]
2272		public void SetUp()
2273		{
2274			this.db=new UserOrderProductDatabase();
2275			this.pop = new DatabasePopulator();
2276			this.pop.Populate(this.db.DataSet);
2277
2278			this.users=this.pop.Tables[this.db.Users];
2279			this.orders=this.pop.Tables[this.db.Orders];
2280			this.products=this.pop.Tables[this.db.Products];
2281			this.orderProducts=this.pop.Tables[this.db.OrderProducts];
2282		}
2283
2284		[Test]
2285		public void AddOneUser()
2286		{
2287			DataRow row = users.Generate();
2288			this.db.Users.Rows.Add(row);
2289		}
2290
2291		[Test]
2292		public void AddOneUserOneOrder()
2293		{
2294			this.AddOneUser();
2295			DataRow row = orders.Generate();
2296			this.db.Orders.Rows.Add(row);
2297		}
2298
2299		[Test]
2300		[ExpectedException(typeof(InvalidOperationException))]
2301		public void AddOneOrder()
2302		{
2303			DataRow row = orders.Generate();
2304		}
2305
2306		[Test]
2307		[ExpectedException(typeof(InvalidOperationException))]
2308		public void AddOneOrderProduct()
2309		{
2310			DataRow row = orderProducts.Generate();
2311		}
2312
2313		[Test]
2314		public void AddOneUserOneOrderOneProduct()
2315		{
2316			this.AddOneUserOneOrder();
2317
2318			DataRow row = products.Generate();
2319			this.db.Products.Rows.Add(row);
2320		}
2321
2322		[Test]
2323		public void AddOneUserOneOrderOneProductOneProductOrder()
2324		{
2325			this.AddOneUserOneOrderOneProduct();
2326			DataRow row=orderProducts.Generate();
2327			this.db.OrderProducts.Rows.Add(row);
2328		}
2329
2330		[Test]
2331		public void AddTwoUsers()
2332		{
2333			AddOneUser();
2334			AddOneUser();
2335		}
2336
2337		[TearDown]
2338		public void Check()
2339		{
2340			this.db.AcceptChanges();
2341			Console.WriteLine(db.ToString());
2342		}
2343	}
2344}
2345</code>
2346</example>
2347        </member>
2348        <member name="M:TestFu.Data.Populators.DatabasePopulator.#ctor">
2349            <summary>
2350            Initiliazes a <see cref="T:TestFu.Data.Populators.DatabasePopulator"/> instance.
2351            </summary>
2352        </member>
2353        <member name="T:TestFu.Data.Populators.DbCommandUniqueValidatorBase">
2354            <summary>
2355            A <see cref="T:TestFu.Data.IUniqueValidator"/> querying the databse.
2356            </summary>
2357            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;DbCommandUniqueValidator&quot;)]"/>
2358        </member>
2359        <member name="T:TestFu.Data.Populators.UniqueValidatorBase">
2360            <summary>
2361            Base class for <see cref="T:TestFu.Data.IUniqueValidator"/> implementation.
2362            </summary>
2363            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;UniqueValidatorBase&quot;)]"/>
2364        </member>
2365        <member name="T:TestFu.Data.Populators.DictionaryUniqueValidator">
2366            <summary>
2367            A <see cref="T:TestFu.Data.IUniqueValidator"/> based on a <see cref="T:System.Collections.IDictionary"/>.
2368            </summary>
2369            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;DictionaryUniqueValidator&quot;)]"/>
2370        </member>
2371        <member name="T:TestFu.Data.Populators.ForeignKeyProvider">
2372            <summary>
2373            Default implementation of <see cref="T:TestFu.Data.IForeignKeyProvider"/>
2374            </summary>
2375            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;ForeignKeyProvider&quot;)]"/>
2376        </member>
2377        <member name="T:TestFu.Data.Populators.ForeignKeyProviderBase">
2378            <summary>
2379            Default implementation of <see cref="T:TestFu.Data.IForeignKeyProvider"/>
2380            </summary>
2381            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;ForeignKeyProviderBase&quot;)]"/>
2382        </member>
2383        <member name="T:TestFu.Data.Populators.TablePopulator">
2384            <summary>
2385            An smart random <see cref="T:System.Data.DataRow"/> generator.
2386            </summary>
2387            <example>
2388<para>
2389This example shows how the data generator can be used to create unit tests on database. In this example,
2390we setup the dummy <see cref="T:System.Data.DataSet"/> <c>UserOrderProductDatabase</c> and
2391the populator in the <c>SetUp</c> method.
2392</para>
2393<code>
2394using System;
2395using System.Data;
2396using MbUnit.Core.Framework;
2397using MbUnit.Framework;
2398using TestFu.Data;
2399using TestFu.Data.Populators;
2400
2401namespace TestFu.Tests.Data
2402{
2403	[TestFixture]
2404	public class DatabasePopulatorTest
2405	{
2406		private UserOrderProductDatabase db;
2407		private DatabasePopulator pop;
2408		private ITablePopulator users;
2409		private ITablePopulator orders;
2410		private ITablePopulator products;
2411		private ITablePopulator orderProducts;
2412	
2413		[SetUp]
2414		public void SetUp()
2415		{
2416			this.db=new UserOrderProductDatabase();
2417			this.pop = new DatabasePopulator();
2418			this.pop.Populate(this.db.DataSet);
2419
2420			this.users=this.pop.Tables[this.db.Users];
2421			this.orders=this.pop.Tables[this.db.Orders];
2422			this.products=this.pop.Tables[this.db.Products];
2423			this.orderProducts=this.pop.Tables[this.db.OrderProducts];
2424		}
2425
2426		[Test]
2427		public void AddOneUser()
2428		{
2429			DataRow row = users.Generate();
2430			this.db.Users.Rows.Add(row);
2431		}
2432
2433		[Test]
2434		public void AddOneUserOneOrder()
2435		{
2436			this.AddOneUser();
2437			DataRow row = orders.Generate();
2438			this.db.Orders.Rows.Add(row);
2439		}
2440
2441		[Test]
2442		[ExpectedException(typeof(InvalidOperationException))]
2443		public void AddOneOrder()
2444		{
2445			DataRow row = orders.Generate();
2446		}
2447
2448		[Test]
2449		[ExpectedException(typeof(InvalidOperationException))]
2450		public void AddOneOrderProduct()
2451		{
2452			DataRow row = orderProducts.Generate();
2453		}
2454
2455		[Test]
2456		public void AddOneUserOneOrderOneProduct()
2457		{
2458			this.AddOneUserOneOrder();
2459
2460			DataRow row = products.Generate();
2461			this.db.Products.Rows.Add(row);
2462		}
2463
2464		[Test]
2465		public void AddOneUserOneOrderOneProductOneProductOrder()
2466		{
2467			this.AddOneUserOneOrderOneProduct();
2468			DataRow row=orderProducts.Generate();
2469			this.db.OrderProducts.Rows.Add(row);
2470		}
2471
2472		[Test]
2473		public void AddTwoUsers()
2474		{
2475			AddOneUser();
2476			AddOneUser();
2477		}
2478
2479		[TearDown]
2480		public void Check()
2481		{
2482			this.db.AcceptChanges();
2483			Console.WriteLine(db.ToString());
2484		}
2485	}
2486}
2487</code>
2488</example>
2489        </member>
2490        <member name="T:TestFu.Data.SqlClient.SqlAdministrator">
2491            <summary>
2492            Helper class to performe task on a SQL server.
2493            </summary>
2494            <example name="SqlAdministrator">
2495<para>
2496This example shows some usage of the <see cref="T:TestFu.Data.DbAdministratorBase"/> class. This class can be used to easily backup, restore, create or drop
2497databases on a server. <see cref="T:TestFu.Data.SqlClient.SqlAdministrator"/> is the implementation for the MSSQL server:
2498<code>[C#]
2499using System;
2500using TestFu.Data;
2501
2502public class Demo
2503{
2504	public static void Main(string[] args)
2505	{
2506		DbAdministrator admin = new SqlAdministrator("...");	
2507		
2508		// backup Northwind
2509		admin.Backup("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp");
2510		
2511		// drop Northwind
2512		admin.Drop("Northwind");
2513		
2514		// restore Northwind
2515		admin.Restore("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp");
2516	}
2517}
2518</code>
2519</para>
2520</example>
2521        </member>
2522        <member name="M:TestFu.Data.SqlClient.SqlAdministrator.#ctor(System.String,System.String)">
2523            <summary>
2524            Initializes an instance of <see cref="T:TestFu.Data.SqlClient.SqlAdministrator"/> with the connection string.
2525            </summary>
2526            <param name="connectionString">
2527            Connection string to the SQL server without initial catalog
2528            </param>
2529            <param name="databaseName">
2530            Catalog name
2531            </param>
2532            <exception cref="T:System.ArgumentNullException">
2533            <paramref name="connectionString"/> is a null reference (Nothing in Visual Basic)
2534            </exception>
2535        </member>
2536        <member name="M:TestFu.Data.SqlClient.SqlAdministrator.BackupDatabase(TestFu.Data.DbBackupDevice,System.String)">
2537            <summary>
2538            Creates a backup of the specified database using the specified <paramref name="device"/> 
2539            and <paramref name="destination"/>.
2540            </summary>
2541            <param name="device">
2542            A <see cref="T:TestFu.Data.DbBackupDevice"/> defining the type of output device.
2543            </param>
2544            <param name="destination">
2545            Device path.
2546            </param>
2547            <exception cref="T:System.ArgumentNullException">
2548            <paramref name="destination"/> is a null
2549            reference (Nothing in Visual Basic)
2550            </exception>
2551        </member>
2552        <member name="M:TestFu.Data.SqlClient.SqlAdministrator.RestoreDatabase(TestFu.Data.DbBackupDevice,System.String)">
2553            <summary>
2554            Restores a backup of the specified database using the specified <paramref name="device"/> 
2555            and <paramref name="destination"/>.
2556            </summary>
2557            <param name="device">
2558            A <see cref="T:TestFu.Data.DbBackupDevice"/> defining the type of output device.
2559            </param>
2560            <param name="destination">
2561            Device path.
2562            </param>
2563            <exception cref="T:System.ArgumentNullException">
2564            <paramref name="destination"/> is a null
2565            reference (Nothing in Visual Basic)
2566            </exception>
2567            <remarks>
2568            <para>
2569            If you plan to override an existing database, you must first drop this database.
2570            This method takes a conservative behavior and will not override an existing database.
2571            </para>
2572            <para>
2573            Priorly to restore the database, the method kills all the processes associeted
2574            to the database.
2575            </para>
2576            </remarks>
2577        </member>
2578        <member name="M:TestFu.Data.SqlClient.SqlAdministrator.CreateDatabase">
2579            <summary>
2580            Creates a new database on the server
2581            </summary>
2582        </member>
2583        <member name="M:TestFu.Data.SqlClient.SqlAdministrator.DropDatabase">
2584            <summary>
2585            Drops an existing new database on the server
2586            </summary>
2587            <exception cref="T:System.ArgumentNullException">
2588            <paramref name="databaseName"/> is a null
2589            reference (Nothing in Visual Basic)
2590            </exception>		
2591        </member>
2592        <member name="P:TestFu.Data.SqlClient.SqlAdministrator.DatabaseConnectionString">
2593            <summary>
2594            Gets the connection string with Initial Catalog information.
2595            </summary>
2596            <value>
2597            Connection string with Initial catalog information.
2598            </value>
2599        </member>
2600        <member name="T:TestFu.Data.SqlClient.SqlFactory">
2601            <summary>
2602            A <see cref="T:TestFu.Data.IDbFactory"/> implementation for MSSQL server.
2603            </summary>
2604            <!-- No matching elements were found for the following include tag --><include file="Data/TestFu.Data.Doc.xml" path="//example[contains(descendant-or-self::*,&quot;SqlFactory&quot;)]"/>
2605        </member>
2606        <member name="M:TestFu.Data.SqlClient.SqlFactory.CreateAdmin(System.String,System.String)">
2607            <summary>
2608            Creates a <see cref="T:TestFu.Data.SqlClient.SqlAdministrator"/> instance.
2609            </summary>
2610            <param name="connectionString"></param>
2611            <param name="databaseName"></param>
2612            <returns></returns>
2613        </member>
2614        <member name="M:TestFu.Data.SqlClient.SqlFactory.CreateConnection(System.String)">
2615            <summary>
2616            Creates a <see cref="T:System.Data.IDbConnection"/> instance.
2617            </summary>
2618            <param name="connectionString">
2619            Connection string to server
2620            </param>
2621            <returns>
2622            A <see cref="T:System.Data.IDbConnection"/> instance.
2623            </returns>
2624        </member>
2625        <member name="T:TestFu.Data.SqlClient.SqlFixture">
2626            <summary>
2627            Abstract  base class for MSSQL server database testing.
2628            </summary>
2629            <example>
2630<para>The <c>DbFixture</c> (<c>SqlFixture</c> for MsSQL server) can be used as a base class for the 
2631fixtures involving database testing.
2632</para>
2633<code>[TestFixture]
2634public class DatabaseTest : SqlFixture
2635{
2636	public DatabaseTest()
2637	:base("Data Source=testserver;...","MyTestDatabase")
2638	{}
2639	
2640	[SetUp]
2641	public void SetUp()
2642	{
2643		this.Open();
2644		this.BeginTransaction();
2645	}
2646	
2647	[Test]
2648	public void Selec()
2649	{
2650		IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction);
2651		...
2652	}
2653	
2654	[TearDown]
2655	public void TearDown()
2656	{
2657		this.Close();
2658	}
2659}</code>
2660</example>
2661        </member>
2662        <member name="M:TestFu.Data.SqlClient.SqlFixture.#ctor(System.String,System.String)">
2663            <summary>
2664            Initializes a <see cref="T:TestFu.Data.DbFixture"/> with a connection string.
2665            </summary>
2666            <param name="connectionString">
2667            Connection string for accessing the test database.
2668            </param>
2669            <param name="database">
2670            database name
2671            </param>
2672            <exception cref="T:System.ArgumentNullException">
2673            <paramref name="connectionString"/> is a null reference
2674            (Nothing in Visual Basic)
2675            </exception>
2676        </member>
2677        <member name="P:TestFu.Data.SqlClient.SqlFixture.Connection">
2678            <summary>
2679            Gets the current connection instance.
2680            </summary>
2681            <value>
2682            <see cref="T:System.Data.SqlClient.SqlConnection"/> instance.
2683            </value>
2684        </member>
2685        <member name="P:TestFu.Data.SqlClient.SqlFixture.Transaction">
2686            <summary>
2687            Gets the current transaction.
2688            </summary>
2689            <value>
2690            A <see cref="T:System.Data.SqlClient.SqlTransaction"/> instance if <see cref="M:TestFu.Data.DbFixture.BeginTransaction"/> was called
2691            and the connection not closed; otherwise, a null reference (Nothing in Visual Basic)
2692            </value>
2693        </member>
2694        <member name="T:TestFu.Forms.ScreenCapture">
2695            <summary>
2696            Provides functions to capture the entire screen, or a particular window, and save it to a file.
2697            </summary>
2698            <remarks>
2699            <para>
2700            Source code takened from 
2701            http://www.developerfusion.com/show/4630/
2702            </para>
2703            </remarks>
2704        </member>
2705        <member name="M:TestFu.Forms.ScreenCapture.CaptureDesktop">
2706            <summary>
2707            Creates an Image object containing a screen shot of the entire desktop
2708            </summary>
2709            <returns></returns>
2710        </member>
2711        <member name="M:TestFu.Forms.ScreenCapture.CaptureMainWindow">
2712            <summary>
2713            Creates an Image object containing a screen shot of the entire desktop
2714            </summary>
2715            <returns></returns>
2716        </member>
2717        <member name="M:TestFu.Forms.ScreenCapture.Capture(System.Windows.Forms.Control)">
2718            <summary>
2719            Creates an Image object containing a screen shot of the <see cref="T:System.Windows.Forms.Control"/>
2720            </summary>
2721        </member>
2722        <member name="M:TestFu.Forms.ScreenCapture.Capture(System.IntPtr)">
2723            <summary>
2724            Creates an Image object containing a screen shot of a specific window
2725            </summary>
2726            <param name="handle">The handle to the window. (In windows forms, this is obtained by the Handle property)</param>
2727            <returns></returns>
2728        </member>
2729        <member name="T:TestFu.Forms.ScreenCapture.GDI32">
2730            <summary>
2731            Helper class containing Gdi32 API functions
2732            </summary>
2733        </member>
2734        <member name="T:TestFu.Forms.ScreenCapture.User32">
2735            <summary>
2736            Helper class containing User32 API functions
2737            </summary>
2738        </member>
2739        <member name="T:TestFu.Gestures.ButtonDownMouseGesture">
2740            <summary>
2741            A <see cref="T:TestFu.Gestures.IMouseGesture"/> that simulates a MouseDown event.
2742            </summary>
2743        </member>
2744        <member name="T:TestFu.Gestures.MouseGestureBase">
2745            <summary>
2746            Abstract base class for <see cref="T:TestFu.Gestures.IMouseGesture"/>
2747            instance.
2748            </summary>
2749        </member>
2750        <member name="T:TestFu.Gestures.GestureBase">
2751            <summary>
2752            Abstract base class for <see cref="T:TestFu.Gestures.IGesture"/>
2753            implementation.
2754            </summary>
2755        </member>
2756        <member name="T:TestFu.Gestures.IGesture">
2757            <summary>
2758            A user gesture.
2759            </summary>
2760            <remarks>
2761            <para>
2762            User gesture can be a combination of keyboard or mouse
2763            interactions.
2764            </para>
2765            </remarks>
2766        </member>
2767        <member name="M:TestFu.Gestures.IGesture.Start">
2768            <summary>
2769            Executes the gesture
2770            </summary>
2771            <remarks>
2772            <para>
2773            This method should be executed on separate thread
2774            from the main thread, otherwize event will not be
2775            fired correctly.
2776            </para>
2777            </remarks>
2778        </member>
2779        <member name="M:TestFu.Gestures.IGesture.ToCodeDom(Refly.CodeDom.Expressions.Expression)">
2780            <summary>
2781            Gets the CodeDom statement creating this gesture
2782            </summary>
2783            <returns></returns>
2784        </member>
2785        <member name="P:TestFu.Gestures.IGesture.Form">
2786            <summary>
2787            Gets the <see cref="P:TestFu.Gestures.IGesture.Form"/> that is targeted
2788            by the gesture
2789            </summary>
2790            <value></value>
2791        </member>
2792        <member name="M:TestFu.Gestures.GestureBase.#ctor">
2793            <summary>
2794            Initializes an empty <see cref="T:TestFu.Gestures.IGesture"/>.
2795            </summary>
2796        </member>
2797        <member name="M:TestFu.Gestures.GestureBase.#ctor(System.Windows.Forms.Form)">
2798            <summary>
2799            Initializes a new <see cref="T:TestFu.Gestures.IGesture"/>
2800            instance with a form
2801            </summary>
2802            <param name="form"></param>
2803        </member>
2804        <member name="M:TestFu.Gestures.GestureBase.OnFormChanged(System.EventArgs)">
2805            <summary>
2806            Raises the <see cref="E:TestFu.Gestures.GestureBase.FormChanged"/> event.
2807            </summary>
2808            <param name="e"></param>
2809        </member>
2810        <member name="M:TestFu.Gestures.GestureBase.PointToScreen(System.Drawing.Point)">
2811            <summary>
2812            Converts the target from client to
2813            screen coordinates
2814            </summary>
2815            <param name="target">
2816            Position in client coordinates</param>
2817            <returns>
2818            Position converted into screen coordinates
2819            </returns>
2820            <remarks>
2821            <para>
2822            This method makes a thread safe invokation of the
2823            <c>Form.PointToScreen</c> method.
2824            </para>
2825            </remarks>
2826        </member>
2827        <member name="M:TestFu.Gestures.GestureBase.PointToClient(System.Drawing.Point)">
2828            <summary>
2829            Converts the target from screen to
2830            client coordinates
2831            </summary>
2832            <param name="target">
2833            Position in screen coordinates</param>
2834            <returns>
2835            Position converted into client coordinates
2836            </returns>
2837            <remarks>
2838            <para>
2839            This method makes a thread safe invokation of the
2840            <c>Form.PointToClient</c> method.
2841            </para>
2842            </remarks>
2843        </member>
2844        <member name="M:TestFu.Gestures.GestureBase.Start">
2845            <summary>
2846            Executes the gesture.
2847            </summary>
2848        </member>
2849        <member name="P:TestFu.Gestures.GestureBase.Form">
2850            <summary>
2851            Gets or sets the <see cref="P:TestFu.Gestures.GestureBase.Form"/> instance targeted
2852            by the <see cref="T:TestFu.Gestures.IGesture"/>
2853            </summary>
2854            <value>
2855            A <see cref="P:TestFu.Gestures.GestureBase.Form"/> instance
2856            </value>
2857        </member>
2858        <member name="E:TestFu.Gestures.GestureBase.FormChanged">
2859            <summary>
2860            Raised when the target <see cref="P:TestFu.Gestures.GestureBase.Form"/> is changed
2861            </summary>
2862        </member>
2863        <member name="T:TestFu.Gestures.IMouseGesture">
2864            <summary>
2865            A mouse gesture.
2866            </summary>
2867        </member>
2868        <member name="P:TestFu.Gestures.IMouseGesture.Buttons">
2869            <summary>
2870            Gets or sets a value indicating the <see cref="T:System.Windows.Forms.MouseButtons"/>
2871            involved in the gesture.
2872            </summary>
2873            <value>
2874            A combined value of <see cref="T:System.Windows.Forms.MouseButtons"/> flags.
2875            </value>
2876        </member>
2877        <member name="M:TestFu.Gestures.MouseGestureBase.#ctor">
2878            <summary>
2879            Initializes an new <see cref="T:TestFu.Gestures.MouseGestureBase"/>.
2880            </summary>
2881        </member>
2882        <member name="M:TestFu.Gestures.MouseGestureBase.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
2883            <summary>
2884            Initializes a new <see cref="T:TestFu.Gestures.MouseGestureBase"/>
2885            with a <see cref="T:System.Windows.Forms.Form"/> instance and the buttons
2886            involved in the gesture.
2887            </summary>
2888            <param name="form">
2889            Target <see cref="T:System.Windows.Forms.Form"/> instance</param>
2890            <param name="buttons">
2891            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
2892            involved in the gesture
2893            </param>
2894        </member>
2895        <member name="P:TestFu.Gestures.MouseGestureBase.Buttons">
2896            <summary>
2897            Gets or sets a value indicating the <see cref="T:System.Windows.Forms.MouseButtons"/>
2898            involved in the gesture.
2899            </summary>
2900            <value>
2901            A combined value of <see cref="T:System.Windows.Forms.MouseButtons"/> flags.
2902            </value>
2903        </member>
2904        <member name="M:TestFu.Gestures.ButtonDownMouseGesture.#ctor">
2905            <summary>
2906            Initializes a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/>
2907            </summary>
2908        </member>
2909        <member name="M:TestFu.Gestures.ButtonDownMouseGesture.#ctor(System.Windows.Forms.Form)">
2910            <summary>
2911            Initializes a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> with 
2912            a target <see cref="T:System.Windows.Forms.Form"/> instance and the left button
2913            </summary>
2914            <param name="form">
2915            Target form</param>
2916        </member>
2917        <member name="M:TestFu.Gestures.ButtonDownMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
2918            <summary>
2919            Initializes a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> with 
2920            a target <see cref="T:System.Windows.Forms.Form"/> instance and the buttons
2921            </summary>
2922            <param name="form">
2923            Target form</param>
2924            <param name="buttons">
2925            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
2926            involved in the gesture
2927            </param>
2928        </member>
2929        <member name="M:TestFu.Gestures.ButtonDownMouseGesture.Start">
2930            <summary>
2931            Executes the mouse down event
2932            </summary>
2933        </member>
2934        <member name="T:TestFu.Gestures.ButtonUpMouseGesture">
2935            <summary>
2936            A <see cref="T:TestFu.Gestures.IMouseGesture"/> that simulates a MouseUp event
2937            </summary>
2938        </member>
2939        <member name="M:TestFu.Gestures.ButtonUpMouseGesture.#ctor">
2940            <summary>
2941            Initialiazes a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/>.
2942            </summary>
2943        </member>
2944        <member name="M:TestFu.Gestures.ButtonUpMouseGesture.#ctor(System.Windows.Forms.Form)">
2945            <summary>
2946            Initialiazes a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> with
2947            a target <see cref="T:System.Windows.Forms.Form"/>.
2948            </summary>
2949            <param name="form">
2950            Target form
2951            </param>
2952        </member>
2953        <member name="M:TestFu.Gestures.ButtonUpMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
2954            <summary>
2955            Initialiazes a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> with
2956            a target <see cref="T:System.Windows.Forms.Form"/>.
2957            </summary>
2958            <param name="form">
2959            Target form
2960            </param>
2961            <param name="buttons">
2962            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
2963            involved in the gesture
2964            </param>
2965        </member>
2966        <member name="M:TestFu.Gestures.ButtonUpMouseGesture.Start">
2967            <summary>
2968            Executes the mouse up event
2969            </summary>
2970        </member>
2971        <member name="T:TestFu.Gestures.ClickMouseGesture">
2972            <summary>
2973            A <see cref="T:TestFu.Gestures.IMouseGesture"/> that simulates a button click
2974            </summary>
2975        </member>
2976        <member name="M:TestFu.Gestures.ClickMouseGesture.#ctor">
2977            <summary>
2978            Initializes a new <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
2979            </summary>
2980        </member>
2981        <member name="M:TestFu.Gestures.ClickMouseGesture.#ctor(System.Windows.Forms.Form)">
2982            <summary>
2983            Initializes a new <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
2984            with a <see cref="T:System.Windows.Forms.Form"/> instance and the left button
2985            </summary>
2986            <param name="form">
2987            Target <see cref="T:System.Windows.Forms.Form"/> instance
2988            </param>
2989        </member>
2990        <member name="M:TestFu.Gestures.ClickMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
2991            <summary>
2992            Initializes a new <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
2993            with a <see cref="T:System.Windows.Forms.Form"/> instance
2994            </summary>
2995            <param name="form">
2996            Target <see cref="T:System.Windows.Forms.Form"/> instance
2997            </param>
2998            <param name="buttons">
2999            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3000            involved in the gesture
3001            </param>
3002        </member>
3003        <member name="M:TestFu.Gestures.ClickMouseGesture.Start">
3004            <summary>
3005            Executes the mouse click
3006            </summary>
3007        </member>
3008        <member name="T:TestFu.Gestures.ControlMoveMouseGesture">
3009            <summary>
3010            A <see cref="T:TestFu.Gestures.IMouseGesture"/> that moves the cursor to the 
3011            center of a <see cref="T:System.Windows.Forms.Control"/>.
3012            </summary>
3013        </member>
3014        <member name="T:TestFu.Gestures.MoveMouseGestureBase">
3015            <summary>
3016            An abstract base class for 
3017            <see cref="T:TestFu.Gestures.IMouseGesture"/> implementations 
3018            that simulates a mouse movement
3019            </summary>
3020        </member>
3021        <member name="M:TestFu.Gestures.MoveMouseGestureBase.#ctor">
3022            <summary>
3023            Initializes a new <see cref="T:TestFu.Gestures.MoveMouseGestureBase"/>
3024            </summary>
3025        </member>
3026        <member name="M:TestFu.Gestures.MoveMouseGestureBase.#ctor(System.Windows.Forms.Form)">
3027            <summary>
3028            Initialiazes a new <see cref="T:TestFu.Gestures.MoveMouseGestureBase"/>
3029            with a target form and no buttons
3030            </summary>
3031            <param name="form">
3032            Target <see cref="T:System.Windows.Forms.Form"/>
3033            </param>
3034        </member>
3035        <member name="M:TestFu.Gestures.MoveMouseGestureBase.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
3036            <summary>
3037            Initialiazes a new <see cref="T:TestFu.Gestures.MoveMouseGestureBase"/>
3038            with a target form and the buttons
3039            </summary>
3040            <param name="form">
3041            Target <see cref="T:System.Windows.Forms.Form"/>
3042            </param>
3043            <param name="buttons">
3044            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3045            involved in the gesture
3046            </param>
3047        </member>
3048        <member name="M:TestFu.Gestures.MoveMouseGestureBase.Start">
3049            <summary>
3050            Steers the mouse towards the target
3051            </summary>
3052        </member>
3053        <member name="P:TestFu.Gestures.MoveMouseGestureBase.Target">
3054            <summary>
3055            Gets the target of the movement, in client coordinates
3056            </summary>
3057            <value>
3058            A <see cref="T:System.Drawing.Point"/> in client coordinates
3059            </value>
3060        </member>
3061        <member name="P:TestFu.Gestures.MoveMouseGestureBase.MaxVelocity">
3062            <summary>
3063            Gets or sets a value indicating the maximum velocity of the
3064            cursor
3065            </summary>
3066            <value>
3067            A <see cref="T:System.Drawing.Point"/> representing the maximum velocity of the cursor
3068            </value>
3069        </member>
3070        <member name="M:TestFu.Gestures.ControlMoveMouseGesture.#ctor">
3071            <summary>
3072            Initializes a new <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
3073            </summary>
3074        </member>
3075        <member name="M:TestFu.Gestures.ControlMoveMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.Control)">
3076            <summary>
3077            Initializes a new <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
3078            with a target <see cref="T:System.Windows.Forms.Form"/> and a target 
3079            <see cref="T:System.Windows.Forms.Control"/>
3080            </summary>
3081            <param name="form">
3082            Target form</param>
3083            <param name="targetControl">
3084            Target control
3085            </param>
3086        </member>
3087        <member name="M:TestFu.Gestures.ControlMoveMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons,System.Windows.Forms.Control)">
3088            <summary>
3089            Initializes a new <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
3090            with a target <see cref="T:System.Windows.Forms.Form"/>, a target 
3091            <see cref="T:System.Windows.Forms.Control"/> and the buttons pushed during the move
3092            </summary>
3093            <param name="form">
3094            Target form</param>
3095            <param name="targetControl">
3096            Target control
3097            </param>
3098            <param name="buttons">
3099            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3100            involved in the gesture
3101            </param>
3102        </member>
3103        <member name="P:TestFu.Gestures.ControlMoveMouseGesture.TargetControl">
3104            <summary>
3105            Gets or sets the target <see cref="T:System.Windows.Forms.Control"/>
3106            </summary>
3107            <value>
3108            A <see cref="T:System.Windows.Forms.Control"/> instance where the cursor has to move
3109            </value>
3110        </member>
3111        <member name="P:TestFu.Gestures.ControlMoveMouseGesture.Target">
3112            <summary>
3113            Gets the center of the target <see cref="T:System.Windows.Forms.Control"/>.
3114            </summary>
3115            <value>
3116            A <see cref="T:System.Drawing.Point"/> representing the center of the 
3117            target control in client coordiantes
3118            </value>
3119        </member>
3120        <member name="P:TestFu.Gestures.ControlMoveMouseGesture.Offset">
3121            <summary>
3122            Offset of the target on the <see cref="T:System.Windows.Forms.Control"/>
3123            </summary>
3124            <value></value>
3125        </member>
3126        <member name="T:TestFu.Gestures.FixedTargetMoveMouseGesture">
3127            <summary>
3128            A <see cref="T:TestFu.Gestures.IMouseGesture"/> that steers the cursor to a target
3129            </summary>
3130        </member>
3131        <member name="M:TestFu.Gestures.FixedTargetMoveMouseGesture.#ctor">
3132            <summary>
3133            Initializes a new <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
3134            </summary>
3135        </member>
3136        <member name="M:TestFu.Gestures.FixedTargetMoveMouseGesture.#ctor(System.Windows.Forms.Form,System.Drawing.Point)">
3137            <summary>
3138            Initializes a new <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
3139            with a target <see cref="T:System.Windows.Forms.Form"/> and a target
3140            </summary>
3141            <param name="form">
3142            Target form</param>
3143            <param name="target">
3144            Target in client coordinates
3145            </param>
3146        </member>
3147        <member name="M:TestFu.Gestures.FixedTargetMoveMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons,System.Drawing.Point)">
3148            <summary>
3149            Initializes a new <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
3150            with a target <see cref="T:System.Windows.Forms.Form"/> and a target
3151            </summary>
3152            <param name="form">
3153            Target form</param>
3154            <param name="target">
3155            Target in client coordinates
3156            </param>
3157            <param name="buttons">
3158            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3159            involved in the gesture
3160            </param>
3161        </member>
3162        <member name="P:TestFu.Gestures.FixedTargetMoveMouseGesture.Target">
3163            <summary>
3164            Gets the target of the movement, in client coordinates.
3165            </summary>
3166            <value>
3167            A <see cref="T:System.Drawing.Point"/> in client coordinates
3168            </value>
3169            <remarks>
3170            <para>
3171            The property value is equal to <see cref="P:TestFu.Gestures.FixedTargetMoveMouseGesture.MouseTarget"/>.
3172            </para>
3173            </remarks>
3174        </member>
3175        <member name="P:TestFu.Gestures.FixedTargetMoveMouseGesture.MouseTarget">
3176            <summary>
3177            Gets or sets the target of the movement, in client coordinates
3178            </summary>
3179            <value>
3180            A <see cref="T:System.Drawing.Point"/> in client coordinates
3181            </value>
3182        </member>
3183        <member name="T:TestFu.Gestures.GestureCollection">
3184            <summary>
3185            A <see cref="T:TestFu.Gestures.IGestureCollection"/> implementation.
3186            </summary>
3187        </member>
3188        <member name="T:TestFu.Gestures.IGestureCollection">
3189            <summary>
3190            A mutable collection of <see cref="T:TestFu.Gestures.IGesture"/>
3191            </summary>
3192        </member>
3193        <member name="M:TestFu.Gestures.IGestureCollection.Add(TestFu.Gestures.IGesture)">
3194            <summary>
3195            Adds a <see cref="T:TestFu.Gestures.IGesture"/> instance 
3196            to the collection
3197            </summary>
3198            <param name="gesture">
3199            A <see cref="T:TestFu.Gestures.IGesture"/> instance to add to the 
3200            collection
3201            </param>
3202        </member>
3203        <member name="P:TestFu.Gestures.IGestureCollection.Item(System.Int32)">
3204            <summary>
3205            Gets or sets the <see cref="T:TestFu.Gestures.IGesture"/>
3206            at position <paramref name="index"/>
3207            </summary>
3208            <param name="index">
3209            index of the gesture</param>
3210            <returns>
3211            get property, the <see cref="T:TestFu.Gestures.IGesture"/>
3212            at position <paramref name="index"/>
3213            </returns>
3214        </member>
3215        <member name="T:TestFu.Gestures.GestureFactory">
3216            <summary>
3217            A helper factory of <see cref="T:TestFu.Gestures.IGesture"/> instance.
3218            </summary>
3219        </member>
3220        <member name="M:TestFu.Gestures.GestureFactory.#ctor(System.Windows.Forms.Form)">
3221            <summary>
3222            Initializes a new <see cref="T:TestFu.Gestures.GestureFactory"/>
3223            with a <see cref="P:TestFu.Gestures.GestureFactory.Form"/> instance
3224            </summary>
3225            <param name="form">
3226            Target form</param>
3227        </member>
3228        <member name="M:TestFu.Gestures.GestureFactory.Start(TestFu.Gestures.IGesture)">
3229            <summary>
3230            Creates a <see cref="T:System.Threading.Thread"/> for the 
3231            <see cref="M:TestFu.Gestures.IGesture.Start"/> method and starts it.
3232            </summary>
3233            <param name="gesture">
3234            The <see cref="T:TestFu.Gestures.IGesture"/> to execute
3235            </param>
3236            <returns>
3237            The started <see cref="T:System.Threading.Thread"/> instance
3238            </returns>
3239        </member>
3240        <member name="M:TestFu.Gestures.GestureFactory.Sequence(TestFu.Gestures.IGesture[])">
3241            <summary>
3242            Creates a <see cref="T:TestFu.Gestures.SequenceGesture"/> instance
3243            with a variable list of <see cref="T:TestFu.Gestures.IGesture"/> instances.
3244            </summary>
3245            <param name="gestures">
3246            gestures to execute in sequence.
3247            </param>
3248            <returns>
3249            A <see cref="T:TestFu.Gestures.SequenceGesture"/> instance</returns>
3250        </member>
3251        <member name="M:TestFu.Gestures.GestureFactory.Sleep(System.Int32)">
3252            <summary>
3253            Creates a <see cref="T:TestFu.Gestures.SleepGesture"/> that makes the
3254            thread sleep a given number of milliseconds
3255            </summary>
3256            <param name="duration">
3257            Duration in milliseconds of the sleep
3258            </param>
3259            <returns>
3260            A <see cref="T:TestFu.Gestures.SleepGesture"/> instance
3261            </returns>
3262        </member>
3263        <member name="M:TestFu.Gestures.GestureFactory.Repeat(TestFu.Gestures.IGesture,System.Int32)">
3264            <summary>
3265            Creates a new <see cref="T:TestFu.Gestures.RepeatGesture"/> with
3266            the gesture and the repeat count
3267            </summary>
3268            <param name="gesture">
3269            Target <see cref="T:TestFu.Gestures.IGesture"/> instance
3270            </param>
3271            <param name="repeatCount">
3272            Number of repetition
3273            </param>
3274            <returns>
3275            A <see cref="T:TestFu.Gestures.RepeatGesture"/> instance
3276            </returns>
3277        </member>
3278        <member name="M:TestFu.Gestures.GestureFactory.MouseClick">
3279            <summary>
3280            Creates a <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
3281            that simulates a left click of the mouse
3282            </summary>
3283            <returns>
3284            A <see cref="T:TestFu.Gestures.ClickMouseGesture"/> instance
3285            </returns>
3286        </member>
3287        <member name="M:TestFu.Gestures.GestureFactory.MouseClick(System.Windows.Forms.Control)">
3288            <summary>
3289            Creates a <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
3290            that simulates a left click of the mouse
3291            </summary>
3292            <returns>
3293            A <see cref="T:TestFu.Gestures.ClickMouseGesture"/> instance
3294            </returns>
3295            <param name="control">
3296            Control to click
3297            </param>
3298        </member>
3299        <member name="M:TestFu.Gestures.GestureFactory.MouseClick(System.Windows.Forms.Control,System.Windows.Forms.MouseButtons)">
3300            <summary>
3301            Creates a <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
3302            that simulates a left click of the mouse
3303            </summary>
3304            <returns>
3305            A <see cref="T:TestFu.Gestures.ClickMouseGesture"/> instance
3306            </returns>
3307            <param name="control">The control to click.</param>
3308            <param name="buttons">Which button(s) to use.</param>
3309        </member>
3310        <member name="M:TestFu.Gestures.GestureFactory.MouseClick(System.Windows.Forms.MouseButtons)">
3311            <summary>
3312            Creates a <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
3313            that simulates a left click of the mouse
3314            </summary>
3315            <param name="buttons">
3316            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3317            involved in the gesture
3318            </param>
3319            <returns>
3320            A <see cref="T:TestFu.Gestures.ClickMouseGesture"/> instance
3321            </returns>
3322        </member>
3323        <member name="M:TestFu.Gestures.GestureFactory.MouseDown">
3324            <summary>
3325            Creates a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> instance
3326            that simulates a Mouse down event (left click)
3327            </summary>
3328            <returns>
3329            A <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> instance
3330            </returns>
3331        </member>
3332        <member name="M:TestFu.Gestures.GestureFactory.MouseDown(System.Windows.Forms.MouseButtons)">
3333            <summary>
3334            Creates a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> instance
3335            that simulates a Mouse down event with the buttons
3336            </summary>
3337            <param name="buttons">
3338            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3339            involved in the gesture
3340            </param>
3341            <returns>
3342            A <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> instance
3343            </returns>
3344        </member>
3345        <member name="M:TestFu.Gestures.GestureFactory.MouseUp">
3346            <summary>
3347            Creates a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> instance
3348            that simulates a Mouse up event (left click)
3349            </summary>
3350            <returns>
3351            A <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> instance
3352            </returns>
3353        </member>
3354        <member name="M:TestFu.Gestures.GestureFactory.MouseUp(System.Windows.Forms.MouseButtons)">
3355            <summary>
3356            Creates a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> instance
3357            that simulates a Mouse up event with the buttons
3358            </summary>
3359            <param name="buttons">
3360            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3361            involved in the gesture
3362            </param>
3363            <returns>
3364            A <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> instance
3365            </returns>
3366        </member>
3367        <member name="M:TestFu.Gestures.GestureFactory.MouseMove(System.Drawing.Point)">
3368            <summary>
3369            Creates a <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
3370            that simulates the movement of the mouse to the target
3371            </summary>
3372            <param name="target">
3373            Target client coordinate
3374            </param>
3375            <returns>
3376            A <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/> instance
3377            </returns>
3378        </member>
3379        <member name="M:TestFu.Gestures.GestureFactory.MouseMove(System.Drawing.Point,System.Windows.Forms.MouseButtons)">
3380            <summary>
3381            Creates a <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
3382            that simulates the movement of the mouse to the target
3383            and the buttons down
3384            </summary>
3385            <param name="target">
3386            Target client coordinate
3387            </param>
3388            <param name="buttons">
3389            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3390            involved in the gesture
3391            </param>
3392            <returns>
3393            A <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/> instance
3394            </returns>
3395        </member>
3396        <member name="M:TestFu.Gestures.GestureFactory.MouseMove(System.Windows.Forms.Control)">
3397            <summary>
3398            Creates a <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
3399            that simulates the movement of the mouse to the center
3400            of the <see cref="T:System.Windows.Forms.Control"/>
3401            </summary>
3402            <param name="control">
3403            Target <see cref="T:System.Windows.Forms.Control"/> instance
3404            </param>
3405            <returns>
3406            A <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/> instance
3407            </returns>
3408        </member>
3409        <member name="M:TestFu.Gestures.GestureFactory.MouseMove(System.Windows.Forms.Control,System.Windows.Forms.MouseButtons)">
3410            <summary>
3411            Creates a <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
3412            that simulates the movement of the mouse to the center
3413            of the <see cref="T:System.Windows.Forms.Control"/> with the buttons down
3414            </summary>
3415            <param name="control">
3416            Target <see cref="T:System.Windows.Forms.Control"/> instance
3417            </param>
3418            <param name="buttons">
3419            value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
3420            involved in the gesture
3421            </param>
3422            <returns>
3423            A <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/> instance
3424            </returns>
3425        </member>
3426        <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Drawing.Point,System.Drawing.Point)">
3427            <summary>
3428            Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
3429            a drag and drop between <paramref name="source"/>
3430            and <paramref name="target"/>
3431            </summary>
3432            <param name="source">
3433            Source client coordinate</param>
3434            <param name="target">
3435            Target client coordinate
3436            </param>
3437            <returns>
3438            A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
3439            </returns>
3440        </member>
3441        <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Drawing.Point,System.Windows.Forms.Control)">
3442            <summary>
3443            Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
3444            a drag and drop between <paramref name="source"/>
3445            and <paramref name="target"/>
3446            </summary>
3447            <param name="source">
3448            Source client coordinate</param>
3449            <param name="target">
3450            Target <see cref="T:System.Windows.Forms.Control"/>
3451            </param>
3452            <returns>
3453            A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
3454            </returns>
3455        </member>
3456        <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Windows.Forms.Control,System.Drawing.Point)">
3457            <summary>
3458            Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
3459            a drag and drop between <paramref name="source"/>
3460            and <paramref name="target"/>
3461            </summary>
3462            <param name="source">
3463            Source <see cref="T:System.Windows.Forms.Control"/>
3464            </param>
3465            <param name="target">
3466            Target client coordinate
3467            </param>
3468            <returns>
3469            A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
3470            </returns>
3471        </member>
3472        <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Windows.Forms.Control,System.Windows.Forms.Control)">
3473            <summary>
3474            Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
3475            a drag and drop between <paramref name="source"/>
3476            and <paramref name="target"/>
3477            </summary>
3478            <param name="source">
3479            Source <see cref="T:System.Windows.Forms.Control"/>
3480            </param>
3481            <param name="target">
3482            Target <see cref="T:System.Windows.Forms.Control"/>
3483            </param>
3484            <returns>
3485            A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
3486            </returns>
3487        </member>
3488        <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Windows.Forms.ListViewItem,System.Windows.Forms.Control)">
3489            <summary>
3490            Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
3491            a drag and drop between <paramref name="source"/>
3492            and <paramref name="target"/>
3493            </summary>
3494            <param name="source">
3495            Source <see cref="T:System.Windows.Forms.ListViewItem"/>
3496            </param>
3497            <param name="target">
3498            Target client coordinate
3499            </param>
3500            <returns>
3501            A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
3502            </returns>
3503        </member>
3504        <member name="P:TestFu.Gestures.GestureFactory.Form">
3505            <summary>
3506            Gets the target <see cref="P:TestFu.Gestures.GestureFactory.Form"/> instance
3507            </summary>
3508            <value>
3509            A <see cref="P:TestFu.Gestures.GestureFactory.Form"/> instance that is targetted by the gestures
3510            </value>
3511        </member>
3512        <member name="T:TestFu.Gestures.NamespaceDoc">
3513            <summary>
3514            <para>
3515            The <b>TestFu.Gestures</b> namespace contains classes (<see cref="T:TestFu.Gestures.IGesture"/>
3516            instances) to simulate user mouse and keyboard interactions.
3517            </para>
3518            <para>
3519            The user interaction are simulated by using native methods
3520            <c>mouse_event</c> and <c>keybd_event</c>.
3521            </para>
3522            <para>
3523            The <see cref="T:TestFu.Gestures.GestureFactory"/> can be used to rapidly generate 
3524            <see cref="T:TestFu.Gestures.IGesture"/> instances.
3525            </para>
3526            <para>
3527            The gestures should not be executed in the main thread but in a worker thread. Otherwize,
3528            you will miss message notifications. All gesture methods on <see cref="T:System.Windows.Forms.Control"/>
3529            and <see cref="T:System.Windows.Forms.Form"/> are thread safe.
3530            </para>
3531            </summary>
3532        </member>
3533        <member name="T:TestFu.Gestures.RepeatGesture">
3534            <summary>
3535            A <see cref="T:TestFu.Gestures.IGesture"/> that executes a Repeat of <see cref="T:TestFu.Gestures.IGesture"/>
3536            instances.
3537            </summary>
3538        </member>
3539        <member name="M:TestFu.Gestures.RepeatGesture.#ctor">
3540            <summary>
3541            Initializes a new <see cref="T:TestFu.Gestures.RepeatGesture"/> instance
3542            </summary>
3543        </member>
3544        <member name="M:TestFu.Gestures.RepeatGesture.#ctor(System.Windows.Forms.Form,TestFu.Gestures.IGesture,System.Int32)">
3545            <summary>
3546            Initialiazes a new <see cref="T:TestFu.Gestures.RepeatGesture"/> instance
3547            with a <see cref="T:System.Windows.Forms.Form"/> instance.
3548            </summary>
3549            <param name="form">
3550            Target <see cref="T:System.Windows.Forms.Form"/>
3551            </param>
3552            <param name="gesture">
3553            The gesture to be repeated
3554            </param>
3555            <param name="repeatCount">
3556            The number of repetition</param>
3557        </member>
3558        <member name="M:TestFu.Gestures.RepeatGesture.Start">
3559            <summary>
3560            Executes the <see cref="T:TestFu.Gestures.IGesture"/> contained in
3561            <see cref="N:TestFu.Gestures"/> in Repeat.
3562            </summary>
3563        </member>
3564        <member name="P:TestFu.Gestures.RepeatGesture.Gesture">
3565            <summary>
3566            Gets the collection of <see cref="T:TestFu.Gestures.IGesture"/> to execute in Repeat
3567            </summary>
3568            <value>
3569            A <see cref="T:TestFu.Gestures.IGestureCollection"/> instance
3570            </value>
3571        </member>
3572        <member name="P:TestFu.Gestures.RepeatGesture.RepeatCount">
3573            <summary>
3574            Gets or sets the number of gesture repetition
3575            </summary>
3576            <value>
3577            The repetition count
3578            </value>
3579        </member>
3580        <member name="T:TestFu.Gestures.SequenceGesture">
3581            <summary>
3582            A <see cref="T:TestFu.Gestures.IGesture"/> that executes a sequence of <see cref="T:TestFu.Gestures.IGesture"/>
3583            instances.
3584            </summary>
3585        </member>
3586        <member name="M:TestFu.Gestures.SequenceGesture.#ctor">
3587            <summary>
3588            Initializes a new <see cref="T:TestFu.Gestures.SequenceGesture"/> instance
3589            </summary>
3590        </member>
3591        <member name="M:TestFu.Gestures.SequenceGesture.#ctor(System.Windows.Forms.Form)">
3592            <summary>
3593            Initialiazes a new <see cref="T:TestFu.Gestures.SequenceGesture"/> instance
3594            with a <see cref="P:TestFu.Gestures.SequenceGesture.Form"/> instance.
3595            </summary>
3596            <param name="form">
3597            Target <see cref="P:TestFu.Gestures.SequenceGesture.Form"/>
3598            </param>
3599        </member>
3600        <member name="M:TestFu.Gestures.SequenceGesture.Start">
3601            <summary>
3602            Executes the <see cref="T:TestFu.Gestures.IGesture"/> contained in
3603            <see cref="P:TestFu.Gestures.SequenceGesture.Gestures"/> in sequence.
3604            </summary>
3605        </member>
3606        <member name="P:TestFu.Gestures.SequenceGesture.Gestures">
3607            <summary>
3608            Gets the collection of <see cref="T:TestFu.Gestures.IGesture"/> to execute in sequence
3609            </summary>
3610            <value>
3611            A <see cref="T:TestFu.Gestures.IGestureCollection"/> instance
3612            </value>
3613        </member>
3614        <member name="T:TestFu.Gestures.SleepGesture">
3615            <summary>
3616            A <see cref="T:TestFu.Gestures.IGesture"/> that makes the <see cref="T:System.Threading.Thread"/>
3617            sleep.
3618            </summary>
3619        </member>
3620        <member name="M:TestFu.Gestures.SleepGesture.#ctor">
3621            <summary>
3622            Initialiazes a new <see cref="T:TestFu.Gestures.SleepGesture"/> instance.
3623            </summary>
3624        </member>
3625        <member name="M:TestFu.Gestures.SleepGesture.#ctor(System.Windows.Forms.Form,System.Int32)">
3626            <summary>
3627            Initialiazes a new <see cref="T:TestFu.Gestures.SleepGesture"/> instance
3628            with a <see cref="T:System.Windows.Forms.Form"/> instance and a sleep duration
3629            </summary>
3630            <param name="form">
3631            Target <see cref="T:System.Windows.Forms.Form"/> instance</param>
3632            <param name="duration">
3633            Sleep duration in milliseconds
3634            </param>
3635        </member>
3636        <member name="M:TestFu.Gestures.SleepGesture.Start">
3637            <summary>
3638            Executes the sleep gestures
3639            </summary>
3640        </member>
3641        <member name="P:TestFu.Gestures.SleepGesture.Duration">
3642            <summary>
3643            Gets or sets the sleep duration (in milliseconds)
3644            </summary>
3645            <value>
3646            Number of milliseconds of sleep
3647            </value>
3648        </member>
3649        <member name="T:TestFu.Gestures.VirtualInput">
3650            <summary>
3651            A static helper for artificially generationg mouse
3652            and keyboard input.
3653            </summary>
3654            <remarks>
3655            <para>
3656            This class uses <c>mouse_event</c> and <c>keybd_event</c> native
3657            methods (through interop) to simulate user mouse or keyboard input.
3658            </para>
3659            </remarks>
3660        </member>
3661        <member name="M:TestFu.Gestures.VirtualInput.MouseEvent(TestFu.Gestures.VirtualInput.MouseEventType)">
3662            <summary>
3663            Generates a mouse event
3664            </summary>
3665            <param name="mouseEventType">
3666            Combined flag describing the mouse event
3667            </param>
3668        </member>
3669        <member name="M:TestFu.Gestures.VirtualInput.MouseEvent(TestFu.Gestures.VirtualInput.MouseEventType,System.Int32,System.Int32,System.Int32)">
3670            <summary>
3671            Mouse event with additional data
3672            </summary>
3673            <param name="mouseEventType">
3674            Combined flag describing the mouse event
3675            </param>
3676            <param name="dx">
3677            Relative horizontal movement of the cursor
3678            </param>
3679            <param name="dy">
3680            Relative vertical movement of the cursor</param>
3681            <param name="dwData">
3682            Additional data
3683            </param>
3684        </member>
3685        <member name="M:TestFu.Gestures.VirtualInput.MouveMouse(System.Int32,System.Int32)">
3686            <summary>
3687            Move mouse of units
3688            </summary>
3689            <param name="dx">
3690            horizontal movement</param>
3691            <param name="dy">
3692            vertical movement
3693            </param>
3694        </member>
3695        <member name="M:TestFu.Gestures.VirtualInput.BeginMouveMouse(System.Windows.Forms.MouseButtons)">
3696            <summary>
3697            Notfies that a mouse movement is starting
3698            with the buttons settings
3699            </summary>
3700            <param name="buttons">
3701            Combined flag describing the current button
3702            state
3703            </param>
3704        </member>
3705        <member name="M:TestFu.Gestures.VirtualInput.EndMouveMouse(System.Windows.Forms.MouseButtons)">
3706            <summary>
3707            Notfies that a mouse movement is finishing
3708            with the buttons settings
3709            </summary>
3710            <param name="buttons">
3711            Combined flag describing the current button
3712            state
3713            </param>
3714        </member>
3715        <member name="M:TestFu.Gestures.VirtualInput.MouseClick(System.Windows.Forms.MouseButtons)">
3716            <summary>
3717            Mouse click using button state
3718            </summary>
3719            <param name="buttons">
3720            Combined flag describing the current button
3721            state
3722            </param>
3723        </member>
3724        <member name="M:TestFu.Gestures.VirtualInput.MouseDown(System.Windows.Forms.MouseButtons)">
3725            <summary>
3726            Mouse down event
3727            </summary>
3728            <param name="buttons"></param>
3729        </member>
3730        <member name="M:TestFu.Gestures.VirtualInput.MouseUp(System.Windows.Forms.MouseButtons)">
3731            <summary>
3732            Mouse up event
3733            </summary>
3734            <param name="buttons"></param>
3735        </member>
3736        <member name="M:TestFu.Gestures.VirtualInput.MouseWheel(System.Int32)">
3737            <summary>
3738            Mouse wheel event
3739            </summary>
3740            <param name="value">
3741            Wheel movement</param>
3742        </member>
3743        <member name="M:TestFu.Gestures.VirtualInput.PressKey(System.IntPtr,System.Char)">
3744            <summary>
3745            Simulates a Key action (KeyDown, Key, KeyUp message sequence)
3746            </summary>
3747            <param name="character">character pressed</param>
3748            <param name="hwnd">handle of control to receive the event</param>
3749        </member>
3750        <member name="M:TestFu.Gestures.VirtualInput.PressBackspace(System.IntPtr)">
3751            <summary>
3752            Simulates a Backspace
3753            </summary>
3754            <param name="hwnd">handle of control to receive the event</param>
3755        </member>
3756        <member name="M:TestFu.Gestures.VirtualInput.Type(System.IntPtr,System.String)">
3757            <summary>
3758            Simulates a user typing text
3759            </summary>
3760            <param name="text">text to enter</param>
3761            <param name="hwnd">handle of control to receive the event</param>
3762        </member>
3763        <member name="T:TestFu.Gestures.VirtualInput.MouseEventType">
3764            <summary>
3765            Mouse even type enumeration
3766            </summary>
3767        </member>
3768        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.None">
3769            <summary>
3770            No event
3771            </summary>
3772        </member>
3773        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.Absolute">
3774            <summary>
3775            Mouse move where dx,dy are in absolute coordinate
3776            </summary>
3777        </member>
3778        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.LeftDown">
3779            <summary>
3780            Left button bown
3781            </summary>
3782        </member>
3783        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.LeftUp">
3784            <summary>
3785            Left button up
3786            </summary>
3787        </member>
3788        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.MiddleDown">
3789            <summary>
3790            Middle button down
3791            </summary>
3792        </member>
3793        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.MiddleUp">
3794            <summary>
3795            middle button up
3796            </summary>
3797        </member>
3798        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.Move">
3799            <summary>
3800            Mouse moved
3801            </summary>
3802        </member>
3803        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.RightDown">
3804            <summary>
3805            Right button down
3806            </summary>
3807        </member>
3808        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.RightUp">
3809            <summary>
3810            Right button up
3811            </summary>
3812        </member>
3813        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.Wheel">
3814            <summary>
3815            Mouse wheel movement
3816            </summary>
3817        </member>
3818        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.XDown">
3819            <summary>
3820            Additional button down
3821            </summary>
3822        </member>
3823        <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.Xup">
3824            <summary>
3825            Additional button up
3826            </summary>
3827        </member>
3828        <member name="T:TestFu.Grammars.AlternativeRule">
3829            <summary>
3830            A <see cref="T:TestFu.Grammars.IRule"/> that choose from a set of sub-<see cref="T:TestFu.Grammars.IRule"/>.
3831            </summary>
3832        </member>
3833        <member name="T:TestFu.Grammars.CollectionRule">
3834            <summary>
3835            Abstract rule containing other rules.
3836            </summary>
3837        </member>
3838        <member name="T:TestFu.Grammars.RuleBase">
3839            <summary>
3840            Abstract rule class
3841            </summary>
3842        </member>
3843        <member name="T:TestFu.Grammars.IRule">
3844            <summary>
3845            A production rule
3846            </summary>
3847            <remarks>
3848            <para>
3849            A <see cref="T:TestFu.Grammars.IRule"/> instance is used to execute a production.
3850            </para>
3851            </remarks>
3852        </member>
3853        <member name="M:TestFu.Grammars.IRule.Produce(TestFu.Grammars.IProductionToken)">
3854            <summary>
3855            Executes the production using the rule.
3856            </summary>
3857            <param name="token">
3858            A production token authorizing production.
3859            </param>
3860            <exception cref="T:System.ArgumentNullException">
3861            <paramref name="token"/> is a null reference (Nothing in Visual Basic)
3862            </exception>
3863        </member>
3864        <member name="P:TestFu.Grammars.IRule.Weight">
3865            <summary>
3866            Gets or sets a value indicating the rule importance
3867            </summary>
3868            <value>
3869            Value indicating the rule importance
3870            </value>
3871            <exception cref="T:System.ArgumentException">
3872            set property, value is negative.
3873            </exception>
3874        </member>
3875        <member name="E:TestFu.Grammars.IRule.Action">
3876            <summary>
3877            Semantic actions event.
3878            </summary>
3879            <remarks>
3880            <para>
3881            Semantic action are triggered upon each successful rule execution.
3882            </para>
3883            </remarks>
3884        </member>
3885        <member name="P:TestFu.Grammars.IRule.Terminal">
3886            <summary>
3887            Gets a value indicating if the rule is terminal
3888            </summary>
3889            <value>
3890            true if the rule is terminal; otherwise, false.
3891            </value>
3892        </member>
3893        <member name="P:TestFu.Grammars.IRule.Name">
3894            <summary>
3895            Gets or sets the rule name (for debugging purpose)
3896            </summary>
3897            <value>
3898            The rule name.
3899            </value>
3900        </member>
3901        <member name="M:TestFu.Grammars.RuleBase.#ctor(System.Boolean)">
3902            <summary>
3903            Creates an empty rule
3904            </summary>
3905            <param name="terminal">
3906            true if the rule is terminal; otherwise, false.
3907            </param>
3908        </member>
3909        <member name="M:TestFu.Grammars.RuleBase.OnAction">
3910            <summary>
3911            Raises the <see cref="E:TestFu.Grammars.RuleBase.Action"/> event.
3912            </summary>
3913        </member>
3914        <member name="M:TestFu.Grammars.RuleBase.Produce(TestFu.Grammars.IProductionToken)">
3915            <summary>
3916            Executes the production using the rule (abstract class).
3917            </summary>
3918            <param name="token">
3919            A production token authorizing production.
3920            </param>
3921            <exception cref="T:System.ArgumentNullException">
3922            <paramref name="token"/> is a null reference (Nothing in Visual Basic)
3923            </exception>
3924        </member>
3925        <member name="P:TestFu.Grammars.RuleBase.Terminal">
3926            <summary>
3927            Gets a value indicating if the rule is terminal
3928            </summary>
3929            <value>
3930            true if the rule is terminal; otherwise, false.
3931            </value>
3932        </member>
3933        <member name="P:TestFu.Grammars.RuleBase.Name">
3934            <summary>
3935            Gets or sets the rule name
3936            </summary>
3937            <value>
3938            The rule name
3939            </value>
3940        </member>
3941        <member name="P:TestFu.Grammars.RuleBase.Weight">
3942            <summary>
3943            Gets or sets the rule weight
3944            </summary>
3945            <value>
3946            The rule weight
3947            </value>
3948            <exception cref="T:System.ArgumentException">
3949            set property, weight is negative
3950            </exception>
3951        </member>
3952        <member name="E:TestFu.Grammars.RuleBase.Action">
3953            <summary>
3954            Semantic action event.
3955            </summary>
3956        </member>
3957        <member name="M:TestFu.Grammars.CollectionRule.#ctor">
3958            <summary>
3959            Creates an empty instance.
3960            </summary>
3961        </member>
3962        <member name="P:TestFu.Grammars.CollectionRule.Rules">
3963            <summary>
3964            Gets the list of rules stored in the rule.
3965            </summary>
3966            <value>
3967            <see cref="T:TestFu.Grammars.IRuleList"/> containing the child rules.
3968            </value>
3969        </member>
3970        <member name="M:TestFu.Grammars.AlternativeRule.Produce(TestFu.Grammars.IProductionToken)">
3971            <summary>
3972            Choose a <see cref="T:TestFu.Grammars.IRule"/> and launch its production.
3973            </summary>
3974            <param name="token">
3975            Authorizing token
3976            </param>
3977        </member>
3978        <member name="P:TestFu.Grammars.AlternativeRule.Selector">
3979            <summary>
3980            Gets or sets the <see cref="T:TestFu.Grammars.IRuleSelector"/> instance
3981            </summary>
3982            <value>
3983            <see cref="T:TestFu.Grammars.IRuleSelector"/> instance.
3984            </value>
3985        </member>
3986        <member name="T:TestFu.Grammars.ConditionalRule">
3987            <summary>
3988            If then else rule fashion.
3989            </summary>
3990            <remarks>
3991            <para>
3992            This rule uses the results of a <see cref="T:TestFu.Grammars.IPredicate"/>
3993            instance to select which <see cref="T:TestFu.Grammars.IRule"/> to execute:
3994            <code>
3995            if (predicate.Test(...))
3996               rule.Produce(...);
3997            else
3998               elseRule.Produce(...);
3999            </code>
4000            </para>
4001            </remarks>
4002        </member>
4003        <member name="M:TestFu.Grammars.ConditionalRule.#ctor(TestFu.Grammars.IPredicate,TestFu.Grammars.IRule)">
4004            <summary>
4005            Creates a <see cref="T:TestFu.Grammars.ConditionalRule"/> with a 
4006            <see cref="T:TestFu.Grammars.IPredicate"/> instance and 
4007            <see cref="T:TestFu.Grammars.IRule"/> instance.
4008            </summary>
4009            <param name="predicate">
4010            <see cref="T:TestFu.Grammars.IPredicate"/> instance used for testing
4011            </param>
4012            <param name="rule">
4013            rule to execute.
4014            </param>
4015            <exception cref="T:System.ArgumentNullException">
4016            <paramref name="predicate"/> or <paramref name="rule"/>
4017            is a null reference.
4018            </exception>
4019        </member>
4020        <member name="M:TestFu.Grammars.ConditionalRule.#ctor(TestFu.Grammars.IPredicate,TestFu.Grammars.IRule,TestFu.Grammars.IRule)">
4021            <summary>
4022            Creates a <see cref="T:TestFu.Grammars.ConditionalRule"/> with a 
4023            <see cref="T:TestFu.Grammars.IPredicate"/> instance and 
4024            <see cref="T:TestFu.Grammars.IRule"/> instance. If the predicate returns
4025            false, <paramref name="elseRule"/> is executed.
4026            </summary>
4027            <param name="predicate">
4028            <see cref="T:TestFu.Grammars.IPredicate"/> instance used for testing
4029            </param>
4030            <param name="rule">
4031            rule to execute.
4032            </param>
4033            <param name="elseRule">
4034            rule to execute if predicate is false.
4035            </param>
4036            <exception cref="T:System.ArgumentNullException">
4037            <paramref name="predicate"/> or <paramref name="rule"/>
4038            is a null reference.
4039            </exception>
4040        </member>
4041        <member name="M:TestFu.Grammars.ConditionalRule.Produce(TestFu.Grammars.IProductionToken)">
4042            <summary>
4043            Executes one of the rules depending on the predicate result.
4044            </summary>
4045            <param name="token">
4046            A production token authorizing production.
4047            </param>
4048            <exception cref="T:System.ArgumentNullException">
4049            <paramref name="token"/> is a null reference (Nothing in Visual Basic)
4050            </exception>
4051        </member>
4052        <member name="P:TestFu.Grammars.ConditionalRule.Predicate">
4053            <summary>
4054            Gets or sets the predicate for the condition.
4055            </summary>
4056            <value>
4057            <see cref="T:TestFu.Grammars.IPredicate"/> instance used for testing the condition.
4058            </value>
4059            <exception cref="T:System.ArgumentNullException">
4060            set property, value is a null reference
4061            </exception>
4062        </member>
4063        <member name="P:TestFu.Grammars.ConditionalRule.Rule">
4064            <summary>
4065            Gets or sets the rule executed when the predicate is true
4066            </summary>
4067            <value>
4068            <see cref="T:TestFu.Grammars.IRule"/> instance executed when <see cref="P:TestFu.Grammars.ConditionalRule.Predicate"/>
4069            is true.
4070            </value>
4071            <exception cref="T:System.ArgumentNullException">
4072            set property, value is a null reference
4073            </exception>
4074        </member>
4075        <member name="P:TestFu.Grammars.ConditionalRule.ElseRule">
4076            <summary>
4077            Gets or sets the rule executed when the predicate is false
4078            </summary>
4079            <value>
4080            <see cref="T:TestFu.Grammars.IRule"/> instance executed when <see cref="P:TestFu.Grammars.ConditionalRule.Predicate"/>
4081            is false.
4082            </value>
4083        </member>
4084        <member name="T:TestFu.Grammars.ConditionDelegate">
4085            <summary>
4086            Method that returns a bool.
4087            </summary>
4088            <param name="token">
4089            Current <see cref="T:TestFu.Grammars.IProductionToken"/> instance.
4090            </param>
4091        </member>
4092        <member name="T:TestFu.Grammars.ConditionDelegatePredicate">
4093            <summary>
4094            A <see cref="T:TestFu.Grammars.IPredicate"/> instance that executes
4095            a <see cref="T:TestFu.Grammars.ConditionDelegate"/>.
4096            </summary>
4097        </member>
4098        <member name="T:TestFu.Grammars.IPredicate">
4099            <summary>
4100            Predicate that checks a given condition.
4101            </summary>
4102        </member>
4103        <member name="M:TestFu.Grammars.IPredicate.Test(TestFu.Grammars.IProductionToken)">
4104            <summary>
4105            Checks a condition and returns result.
4106            </summary>
4107            <returns>
4108            Predicate result
4109            </returns>
4110            <param name="token">
4111            Current production token
4112            </param>
4113        </member>
4114        <member name="M:TestFu.Grammars.ConditionDelegatePredicate.#ctor(TestFu.Grammars.ConditionDelegate)">
4115            <summary>
4116            Creates a new instance arounda <see cref="T:TestFu.Grammars.ConditionDelegate"/>
4117            </summary>
4118            <param name="condition">
4119            <see cref="T:TestFu.Grammars.ConditionDelegate"/> to attach.
4120            </param>
4121            <exception cref="T:System.ArgumentNullException">
4122            <paramref name="condition"/> is a null reference.
4123            </exception>
4124        </member>
4125        <member name="M:TestFu.Grammars.ConditionDelegatePredicate.Test(TestFu.Grammars.IProductionToken)">
4126            <summary>
4127            Invokes the <see cref="T:TestFu.Grammars.ConditionDelegate"/> instance 
4128            and returns the result.
4129            </summary>
4130            <param name="token"></param>
4131            <returns></returns>
4132        </member>
4133        <member name="T:TestFu.Grammars.CountedProduction">
4134            <summary>
4135            A <see cref="T:TestFu.Grammars.IProduction"/> class that limits the number of
4136            terminal <see cref="T:TestFu.Grammars.IRule"/> execution.
4137            </summary>
4138        </member>
4139        <member name="T:TestFu.Grammars.IProduction">
4140            <summary>
4141            A production done by a grammar and its set of rules.
4142            </summary>
4143        </member>
4144        <member name="M:TestFu.Grammars.IProduction.RequestToken(TestFu.Grammars.IRule)">
4145            <summary>
4146            Processes the request for a <see cref="T:TestFu.Grammars.IProductionToken"/>
4147            done by a rule and returns the token or throws.
4148            </summary>
4149            <param name="rule">
4150            <see cref="T:TestFu.Grammars.IRule"/> instance that requests the token.
4151            </param>
4152            <returns>
4153            A valid <see cref="T:TestFu.Grammars.IProductionToken"/> instance.
4154            </returns>
4155            <exception cref="T:TestFu.Grammars.ProductionException">
4156            The request was defined using the internal production
4157            logic.
4158            </exception>
4159        </member>
4160        <member name="P:TestFu.Grammars.IProduction.Seed">
4161            <summary>
4162            Gets the seed that created the production
4163            </summary>
4164            <value>
4165            Seed used to create the production
4166            </value>
4167        </member>
4168        <member name="M:TestFu.Grammars.CountedProduction.#ctor(System.Int32)">
4169            <summary>
4170            Creates an instance that limits the number of terminal rule execution
4171            to <paramref name="maxTokenCount"/>.
4172            </summary>
4173            <param name="maxTokenCount">
4174            Maximum number of terminal <see cref="T:TestFu.Grammars.IRule"/> execution.
4175            </param>
4176        </member>
4177        <member name="M:TestFu.Grammars.CountedProduction.RequestToken(TestFu.Grammars.IRule)">
4178            <summary>
4179            Processes the request for a <see cref="T:TestFu.Grammars.IProductionToken"/>
4180            done by a rule and returns the token or throws.
4181            </summary>
4182            <param name="rule">
4183            <see cref="T:TestFu.Grammars.IRule"/> instance that requests the token.
4184            </param>
4185            <returns>
4186            A valid <see cref="T:TestFu.Grammars.IProductionToken"/> instance.
4187            </returns>
4188            <exception cref="T:TestFu.Grammars.ProductionException">
4189            The maximum number of terminal rule execution was hitted.
4190            </exception>
4191        </member>
4192        <member name="T:TestFu.Grammars.CountedProduction.Factory">
4193            <summary>
4194            Factory for <see cref="T:TestFu.Grammars.CountedProduction"/> instance.
4195            </summary>
4196        </member>
4197        <member name="T:TestFu.Grammars.IProductionFactory">
4198            <summary>
4199            A factory for <see cref="T:TestFu.Grammars.IProduction"/> instances.
4200            </summary>
4201        </member>
4202        <member name="M:TestFu.Grammars.IProductionFactory.CreateProduction(System.Object)">
4203            <summary>
4204            Creates a new <see cref="T:TestFu.Grammars.IProduction"/> instance.
4205            </summary>
4206            <returns>
4207            A valid <see cref="T:TestFu.Grammars.IProduction"/> instance.
4208            </returns>
4209        </member>
4210        <member name="M:TestFu.Grammars.CountedProduction.Factory.#ctor">
4211            <summary>
4212            Creates a factory of <see cref="T:TestFu.Grammars.CountedProduction"/>.
4213            </summary>
4214        </member>
4215        <member name="M:TestFu.Grammars.CountedProduction.Factory.CreateProduction(System.Object)">
4216            <summary>
4217            Creates new instances of <see cref="T:TestFu.Grammars.CountedProduction"/>
4218            </summary>
4219            <returns>
4220            A <see cref="T:TestFu.Grammars.CountedProduction"/> instance
4221            </returns>
4222        </member>
4223        <member name="T:TestFu.Grammars.EventHandlerRule">
4224            <summary>
4225            A <see cref="T:TestFu.Grammars.IRule"/> that wraps a <see cref="T:System.EventHandler"/>
4226            call.
4227            </summary>
4228        </member>
4229        <member name="M:TestFu.Grammars.EventHandlerRule.#ctor(System.EventHandler)">
4230            <summary>
4231            Creates an instance with a <see cref="T:System.EventHandler"/>
4232            attached.
4233            </summary>
4234            <param name="handler">
4235            Handler to attach
4236            </param>
4237            <exception cref="T:System.ArgumentNullException">
4238            <paramref name="handler"/> is a null reference
4239            </exception>
4240        </member>
4241        <member name="M:TestFu.Grammars.EventHandlerRule.Produce(TestFu.Grammars.IProductionToken)">
4242            <summary>
4243            Invokes handler.
4244            </summary>
4245            <param name="token"></param>
4246        </member>
4247        <member name="T:TestFu.Grammars.Grammar">
4248            <summary>
4249            A grammar containing a set of rules, a <see cref="P:TestFu.Grammars.Grammar.StartRule"/>.
4250            </summary>
4251        </member>
4252        <member name="T:TestFu.Grammars.IGrammar">
4253            <summary>
4254            A grammar containing a set of rules, a <see cref="P:TestFu.Grammars.IGrammar.StartRule"/>.
4255            </summary>
4256        </member>
4257        <member name="M:TestFu.Grammars.IGrammar.Produce(System.Object)">
4258            <summary>
4259            Launches a production.
4260            </summary>
4261        </member>
4262        <member name="P:TestFu.Grammars.IGrammar.StartRule">
4263            <summary>
4264            Gets or sets the starting rule.
4265            </summary>
4266            <value>
4267            The start <see cref="T:TestFu.Grammars.IRule"/>.
4268            </value>
4269        </member>
4270        <member name="E:TestFu.Grammars.IGrammar.ProductionFinished">
4271            <summary>
4272            Raised when production is finished.
4273            </summary>
4274        </member>
4275        <member name="M:TestFu.Grammars.Grammar.#ctor">
4276            <summary>
4277            Creates an empty grammar.
4278            </summary>
4279        </member>
4280        <member name="M:TestFu.Grammars.Grammar.Produce(System.Object)">
4281            <summary>
4282            Launches a production.
4283            </summary>
4284        </member>
4285        <member name="M:TestFu.Grammars.Grammar.Produce(TestFu.Grammars.IProductionToken)">
4286            <summary>
4287            </summary>
4288        </member>
4289        <member name="P:TestFu.Grammars.Grammar.ProductionFactory">
4290            <summary>
4291            Gets or sets the <see cref="T:TestFu.Grammars.IProductionFactory"/> instance.
4292            </summary>
4293            <value>
4294            <see cref="T:TestFu.Grammars.IProductionFactory"/> instance used for creating new
4295            productions.
4296            </value>
4297        </member>
4298        <member name="P:TestFu.Grammars.Grammar.StartRule">
4299            <summary>
4300            Gets or sets the starting rule.
4301            </summary>
4302            <value>
4303            The start <see cref="T:TestFu.Grammars.IRule"/>.
4304            </value>
4305        </member>
4306        <member name="T:TestFu.Grammars.GuardedRule">
4307            <summary>
4308            A <see cref="T:TestFu.Grammars.IRule"/> that guard an inner <see cref="T:TestFu.Grammars.IRule"/> instance
4309            execution from a specific exceptionType.
4310            </summary>
4311        </member>
4312        <member name="M:TestFu.Grammars.GuardedRule.#ctor(TestFu.Grammars.IRule,System.Type)">
4313            <summary>
4314            Creates an instance with the guarded rule and the expected
4315            exception type.
4316            </summary>
4317            <param name="rule">
4318            Guarded <see cref="T:TestFu.Grammars.IRule"/> instance
4319            </param>
4320            <param name="exceptionType">
4321            Expected <see cref="T:System.Exception"/> type.
4322            </param>
4323            <exception cref="T:System.ArgumentNullException">
4324            <paramref name="rule"/> or <paramref name="exceptionType"/>
4325            is a null reference.
4326            </exception>
4327        </member>
4328        <member name="M:TestFu.Grammars.GuardedRule.#ctor(TestFu.Grammars.IRule,System.Type,System.Text.RegularExpressions.Regex)">
4329            <summary>
4330            Creates an instance with the guarded rule, the expected
4331            exception type and the regular expression to match the message.
4332            </summary>
4333            <param name="rule">
4334            Guarded <see cref="T:TestFu.Grammars.IRule"/> instance
4335            </param>
4336            <param name="exceptionType">
4337            Expected <see cref="T:System.Exception"/> type.
4338            </param>
4339            <param name="messageRegex">
4340            Regular expression used to match the exception message
4341            </param>
4342            <exception cref="T:System.ArgumentNullException">
4343            <paramref name="rule"/> or <paramref name="exceptionType"/>
4344            is a null reference.
4345            </exception>
4346        </member>
4347        <member name="M:TestFu.Grammars.GuardedRule.OnAction">
4348            <summary>
4349            Raises the <see cref="E:TestFu.Grammars.GuardedRule.Action"/> event.
4350            </summary>
4351        </member>
4352        <member name="M:TestFu.Grammars.GuardedRule.Produce(TestFu.Grammars.IProductionToken)">
4353            <summary>
4354            Executes the inner <see cref="T:TestFu.Grammars.IRule"/> and guards for
4355            a particular exception type.
4356            </summary>
4357            <param name="token">
4358            Authorization token
4359            </param>
4360        </member>
4361        <member name="E:TestFu.Grammars.GuardedRule.Action">
4362            <summary>
4363            Semantic actions event
4364            </summary>		
4365        </member>
4366        <member name="P:TestFu.Grammars.GuardedRule.MessageRegex">
4367            <summary>
4368            Gets or sets the regular expression to match the message.
4369            </summary>
4370            <value>
4371            The <see cref="T:System.Text.RegularExpressions.Regex"/> instance used to mach the message.
4372            </value>
4373            <remarks>
4374            <para>
4375            If this property is set to null, no message matching is performed.
4376            </para>
4377            </remarks>
4378        </member>
4379        <member name="P:TestFu.Grammars.GuardedRule.Name">
4380            <summary>
4381            Gets or sets the rule name (for debugging purpose)
4382            </summary>
4383            <value>
4384            The rule name.
4385            </value>
4386        </member>
4387        <member name="P:TestFu.Grammars.GuardedRule.Weight">
4388            <summary>
4389            Gets or sets a value indicating the rule importance
4390            </summary>
4391            <value>
4392            Value indicating the rule importance
4393            </value>
4394        </member>
4395        <member name="P:TestFu.Grammars.GuardedRule.Terminal">
4396            <summary>
4397            Gets a value indicating if the rule is terminal. 
4398            </summary>
4399            <value>
4400            Always returns true.
4401            </value>
4402        </member>
4403        <member name="T:TestFu.Grammars.IProductionToken">
4404            <summary>
4405            An authorization to execute a production.
4406            </summary>
4407        </member>
4408        <member name="P:TestFu.Grammars.IProductionToken.Authorized">
4409            <summary>
4410            Gets a value indicating if the production is authorized
4411            </summary>
4412            <value>
4413            true if authorized, otherwise false.
4414            </value>
4415        </member>
4416        <member name="P:TestFu.Grammars.IProductionToken.Production">
4417            <summary>
4418            Gets the <see cref="T:TestFu.Grammars.IProduction"/> that emited the token.
4419            </summary>
4420            <value>
4421            The <see cref="T:TestFu.Grammars.IProduction"/> instance that emited the token.
4422            </value>
4423        </member>
4424        <member name="T:TestFu.Grammars.IRandom">
4425            <summary>
4426            A class that creates random values.
4427            </summary>
4428        </member>
4429        <member name="M:TestFu.Grammars.IRandom.Next">
4430            <summary>
4431            Returns a nonnegative random number.
4432            </summary>
4433            <returns>
4434            A 32-bit signed integer greater than or equal to zero and less than 
4435            <see cref="F:System.Int32.MaxValue"/>.
4436            </returns>
4437        </member>
4438        <member name="M:TestFu.Grammars.IRandom.Next(System.Int32)">
4439            <summary>
4440            Returns a nonnegative random number less than the specified maximum.
4441            </summary>
4442            <param name="max"></param>
4443            <returns>
4444            A 32-bit signed integer greater than or equal to zero and less than 
4445            <paramref name="max"/>.
4446            </returns>
4447        </member>
4448        <member name="M:TestFu.Grammars.IRandom.Next(System.Int32,System.Int32)">
4449            <summary>
4450            Returns a random number within a specified range.
4451            </summary>
4452            <param name="minValue">
4453            The lower bound of the random number returned. 
4454            </param>
4455            <param name="maxValue">
4456            The upper bound of the random number returned. 
4457            maxValue must be greater than or equal to minValue.
4458            </param>
4459            <returns>
4460            A 32-bit signed integer greater than or equal to minValue and less 
4461            than maxValue; that is, the range of return values includes 
4462            minValue but not MaxValue. If minValue equals maxValue, minValue 
4463            is returned.
4464            </returns>
4465        </member>
4466        <member name="M:TestFu.Grammars.IRandom.NextDouble">
4467            <summary>
4468            Returns a random number between 0.0 and 1.0.
4469            </summary>
4470            <returns>
4471            A double-precision floating point number greater than or equal 
4472            to 0.0, and less than 1.0.
4473            </returns>
4474        </member>
4475        <member name="T:TestFu.Grammars.IRuleCollection">
4476            <summary>
4477            A collection of <see cref="T:TestFu.Grammars.IRule"/>.
4478            </summary>
4479        </member>
4480        <member name="M:TestFu.Grammars.IRuleCollection.GetEnumerator">
4481            <summary>
4482            Gets an <see cref="T:TestFu.Grammars.IRuleEnumerator"/> instance of the rules.
4483            </summary>
4484            <returns>
4485            A valid <see cref="T:TestFu.Grammars.IRuleEnumerator"/> instance.
4486            </returns>
4487        </member>
4488        <member name="T:TestFu.Grammars.IRuleEnumerator">
4489            <summary>
4490            An enumerator over <see cref="T:TestFu.Grammars.IRule"/> instance.
4491            </summary>
4492        </member>
4493        <member name="P:TestFu.Grammars.IRuleEnumerator.Current">
4494            <summary>
4495            Gets the current <see cref="T:TestFu.Grammars.IRule"/> instance
4496            </summary>
4497            <value>
4498            Current <see cref="T:TestFu.Grammars.IRule"/> instance.
4499            </value>
4500        </member>
4501        <member name="T:TestFu.Grammars.IRuleList">
4502            <summary>
4503            A list of <see cref="T:TestFu.Grammars.IRule"/>
4504            </summary>
4505        </member>
4506        <member name="M:TestFu.Grammars.IRuleList.Add(TestFu.Grammars.IRule)">
4507            <summary>
4508            Adds a <see cref="T:TestFu.Grammars.IRule"/> to the list.
4509            </summary>
4510            <param name="rule">
4511            <see cref="T:TestFu.Grammars.IRule"/> to add
4512            </param>
4513        </member>
4514        <member name="M:TestFu.Grammars.IRuleList.Insert(System.Int32,TestFu.Grammars.IRule)">
4515            <summary>
4516            Inserts a <see cref="T:TestFu.Grammars.IRule"/> instance at position <paramref name="index"/>
4517            </summary>
4518            <param name="index">
4519            position to insert the rule
4520            </param>
4521            <param name="rule">
4522            <see cref="T:TestFu.Grammars.IRule"/> to insert
4523            </param>
4524        </member>
4525        <member name="M:TestFu.Grammars.IRuleList.Remove(TestFu.Grammars.IRule)">
4526            <summary>
4527            Removes the first occurence of <paramref name="rule"/>.
4528            </summary>
4529            <param name="rule">
4530            <see cref="T:TestFu.Grammars.IRule"/> to remove
4531            </param>
4532        </member>
4533        <member name="M:TestFu.Grammars.IRuleList.Contains(TestFu.Grammars.IRule)">
4534            <summary>
4535            Gets a value indicating if <paramref name="rule"/> is in the
4536            list.
4537            </summary>
4538            <param name="rule">
4539            <see cref="T:TestFu.Grammars.IRule"/> to test.
4540            </param>
4541            <returns>
4542            true if <paramref name="rule"/> is in the list; otherwise, false.
4543            </returns>
4544        </member>
4545        <member name="M:TestFu.Grammars.IRuleList.Clear">
4546            <summary>
4547            Clears the list.
4548            </summary>
4549        </member>
4550        <member name="P:TestFu.Grammars.IRuleList.Item(System.Int32)">
4551            <summary>
4552            Gets or sets the <see cref="T:TestFu.Grammars.IRule"/> at position <paramref name="index"/>.
4553            </summary>
4554            <param name="index">
4555            <see cref="T:TestFu.Grammars.IRule"/> index.
4556            </param>
4557        </member>
4558        <member name="T:TestFu.Grammars.IRuleSelector">
4559            <summary>
4560            A object that select a rule between a collection of rules.
4561            </summary>
4562        </member>
4563        <member name="M:TestFu.Grammars.IRuleSelector.Select(TestFu.Grammars.IRule[])">
4564            <summary>
4565            Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
4566            </summary>
4567            <param name="rules">
4568            <see cref="T:TestFu.Grammars.IRule"/> array to select from
4569            </param>
4570            <returns>
4571            Select <see cref="T:TestFu.Grammars.IRule"/> instance
4572            </returns>
4573            <exception cref="T:System.ArgumentNullException">
4574            <paramref name="rules"/> is a null reference
4575            </exception>
4576            <exception cref="T:System.ArgumentException">
4577            <paramref name="rules"/> is empty
4578            </exception>
4579        </member>
4580        <member name="M:TestFu.Grammars.IRuleSelector.Select(TestFu.Grammars.IRuleCollection)">
4581            <summary>
4582            Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
4583            </summary>
4584            <param name="rules">
4585            <see cref="T:TestFu.Grammars.IRule"/> collection to select from
4586            </param>
4587            <returns>
4588            Select <see cref="T:TestFu.Grammars.IRule"/> instance
4589            </returns>
4590            <exception cref="T:System.ArgumentNullException">
4591            <paramref name="rules"/> is a null reference
4592            </exception>
4593            <exception cref="T:System.ArgumentException">
4594            <paramref name="rules"/> is empty
4595            </exception>
4596        </member>
4597        <member name="T:TestFu.Grammars.MethodInvokerRule">
4598            <summary>
4599            A rule that executes a <see cref="T:TestFu.Grammars.MethodInvokerRule"/>.
4600            </summary>	
4601        </member>
4602        <member name="M:TestFu.Grammars.MethodInvokerRule.#ctor(TestFu.Grammars.MethodInvoker)">
4603            <summary>
4604            Creates a new instance around a <see cref="T:TestFu.Grammars.MethodInvoker"/>
4605            </summary>
4606            <param name="methodInvoker">
4607            <see cref="T:TestFu.Grammars.MethodInvoker"/> to attach.
4608            </param>
4609            <exception cref="T:System.ArgumentNullException">
4610            <paramref name="methodInvoker"/> is a null reference.
4611            </exception>
4612        </member>
4613        <member name="M:TestFu.Grammars.MethodInvokerRule.Produce(TestFu.Grammars.IProductionToken)">
4614            <summary>
4615            Invokes the <see cref="T:TestFu.Grammars.MethodInvokerRule"/> instance.
4616            </summary>
4617            <param name="token">
4618            Autorization token
4619            </param>
4620        </member>
4621        <member name="T:TestFu.Grammars.NamespaceDoc">
4622            <summary>
4623            <para>The <b>TestFu.Grammars</b> namespace contains a framwork for
4624             implementing
4625            <b>Production Grammars</b>.
4626            </para>
4627            </summary>
4628        </member>
4629        <member name="T:TestFu.Grammars.NotExpectedExceptionTypeException">
4630            <summary>
4631            Exception throwed when an exception is catched and is
4632            not from the expected type.
4633            </summary>
4634        </member>
4635        <member name="M:TestFu.Grammars.NotExpectedExceptionTypeException.#ctor(System.Type,System.Exception)">
4636            <summary>
4637            Creates an instance with the expected exception type
4638            and the actual exception.
4639            </summary>
4640            <param name="expectedType">
4641            Expected exception <see cref="T:System.Type"/>
4642            </param>
4643            <param name="innerException">
4644            Actual catch <see cref="T:System.Exception"/> instance
4645            </param>
4646        </member>
4647        <member name="T:TestFu.Grammars.NotExpectedMessageException">
4648            <summary>
4649            Exception throwed when an exception message does not match
4650            with the message regular expression
4651            </summary>
4652        </member>
4653        <member name="M:TestFu.Grammars.NotExpectedMessageException.#ctor(System.Text.RegularExpressions.Regex,System.Exception)">
4654            <summary>
4655            Creates an instance with the message regular expression and
4656            the actual catched exception.
4657            </summary>
4658            <param name="messageRegex">
4659            The <see cref="T:System.Text.RegularExpressions.Regex"/> instance used to match the message
4660            </param>
4661            <param name="innerException">
4662            The actual <see cref="T:System.Exception"/> instance.
4663            </param>
4664        </member>
4665        <member name="P:TestFu.Grammars.NotExpectedMessageException.MessageRegex">
4666            <summary>
4667            Gets the <see cref="T:System.Text.RegularExpressions.Regex"/> instance used to match the exception message
4668            </summary>
4669            <value>
4670            <see cref="T:System.Text.RegularExpressions.Regex"/> message matcher.
4671            </value>
4672        </member>
4673        <member name="T:TestFu.Grammars.Predicates">
4674            <summary>
4675            A static helper class for creating <see cref="T:TestFu.Grammars.IPredicate"/>.
4676            </summary>
4677        </member>
4678        <member name="M:TestFu.Grammars.Predicates.If(TestFu.Grammars.ConditionDelegate)">
4679            <summary>
4680            Creates a <see cref="T:TestFu.Grammars.ConditionDelegatePredicate"/> around
4681            <paramref name="condition"/>
4682            </summary>
4683            <param name="condition">
4684            condition to wrap</param>
4685            <returns>
4686            A <see cref="T:TestFu.Grammars.ConditionDelegatePredicate"/>
4687            </returns>
4688        </member>
4689        <member name="T:TestFu.Grammars.ProductionException">
4690            <summary>
4691            Expection class used to stop production.
4692            </summary>
4693        </member>
4694        <member name="M:TestFu.Grammars.ProductionException.#ctor(TestFu.Grammars.IProduction)">
4695            <summary>
4696            
4697            </summary>
4698            <param name="production"></param>
4699        </member>
4700        <member name="P:TestFu.Grammars.ProductionException.Production">
4701            <summary>
4702            Gets the production that stopped.
4703            </summary>
4704        </member>
4705        <member name="T:TestFu.Grammars.ProductionToken">
4706            <summary>
4707            Default implementation of <see cref="T:TestFu.Grammars.IProductionToken"/>
4708            </summary>
4709        </member>
4710        <member name="M:TestFu.Grammars.ProductionToken.#ctor(TestFu.Grammars.IProduction)">
4711            <summary>
4712            Creates a token from <paramref name="production"/>
4713            </summary>
4714            <param name="production">
4715            production to wrap.
4716            </param>
4717            <exception cref="T:System.ArgumentNullException">
4718            <paramref name="production"/> is a null reference (Nothing in 
4719            Visual Basic).
4720            </exception>
4721        </member>
4722        <member name="P:TestFu.Grammars.ProductionToken.Production">
4723            <summary>
4724            Gets the <see cref="T:TestFu.Grammars.IProduction"/> that emited the token.
4725            </summary>
4726            <value>
4727            The <see cref="T:TestFu.Grammars.IProduction"/> instance that emited the token.
4728            </value>
4729        </member>
4730        <member name="P:TestFu.Grammars.ProductionToken.Authorized">
4731            <summary>
4732            Gets a value indicating if the production is authorized
4733            </summary>
4734            <value>
4735            true if authorized, otherwise false.
4736            </value>
4737        </member>
4738        <member name="T:TestFu.Grammars.ProductionTokenDelegateRule">
4739            <summary>
4740            A rule that executes a <see cref="T:TestFu.Grammars.ProductionTokenDelegate"/>.
4741            </summary>	
4742        </member>
4743        <member name="M:TestFu.Grammars.ProductionTokenDelegateRule.#ctor(TestFu.Grammars.ProductionTokenDelegate)">
4744            <summary>
4745            Creates a new instance around a <see cref="T:TestFu.Grammars.ProductionTokenDelegate"/>
4746            </summary>
4747            <param name="productionTokenDelegate">
4748            <see cref="T:TestFu.Grammars.ProductionTokenDelegateRule"/> to attach.
4749            </param>
4750            <exception cref="T:System.ArgumentNullException">
4751            <paramref name="productionTokenDelegate"/> is a null reference.
4752            </exception>
4753        </member>
4754        <member name="M:TestFu.Grammars.ProductionTokenDelegateRule.Produce(TestFu.Grammars.IProductionToken)">
4755            <summary>
4756            Invokes the <see cref="T:TestFu.Grammars.ProductionTokenDelegateRule"/> instance.
4757            </summary>
4758            <param name="token">
4759            Autorization token
4760            </param>
4761        </member>
4762        <member name="T:TestFu.Grammars.ProductionTokenEventArgs">
4763            <summary>
4764            Summary description for ProductionTokenEventArgs.
4765            </summary>
4766        </member>
4767        <member name="T:TestFu.Grammars.Random">
4768            <summary>
4769            System implementation of <see cref="T:TestFu.Grammars.IRandom"/>
4770            </summary>
4771        </member>
4772        <member name="M:TestFu.Grammars.Random.#ctor">
4773            <summary>
4774            Creates an instance initialized using <see cref="T:System.DateTime"/>.Now.Ticks.
4775            </summary>
4776        </member>
4777        <member name="T:TestFu.Grammars.RandomRuleSelector">
4778            <summary>
4779            Uniform random rule selector.
4780            </summary>
4781        </member>
4782        <member name="M:TestFu.Grammars.RandomRuleSelector.Select(TestFu.Grammars.IRule[])">
4783            <summary>
4784            Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
4785            </summary>
4786            <param name="rules">
4787            <see cref="T:TestFu.Grammars.IRule"/> array to select from
4788            </param>
4789            <returns>
4790            Select <see cref="T:TestFu.Grammars.IRule"/> instance
4791            </returns>
4792            <exception cref="T:System.ArgumentNullException">
4793            <paramref name="rules"/> is a null reference
4794            </exception>
4795            <exception cref="T:System.ArgumentException">
4796            <paramref name="rules"/> is empty
4797            </exception>
4798        </member>
4799        <member name="M:TestFu.Grammars.RandomRuleSelector.Select(TestFu.Grammars.IRuleCollection)">
4800            <summary>
4801            Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
4802            </summary>
4803            <param name="rules">
4804            <see cref="T:TestFu.Grammars.IRule"/> collection to select from
4805            </param>
4806            <returns>
4807            Select <see cref="T:TestFu.Grammars.IRule"/> instance
4808            </returns>
4809            <exception cref="T:System.ArgumentNullException">
4810            <paramref name="rules"/> is a null reference
4811            </exception>
4812            <exception cref="T:System.ArgumentException">
4813            <paramref name="rules"/> is empty
4814            </exception>
4815        </member>
4816        <member name="P:TestFu.Grammars.RandomRuleSelector.Random">
4817            <summary>
4818            Gets or sets the random generator
4819            </summary>
4820            <value>
4821            The <see cref="T:TestFu.Grammars.IRandom"/> instance used for random data generation
4822            </value>
4823            <exception cref="T:System.ArgumentNullException">
4824            set property, value is a null  reference
4825            </exception>
4826        </member>
4827        <member name="T:TestFu.Grammars.RepetitionRule">
4828            <summary>
4829            A <see cref="T:TestFu.Grammars.IRule"/> that executes repeatidely an inner <see cref="T:TestFu.Grammars.IRule"/>
4830            </summary>
4831        </member>
4832        <member name="M:TestFu.Grammars.RepetitionRule.#ctor(TestFu.Grammars.IRule,System.Int32,System.Int32)">
4833            <summary>
4834            Creates an instance that executes the rule between
4835            <paramref name="minOccurense"/> and <paramref name="maxOccurence"/>
4836            times.
4837            </summary>
4838            <param name="rule">
4839            <see cref="T:TestFu.Grammars.IRule"/> to repeat
4840            </param>
4841            <param name="minOccurence">
4842            Minimum number of occurence
4843            </param>
4844            <param name="maxOccurence">
4845            Maximum number of occurence
4846            </param>
4847        </member>
4848        <member name="M:TestFu.Grammars.RepetitionRule.Produce(TestFu.Grammars.IProductionToken)">
4849            <summary>
4850            Executes repeatidely the inner rule.
4851            </summary>
4852            <param name="token">
4853            Authorization token
4854            </param>
4855        </member>
4856        <member name="M:TestFu.Grammars.RepetitionRule.ToEbnf">
4857            <summary>
4858            Converts rule to EBNF like representation
4859            </summary>
4860            <returns>
4861            EBNF-like string representing the rule.
4862            </returns>
4863        </member>
4864        <member name="P:TestFu.Grammars.RepetitionRule.Random">
4865            <summary>
4866            Gets or sets the random generator used for selection repetition
4867            counts
4868            </summary>
4869            <value>
4870            The <see cref="T:TestFu.Grammars.IRandom"/> random generator.
4871            </value>
4872            <exception cref="T:System.ArgumentNullException">
4873            set property, value is a null reference
4874            </exception>
4875        </member>
4876        <member name="P:TestFu.Grammars.RepetitionRule.Rule">
4877            <summary>
4878            Gets the inner <see cref="T:TestFu.Grammars.IRule"/> instance
4879            </summary>
4880            <value>
4881            Repeated <see cref="T:TestFu.Grammars.IRule"/> instance.
4882            </value>
4883        </member>
4884        <member name="P:TestFu.Grammars.RepetitionRule.MinOccurence">
4885            <summary>
4886            Gets the minimum of rule execution
4887            </summary>
4888            <value>
4889            Minimum of rule execution
4890            </value>
4891        </member>
4892        <member name="P:TestFu.Grammars.RepetitionRule.MaxOccurence">
4893            <summary>
4894            Gets the maximum of rule execution
4895            </summary>
4896            <value>
4897            Maximum of rule execution
4898            </value>
4899        </member>
4900        <member name="T:TestFu.Grammars.RoundRobinRuleSelector">
4901            <summary>
4902            Round Robin rule selector.
4903            </summary>
4904        </member>
4905        <member name="M:TestFu.Grammars.RoundRobinRuleSelector.Select(TestFu.Grammars.IRule[])">
4906            <summary>
4907            Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
4908            </summary>
4909            <param name="rules">
4910            <see cref="T:TestFu.Grammars.IRule"/> array to select from
4911            </param>
4912            <returns>
4913            Select <see cref="T:TestFu.Grammars.IRule"/> instance
4914            </returns>
4915            <exception cref="T:System.ArgumentNullException">
4916            <paramref name="rules"/> is a null reference
4917            </exception>
4918            <exception cref="T:System.ArgumentException">
4919            <paramref name="rules"/> is empty
4920            </exception>
4921        </member>
4922        <member name="M:TestFu.Grammars.RoundRobinRuleSelector.Select(TestFu.Grammars.IRuleCollection)">
4923            <summary>
4924            Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
4925            </summary>
4926            <param name="rules">
4927            <see cref="T:TestFu.Grammars.IRule"/> collection to select from
4928            </param>
4929            <returns>
4930            Select <see cref="T:TestFu.Grammars.IRule"/> instance
4931            </returns>
4932            <exception cref="T:System.ArgumentNullException">
4933            <paramref name="rules"/> is a null reference
4934            </exception>
4935            <exception cref="T:System.ArgumentException">
4936            <paramref name="rules"/> is empty
4937            </exception>
4938        </member>
4939        <member name="P:TestFu.Grammars.RoundRobinRuleSelector.Index">
4940            <summary>
4941            Gets or sets the current rule index.
4942            </summary>
4943            <value>
4944            Current rule index
4945            </value>
4946        </member>
4947        <member name="T:TestFu.Grammars.RuleList">
4948            <summary>
4949            A collection of elements of type IRule
4950            </summary>
4951        </member>
4952        <member name="M:TestFu.Grammars.RuleList.#ctor">
4953            <summary>
4954            Initializes a new empty instance of the RuleList class.
4955            </summary>
4956        </member>
4957        <member name="M:TestFu.Grammars.RuleList.Add(TestFu.Grammars.IRule)">
4958            <summary>
4959            Adds an instance of type IRule to the end of this RuleList.
4960            </summary>
4961            <param name="value">
4962            The IRule to be added to the end of this RuleList.
4963            </param>
4964        </member>
4965        <member name="M:TestFu.Grammars.RuleList.Contains(TestFu.Grammars.IRule)">
4966            <summary>
4967            Determines whether a specfic IRule value is in this RuleList.
4968            </summary>
4969            <param name="value">
4970            The IRule value to locate in this RuleList.
4971            </param>
4972            <returns>
4973            true if value is found in this RuleList;
4974            false otherwise.
4975            </returns>
4976        </member>
4977        <member name="M:TestFu.Grammars.RuleList.Insert(System.Int32,TestFu.Grammars.IRule)">
4978            <summary>
4979            Inserts an element into the RuleList at the specified index
4980            </summary>
4981            <param name="index">
4982            The index at which the IRule is to be inserted.
4983            </param>
4984            <param name="value">
4985            The IRule to insert.
4986            </param>
4987        </member>
4988        <member name="M:TestFu.Grammars.RuleList.Remove(TestFu.Grammars.IRule)">
4989            <summary>
4990            Removes the first occurrence of a specific IRule from this RuleList.
4991            </summary>
4992            <param name="value">
4993            The IRule value to remove from this RuleList.
4994            </param>
4995        </member>
4996        <member name="M:TestFu.Grammars.RuleList.GetEnumerator">
4997            <summary>
4998            Returns an enumerator that can iterate through the elements of this RuleList.
4999            </summary>
5000            <returns>
5001            An object that implements System.Collections.IEnumerator.
5002            </returns>        
5003        </member>
5004        <member name="P:TestFu.Grammars.RuleList.Item(System.Int32)">
5005            <summary>
5006            Gets or sets the IRule at the given index in this RuleList.
5007            </summary>
5008        </member>
5009        <member name="T:TestFu.Grammars.RuleList.Enumerator">
5010            <summary>
5011            Type-specific enumeration class, used by RuleList.GetEnumerator.
5012            </summary>
5013        </member>
5014        <member name="M:TestFu.Grammars.RuleList.Enumerator.#ctor(TestFu.Grammars.RuleList)">
5015            <summary>
5016            
5017            </summary>
5018            <param name="collection"></param>
5019        </member>
5020        <member name="M:TestFu.Grammars.RuleList.Enumerator.MoveNext">
5021            <summary>
5022            
5023            </summary>
5024            <returns></returns>
5025        </member>
5026        <member name="M:TestFu.Grammars.RuleList.Enumerator.Reset">
5027            <summary>
5028            
5029            </summary>
5030        </member>
5031        <member name="P:TestFu.Grammars.RuleList.Enumerator.Current">
5032            <summary>
5033            
5034            </summary>
5035        </member>
5036        <member name="P:TestFu.Grammars.RuleList.Enumerator.System#Collections#IEnumerator#Current">
5037            <summary>
5038            
5039            </summary>
5040        </member>
5041        <member name="T:TestFu.Grammars.Rules">
5042            <summary>
5043            Static helper class for creating rules.
5044            </summary>
5045        </member>
5046        <member name="M:TestFu.Grammars.Rules.Alt(TestFu.Grammars.IRule[])">
5047            <summary>
5048            Creates an alternative of rules.
5049            </summary>
5050            <param name="rules">
5051            Set of rule to choose from alternatively.
5052            </param>
5053            <remarks>
5054            <code>
5055            [EBNF]
5056            rule := A | B | C
5057            
5058            [C#]
5059            IRule rule = Rules.Alt(A,B,C);
5060            </code>
5061            </remarks>
5062            <returns>
5063            An <see cref="T:TestFu.Grammars.AlternativeRule"/> instance implementing
5064            the alternative rule choosing.
5065            </returns>
5066        </member>
5067        <member name="M:TestFu.Grammars.Rules.WeightedAlt(TestFu.Grammars.IRule[])">
5068            <summary>
5069            Creates a weighted alternative of rules.
5070            </summary>
5071            <param name="rules">
5072            Set of rule to choose from alternatively.
5073            </param>
5074            <remarks>
5075            <para>
5076            The <see cref="P:TestFu.Grammars.IRule.Weight"/> property of each rule is used to
5077            weight the probability to choose the rule.
5078            </para>
5079            <code>
5080            [EBNF]
5081            rule := A | B | C where A is chosen with P(A)=A.Weight / ABC.Weight
5082            and ABC.Weight = A.Weight + B.Weight + C.Weight
5083            
5084            [C#]
5085            IRule rule = Rules.WeightedAlt(A,B,C);
5086            </code>
5087            </remarks>
5088            <returns>
5089            An <see cref="T:TestFu.Grammars.AlternativeRule"/> instance implementing
5090            the alternative rule choosing.
5091            </returns>
5092        </member>
5093        <member name="M:TestFu.Grammars.Rules.Seq(TestFu.Grammars.IRule[])">
5094            <summary>
5095            Creates a sequence of rules.
5096            </summary>
5097            <param name="rules">
5098            Set of rule to execute in sequence.
5099            </param>
5100            <remarks>
5101            <code>
5102            [EBNF]
5103            rule := A B C
5104            
5105            [C#]
5106            IRule rule = Rules.Seq(A,B,C);
5107            </code>
5108            </remarks>
5109            <returns>
5110            An <see cref="T:TestFu.Grammars.SequenceRule"/> instance implementing
5111            the sequence of rules.
5112            </returns>
5113        </member>
5114        <member name="M:TestFu.Grammars.Rules.Opt(TestFu.Grammars.IRule)">
5115            <summary>
5116            Creates an optional rule.
5117            </summary>
5118            <param name="rule">
5119            Rule to execute optionaly.
5120            </param>
5121            <remarks>
5122            <code>
5123            [EBNF]
5124            rule := A?
5125            
5126            [C#]
5127            IRule rule = Rules.Opt(A);
5128            </code>
5129            </remarks>
5130            <returns>
5131            An <see cref="T:TestFu.Grammars.RepetitionRule"/> instance implementing
5132            the ? operator.
5133            </returns>
5134        </member>
5135        <member name="M:TestFu.Grammars.Rules.Pos(TestFu.Grammars.IRule)">
5136            <summary>
5137            Creates a rule to be execute one or more times.
5138            </summary>
5139            <param name="rule">
5140            Rule to be executed.
5141            </param>
5142            <remarks>
5143            <code>
5144            [EBNF]
5145            rule := A+
5146            
5147            [C#]
5148            IRule rule = Rules.Pos(A);
5149            </code>
5150            </remarks>
5151            <returns>
5152            An <see cref="T:TestFu.Grammars.RepetitionRule"/> instance implementing
5153            the + operator.
5154            </returns>
5155        </member>
5156        <member name="M:TestFu.Grammars.Rules.Kleene(TestFu.Grammars.IRule)">
5157            <summary>
5158            Creates a rule to be execute zero or more times.
5159            </summary>
5160            <param name="rule">
5161            Rule to be executed.
5162            </param>
5163            <remarks>
5164            <code>
5165            [EBNF]
5166            rule := A*
5167            
5168            [C#]
5169            IRule rule = Rules.Kleene(A);
5170            </code>
5171            </remarks>
5172            <returns>
5173            An <see cref="T:TestFu.Grammars.RepetitionRule"/> instance implementing
5174            the * operator.
5175            </returns>
5176        </member>
5177        <member name="M:TestFu.Grammars.Rules.Repetition(TestFu.Grammars.IRule,System.Int32,System.Int32)">
5178            <summary>
5179            Creates a rule to be execute between <paramref name="minOccurence"/>
5180            and <paramref name="maxOccurence"/> times.
5181            </summary>
5182            <param name="rule">
5183            Rule to be executed.
5184            </param>
5185            <remarks>
5186            <code>
5187            [EBNF]
5188            rule := A{m,n}
5189            
5190            [C#]
5191            IRule rule = Rules.Repetition(A,m,n);
5192            </code>
5193            </remarks>
5194            <param name="minOccurence">
5195            minimum number of execution of <paramref name="rule"/>
5196            </param>
5197            <param name="maxOccurence">
5198            maximum number of execution of <paramref name="rule"/>
5199            </param>
5200            <returns>
5201            An <see cref="T:TestFu.Grammars.RepetitionRule"/> instance implementing
5202            the {m,n} operator.
5203            </returns>
5204        </member>
5205        <member name="M:TestFu.Grammars.Rules.EventHandler(System.EventHandler)">
5206            <summary>
5207            Creates a <see cref="T:TestFu.Grammars.IRule"/> that executes an <see cref="M:TestFu.Grammars.Rules.EventHandler(System.EventHandler)"/>.
5208            </summary>
5209            <param name="handler">
5210            <see cref="M:TestFu.Grammars.Rules.EventHandler(System.EventHandler)"/> to execute
5211            </param>
5212            <returns>
5213            <see cref="T:TestFu.Grammars.EventHandlerRule"/> instance that contains <paramref name="handler"/>
5214            </returns>
5215        </member>
5216        <member name="M:TestFu.Grammars.Rules.Method(TestFu.Grammars.MethodInvoker)">
5217            <summary>
5218            Creates a <see cref="T:TestFu.Grammars.IRule"/> that executes an <see cref="T:TestFu.Grammars.MethodInvoker"/>.
5219            </summary>
5220            <param name="del">
5221            <see cref="T:TestFu.Grammars.MethodInvoker"/> to execute
5222            </param>
5223            <returns>
5224            <see cref="T:TestFu.Grammars.MethodInvokerRule"/> instance that contains 
5225            <paramref name="del"/>
5226            </returns>
5227        </member>
5228        <member name="M:TestFu.Grammars.Rules.Method(TestFu.Grammars.ProductionTokenDelegate)">
5229            <summary>
5230            Creates a <see cref="T:TestFu.Grammars.IRule"/> that executes an <see cref="T:TestFu.Grammars.ProductionTokenDelegate"/>.
5231            </summary>
5232            <param name="del">
5233            <see cref="T:TestFu.Grammars.ProductionTokenDelegate"/> to execute
5234            </param>
5235            <returns>
5236            <see cref="T:TestFu.Grammars.ProductionTokenDelegateRule"/> instance that contains 
5237            <paramref name="del"/>
5238            </returns>
5239        </member>
5240        <member name="M:TestFu.Grammars.Rules.Guard(TestFu.Grammars.IRule,System.Type)">
5241            <summary>
5242            Guards the execution of a <see cref="T:TestFu.Grammars.IRule"/> from an expected
5243            <see cref="T:System.Exception"/> type.
5244            </summary>
5245            <param name="rule">
5246            <see cref="T:TestFu.Grammars.IRule"/> instance to guard.
5247            </param>
5248            <param name="exceptionType">
5249            Expected throwed exception when <paramref name="rule"/> is executed
5250            </param>
5251            <returns>
5252            A <see cref="T:TestFu.Grammars.GuardedRule"/> instance guarding <paramref name="rule"/>
5253            </returns>
5254        </member>
5255        <member name="M:TestFu.Grammars.Rules.If(TestFu.Grammars.IPredicate,TestFu.Grammars.IRule)">
5256            <summary>
5257            Creates a conditional rule with "if" rule.
5258            </summary>
5259            <param name="cond">
5260            Condition expression
5261            </param>
5262            <param name="rule">
5263            <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is true.
5264            </param>
5265            <returns>
5266            A <see cref="T:TestFu.Grammars.ConditionalRule"/> implementing condition rule execution.
5267            </returns>
5268        </member>
5269        <member name="M:TestFu.Grammars.Rules.If(TestFu.Grammars.IPredicate,TestFu.Grammars.IRule,TestFu.Grammars.IRule)">
5270            <summary>
5271            Creates a conditional rule with "if" rule and "else" rule.
5272            </summary>
5273            <param name="cond">
5274            Condition expression
5275            </param>
5276            <param name="rule">
5277            <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is true.
5278            </param>
5279            <param name="elseRule">
5280            <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is false.
5281            </param>
5282            <returns>
5283            A <see cref="T:TestFu.Grammars.ConditionalRule"/> implementing condition rule execution.
5284            </returns>
5285        </member>
5286        <member name="M:TestFu.Grammars.Rules.If(TestFu.Grammars.ConditionDelegate,TestFu.Grammars.IRule,TestFu.Grammars.IRule)">
5287            <summary>
5288            Creates a conditional rule with "if" rule.
5289            </summary>
5290            <param name="cond">
5291            Condition expression
5292            </param>
5293            <param name="rule">
5294            <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is true.
5295            </param>
5296            <param name="elseRule">
5297            <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is false.
5298            </param>
5299            <returns>
5300            A <see cref="T:TestFu.Grammars.ConditionalRule"/> implementing condition rule execution.
5301            </returns>
5302        </member>
5303        <member name="M:TestFu.Grammars.Rules.If(TestFu.Grammars.ConditionDelegate,TestFu.Grammars.IRule)">
5304            <summary>
5305            Creates a conditional rule with "if" rule and "else" rule.
5306            </summary>
5307            <param name="cond">
5308            Condition expression
5309            </param>
5310            <param name="rule">
5311            <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is true.
5312            </param>
5313            <returns>
5314            A <see cref="T:TestFu.Grammars.ConditionalRule"/> implementing condition rule execution.
5315            </returns>
5316        </member>
5317        <member name="T:TestFu.Grammars.SequenceRule">
5318            <summary>
5319            A sequence of rules.
5320            </summary>
5321        </member>
5322        <member name="M:TestFu.Grammars.SequenceRule.Produce(TestFu.Grammars.IProductionToken)">
5323            <summary>
5324            Executes sub-rule production in sequence.
5325            </summary>
5326            <param name="token">
5327            <see cref="T:TestFu.Grammars.IProductionToken"/> to authorize production.
5328            </param>
5329        </member>
5330        <member name="T:TestFu.Grammars.WeightedRandomRuleSelector">
5331            <summary>
5332            Weighted random rule selector.
5333            </summary>
5334        </member>
5335        <member name="M:TestFu.Grammars.WeightedRandomRuleSelector.Select(TestFu.Grammars.IRule[])">
5336            <summary>
5337            Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
5338            </summary>
5339            <param name="rules">
5340            <see cref="T:TestFu.Grammars.IRule"/> array to select from
5341            </param>
5342            <returns>
5343            Select <see cref="T:TestFu.Grammars.IRule"/> instance
5344            </returns>
5345            <exception cref="T:System.ArgumentNullException">
5346            <paramref name="rules"/> is a null reference
5347            </exception>
5348            <exception cref="T:System.ArgumentException">
5349            <paramref name="rules"/> is empty
5350            </exception>
5351        </member>
5352        <member name="M:TestFu.Grammars.WeightedRandomRuleSelector.Select(TestFu.Grammars.IRuleCollection)">
5353            <summary>
5354            Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
5355            </summary>
5356            <param name="rules">
5357            <see cref="T:TestFu.Grammars.IRule"/> collection to select from
5358            </param>
5359            <returns>
5360            Select <see cref="T:TestFu.Grammars.IRule"/> instance
5361            </returns>
5362            <exception cref="T:System.ArgumentNullException">
5363            <paramref name="rules"/> is a null reference
5364            </exception>
5365            <exception cref="T:System.ArgumentException">
5366            <paramref name="rules"/> is empty
5367            </exception>
5368        </member>
5369        <member name="T:TestFu.NamespaceDoc">
5370            <summary>
5371            <para>
5372            <em><b>TestFu</b>, the Art of Testing.</em>
5373            </para>
5374            <para>
5375            The <b>TestFu</b> assembly contains a bunch of framework to help
5376            developper build automated tests using random generators,
5377            models, grammars, etc...
5378            </para>
5379            </summary>
5380        </member>
5381        <member name="T:TestFu.Tests.Operations.NamespaceDoc">
5382            <summary>
5383            <para>
5384            The <b>TestFu.Operations</b> namespace contains classes for building
5385            Combinatorial Test suites.
5386            </para>
5387            <para>
5388            The algorithms for generating the covergate suites are extracted
5389            from <em>Efficient Algorithms for Generation of Combinatorial Covering Suites</em>, 
5390            by Adrian Dumitrescu.
5391            </para>
5392            </summary>
5393        </member>
5394        <member name="T:TestFu.Operations.Permutation">
5395            <summary>
5396            A class to generate permutations.
5397            </summary>
5398            <remarks>
5399            <para>
5400            This class can generate any sequence of permutation of order <see cref="P:TestFu.Operations.Permutation.Order"/>.
5401            The <see cref="M:TestFu.Operations.Permutation.GetSuccessor"/> method returns the next permutation, while
5402            <see cref="M:TestFu.Operations.Permutation.GetSuccessors"/> can be used to iterates all the rest of the permutations.
5403            </para>
5404            <para>
5405            The permutation can be applied to an array using <see cref="M:TestFu.Operations.Permutation.ApplyTo(System.Object[])"/>, it can also
5406            be inverted using <see cref="M:TestFu.Operations.Permutation.Inverse"/>.
5407            </para>
5408            <para>
5409            This class was extracted from
5410            <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/permutations.asp">
5411            <em>Using Permutations in .NET for Improved Systems Security</em> by
5412            Dr. James McCaffrey.
5413            </a>
5414            </para>
5415            </remarks>
5416        </member>
5417        <member name="M:TestFu.Operations.Permutation.#ctor(System.Int32)">
5418            <summary>
5419            Creates a new idenity permutation
5420            </summary>
5421            <param name="n">
5422            order of the new permutation
5423            </param>
5424        </member>
5425        <member name="M:TestFu.Operations.Permutation.#ctor(System.Int32,System.Int32)">
5426            <summary>
5427            Creates the <paramref name="k"/>-th permutation of
5428            order <paramref name="n"/>.
5429            </summary>
5430            <param name="n"></param>
5431            <param name="k"></param>
5432        </member>
5433        <member name="M:TestFu.Operations.Permutation.CheckPermutation">
5434            <summary>
5435            Checks that the permutation is correct
5436            </summary>
5437        </member>
5438        <member name="M:TestFu.Operations.Permutation.ToString">
5439            <summary>
5440            Converts the permutation to a string representation.
5441            </summary>
5442            <returns></returns>
5443        </member>
5444        <member name="M:TestFu.Operations.Permutation.ApplyTo(System.Object[])">
5445            <summary>
5446            Applis the permutation to the array 
5447            </summary>
5448            <param name="arr">
5449            A <see cref="T:System.Object"/> array of Length equal 
5450            to <see cref="P:TestFu.Operations.Permutation.Order"/>.</param>
5451            <returns>
5452            A new array containing the permutated element of <paramref name="arr"/>
5453            </returns>
5454        </member>
5455        <member name="M:TestFu.Operations.Permutation.Inverse">
5456            <summary>
5457            Creates the inverse of the permutation.
5458            </summary>
5459            <returns></returns>
5460        </member>
5461        <member name="M:TestFu.Operations.Permutation.GetSuccessor">
5462            <summary>
5463            Creates the next permutation in lexicographic order.
5464            </summary>
5465            <returns>
5466            The next <see cref="T:TestFu.Operations.Permutation"/> instance if there remain any;
5467            otherwize a null reference.
5468            </returns>
5469        </member>
5470        <member name="M:TestFu.Operations.Permutation.GetSuccessors">
5471            <summary>
5472            Gets an enumerable collection of <see cref="T:TestFu.Operations.Permutation"/> successors.
5473            </summary>
5474            <returns></returns>
5475        </member>
5476        <member name="P:TestFu.Operations.Permutation.Order">
5477            <summary>
5478            Gets the order of the permutation
5479            </summary>
5480            <value></value>
5481        </member>
5482    </members>
5483</doc>