summaryrefslogtreecommitdiff
path: root/build/lib/test/mbunit/TestFu.xml
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2018-11-04 15:22:16 -0700
committermo <mo.khan@gmail.com>2018-11-04 15:22:16 -0700
commit5ee1f55497a4e30322a56f133f897ecde1612967 (patch)
treebf544e0879234c3623869627d8786776cb19b8e9 /build/lib/test/mbunit/TestFu.xml
initial commit.HEADmaster
Diffstat (limited to 'build/lib/test/mbunit/TestFu.xml')
-rw-r--r--build/lib/test/mbunit/TestFu.xml5483
1 files changed, 5483 insertions, 0 deletions
diff --git a/build/lib/test/mbunit/TestFu.xml b/build/lib/test/mbunit/TestFu.xml
new file mode 100644
index 0000000..f603be8
--- /dev/null
+++ b/build/lib/test/mbunit/TestFu.xml
@@ -0,0 +1,5483 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>TestFu</name>
+ </assembly>
+ <members>
+ <member name="T:TestFu.Data.Adapters.DataAdapt">
+ <summary>
+ Static helper class for creating data binders
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.Collections.DataGeneratorCollection">
+ <summary>
+ Summary description for DataGeneratorCollection.
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.IDataGeneratorCollection">
+ <summary>
+ A collection of <see cref="T:TestFu.Data.IDataGenerator"/>.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="M:TestFu.Data.IDataGeneratorCollection.Add(TestFu.Data.IDataGenerator)">
+ <summary>
+ Adds a <see cref="T:TestFu.Data.IDataGenerator"/> to the collection.
+ </summary>
+ <param name="dataGenerator">
+ <see cref="T:TestFu.Data.IDataGenerator"/> to add to the collection.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="dataGenerator"/> is a null reference
+ (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.IDataGeneratorCollection.Remove(TestFu.Data.IDataGenerator)">
+ <summary>
+ Removes a <see cref="T:TestFu.Data.IDataGenerator"/> from the collection.
+ </summary>
+ <param name="dataGenerator">
+ <see cref="T:TestFu.Data.IDataGenerator"/> to remove from the collection.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="dataGenerator"/> is a null reference
+ (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.IDataGeneratorCollection.Remove(System.Data.DataColumn)">
+ <summary>
+ Removes a <see cref="T:TestFu.Data.IDataGenerator"/> associated to
+ <paramref name="column"/> from the collection.
+ </summary>
+ <param name="column">
+ <see cref="T:System.Data.DataColumn"/> whose generator is to be removed from the collection.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="column"/> is a null reference
+ (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.IDataGeneratorCollection.Remove(System.String)">
+ <summary>
+ Removes a <see cref="T:TestFu.Data.IDataGenerator"/> associated to
+ <paramref name="column"/> from the collection.
+ </summary>
+ <param name="columnName">
+ Column named <paramref name="columnName"/> whose generator is to be removed from the collection.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="columnName"/> is a null reference
+ (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="P:TestFu.Data.IDataGeneratorCollection.Item(System.Data.DataColumn)">
+ <summary>
+ Gets the <see cref="T:TestFu.Data.IDataGenerator"/> associated to the
+ <paramref name="column"/>.
+ </summary>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="column"/> is a null reference
+ (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="P:TestFu.Data.IDataGeneratorCollection.Item(System.String)">
+ <summary>
+ Gets the <see cref="T:TestFu.Data.IDataGenerator"/> associated to the column named
+ <paramref name="columnName"/>.
+ </summary>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="columnName"/> is a null reference
+ (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="T:TestFu.Data.IForeignKeyProviderCollection">
+ <summary>
+ A collection of <see cref="T:TestFu.Data.IForeignKeyProvider"/>.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.Collections.TablePopulatorCollection">
+ <summary>
+ Summary description for TablePopulatorCollection.
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.ITablePopulatorCollection">
+ <summary>
+ A collection of <see cref="T:TestFu.Data.ITablePopulator"/>.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.IUniqueValidatorCollection">
+ <summary>
+ A collection of <see cref="T:TestFu.Data.IUniqueValidator"/>.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.DbAdministratorBase">
+ <summary>
+ Abstract class to perform administrative tasks on a database
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.#ctor(System.String,System.String,TestFu.Data.IDbFactory)">
+ <summary>
+ Initializes an instance of <see cref="T:TestFu.Data.DbAdministratorBase"/> with the connection string.
+ </summary>
+ <param name="connectionString">Connection string to the SQL server without initial catalog</param>
+ <param name="databaseName">Catalog name</param>
+ <param name="factory">The factory to use.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="connectionString"/> is a null reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.BackupDatabase(TestFu.Data.DbBackupDevice,System.String)">
+ <summary>
+ Creates a backup of the specified database using the specified <paramref name="device"/>
+ and <paramref name="destination"/>.
+ </summary>
+ <param name="device">
+ A <see cref="T:TestFu.Data.DbBackupDevice"/> defining the type of output device.
+ </param>
+ <param name="destination">
+ Device path.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="destination"/> is a null
+ reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.RestoreDatabase(TestFu.Data.DbBackupDevice,System.String)">
+ <summary>
+ Restores a backup of the specified database using the specified <paramref name="device"/>
+ and <paramref name="destination"/>.
+ </summary>
+ <param name="device">
+ A <see cref="T:TestFu.Data.DbBackupDevice"/> defining the type of output device.
+ </param>
+ <param name="destination">
+ Device path.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="destination"/> is a null
+ reference (Nothing in Visual Basic)
+ </exception>
+ <remarks>
+ <para>
+ If you plan to override an existing database, you must first drop this database.
+ This method takes a conservative behavior and will not override an existing database.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.CreateDatabase">
+ <summary>
+ Creates a new database on the server
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.DropDatabase">
+ <summary>
+ Drops an existing new database on the server
+ </summary>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="databaseName"/> is a null
+ reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.ContainsDatabase">
+ <summary>
+ Gets a value indicating if the current database exists.
+ </summary>
+ <returns>
+ true if it exists; otherwise, false.
+ </returns>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.DropTable(System.String)">
+ <summary>
+ Drops the table.
+ </summary>
+ <param name="tableName">
+ Name of the table to drop
+ </param>
+ <remarks>
+ <para>
+ This method takes care of removing the constraints associated
+ to the table before removing the table.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.ContainsTable(System.String)">
+ <summary>
+ Gets a value indicating if the database contains
+ the table.
+ </summary>
+ <param name="tableName">
+ Name of the table to search
+ </param>
+ <returns>
+ true if a table named <paramref name="tableName"/> is contained
+ in the databse;oterwise false.
+ </returns>
+ </member>
+ <member name="M:TestFu.Data.DbAdministratorBase.ExecuteNonQuery(System.String,System.String,System.Object[])">
+ <summary>
+ Executes a non-query in a safe, transactional environement.
+ </summary>
+ <param name="connString">The connection string.</param>
+ <param name="query">
+ Query to execute.
+ </param>
+ <param name="args">Optional arguments.</param>
+ </member>
+ <member name="P:TestFu.Data.DbAdministratorBase.ConnectionString">
+ <summary>
+ Gets or sets the connection string with Initial Catalog information
+ </summary>
+ <value>
+ Connection string.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.DbAdministratorBase.DatabaseName">
+ <summary>
+ Gets or sets the database name
+ </summary>
+ <value>
+ The database name.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.DbAdministratorBase.DatabaseOwner">
+ <summary>
+ Gets or sets the database owner.
+ </summary>
+ <value>
+ Database owner name.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.DbAdministratorBase.DatabaseConnectionString">
+ <summary>
+ Gets the connection string with Initial Catalog information.
+ </summary>
+ <value>
+ Connection string with Initial catalog information.
+ </value>
+ </member>
+ <member name="T:TestFu.Data.DbBackupDevice">
+ <summary>
+ Enumeration of available SQL backup devices
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="F:TestFu.Data.DbBackupDevice.Disk">
+ <summary>
+ DISK device
+ </summary>
+ </member>
+ <member name="F:TestFu.Data.DbBackupDevice.Tape">
+ <summary>
+ TAPE device
+ </summary>
+ </member>
+ <member name="F:TestFu.Data.DbBackupDevice.Dump">
+ <summary>
+ Output to named dump
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.IDbFactory">
+ <summary>
+ A factory for <see cref="T:System.Data.IDbConnection"/> and <see cref="T:System.Data.IDbCommand"/>
+ instances.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="M:TestFu.Data.IDbFactory.CreateConnection(System.String)">
+ <summary>
+ Creates a <see cref="T:System.Data.IDbConnection"/> instance.
+ </summary>
+ <param name="connectionString">
+ Connection string to server
+ </param>
+ <returns>
+ A <see cref="T:System.Data.IDbConnection"/> instance.
+ </returns>
+ </member>
+ <member name="T:TestFu.Data.DbFixture">
+ <summary>
+ An abstract base class for test fixtures involving database testing.
+ </summary>
+ <example>
+<para>The <c>DbFixture</c> (<c>SqlFixture</c> for MsSQL server) can be used as a base class for the
+fixtures involving database testing.
+</para>
+<code>[TestFixture]
+public class DatabaseTest : SqlFixture
+{
+ public DatabaseTest()
+ :base("Data Source=testserver;...","MyTestDatabase")
+ {}
+
+ [SetUp]
+ public void SetUp()
+ {
+ this.Open();
+ this.BeginTransaction();
+ }
+
+ [Test]
+ public void Selec()
+ {
+ IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction);
+ ...
+ }
+
+ [TearDown]
+ public void TearDown()
+ {
+ this.Close();
+ }
+}</code>
+</example>
+ <seealso cref="T:TestFu.Data.SqlClient.SqlFixture"/>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.#ctor(System.String,System.String,TestFu.Data.IDbFactory)">
+ <summary>
+ Initializes a <see cref="T:TestFu.Data.DbFixture"/> with a connection string.
+ </summary>
+ <param name="connectionString">Connection string for accessing the test database.</param>
+ <param name="databaseName">The name of the database to use.</param>
+ <param name="factory">The factory to use.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="connectionString"/> is a null reference
+ (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.Open">
+ <summary>
+ Opens a <see cref="T:System.Data.IDbConnection"/> instance with the
+ <see cref="P:TestFu.Data.DbFixture.ConnectionString"/>.
+ </summary>
+ <remarks>
+ <para>
+ This method must be implemented in inherited classes for different factorys.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.ExecuteNonQuery(System.String,System.Object[])">
+ <summary>
+ Executes a non-query command with the given parameters
+ </summary>
+ <param name="query">
+ Query format string
+ </param>
+ <param name="args">
+ Query arguments for the format string
+ </param>
+ <returns>
+ Number of affected rows
+ </returns>
+ <remarks>
+ <para>
+ The connection is automatically opened if necessary.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.ExecuteScalar(System.String,System.Object[])">
+ <summary>
+ Executes a scalar query with the given parameters
+ </summary>
+ <param name="query">
+ Query format string
+ </param>
+ <param name="args">
+ Query arguments for the format string
+ </param>
+ <returns>
+ Query result
+ </returns>
+ <remarks>
+ <para>
+ The connection is automatically opened if necessary.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.ExecuteReader(System.String,System.Object[])">
+ <summary>
+ Executes query and returns the <see cref="T:System.Data.IDataReader"/>
+ instance
+ </summary>
+ <param name="query">
+ Query format string
+ </param>
+ <param name="args">
+ Query arguments for the format string
+ </param>
+ <returns>
+ A <see cref="T:System.Data.IDataReader"/> resulting from the query.
+ </returns>
+ <remarks>
+ <para>
+ The connection is automatically opened if necessary and the reader
+ is created with <see cref="F:System.Data.CommandBehavior.CloseConnection"/>
+ option.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.BeginTransaction">
+ <summary>
+ Begins a new transaction.
+ </summary>
+ <remarks>
+ <para>
+ If a previous transaction was opened, by default, it is rolled back.
+ </para>
+ </remarks>
+ <exception cref="T:System.InvalidOperationException">
+ The current connection is not created or not opened.
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.Commit">
+ <summary>
+ Commits the current transaction if any.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.RollBack">
+ <summary>
+ Rollsback the current transaction if any.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.DbFixture.Close">
+ <summary>
+ Closes the current connection.
+ </summary>
+ <remarks>
+ <para>
+ If a transaction was opened, it is first rolled back.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:TestFu.Data.DbFixture.Admin">
+ <summary>
+ Gets the database <see cref="T:TestFu.Data.DbAdministratorBase"/> instance
+ </summary>
+ <value>
+ A <see cref="T:TestFu.Data.DbAdministratorBase"/> instance.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.DbFixture.Connection">
+ <summary>
+ Gets the current connection instance.
+ </summary>
+ <value>
+ <see cref="T:System.Data.IDbConnection"/> instance.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.DbFixture.Transaction">
+ <summary>
+ Gets the current transaction.
+ </summary>
+ <value>
+ A <see cref="T:System.Data.IDbTransaction"/> instance if <see cref="M:TestFu.Data.DbFixture.BeginTransaction"/> was called
+ and the connection not closed; otherwise, a null reference (Nothing in Visual Basic)
+ </value>
+ </member>
+ <member name="P:TestFu.Data.DbFixture.ConnectionString">
+ <summary>
+ Gets the connection string to access the db server (without
+ database information.
+ </summary>
+ </member>
+ <member name="P:TestFu.Data.DbFixture.DatabaseName">
+ <summary>
+ Gets the test database name.
+ </summary>
+ <value></value>
+ </member>
+ <member name="P:TestFu.Data.DbFixture.DatabaseConnectionString">
+ <summary>
+ Gets the connection string to connecto the test database.
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.Generators.BinaryGeneratorBase">
+ <summary>
+ A random data generator for <see cref="T:System.Byte"/> values.
+ </summary>
+ <remarks>
+ <para>
+ This <see cref="T:TestFu.Data.IDataGenerator"/> method generates Byte arrays with length in the range
+ [<see cref="P:TestFu.Data.Generators.BinaryGeneratorBase.MinLength"/>, <see cref="P:TestFu.Data.Generators.BinaryGeneratorBase.MaxLength"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="T:TestFu.Data.Generators.DataGeneratorBase">
+ <summary>
+ Abstract base class from <see cref="T:TestFu.Data.IDataGenerator"/> instance.
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.IDataGenerator">
+ <summary>
+ An random data generator.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="M:TestFu.Data.IDataGenerator.Reset">
+ <summary>
+ Resets the generator
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.IDataGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value and fills it in the corresponding <see cref="T:System.Data.DataRow"/>.
+ </summary>
+ <remarks>
+ <param>
+ It is the user job to ensure that the <see cref="T:System.Data.DataRow"/> instance
+ provided is compatible with the generator definition and more
+ specifically the <see cref="T:System.Data.DataColumn"/> it is associated with.
+ </param>
+ </remarks>
+ </member>
+ <member name="P:TestFu.Data.IDataGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated <see cref="T:System.Type"/>.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.IDataGenerator.NullProbability">
+ <summary>
+ Gets or sets the probability to produce a NULL
+ </summary>
+ <remarks>
+ This value determines the probability to produce a null value.
+ The probability ranges from
+ 0 - never, to 1 - always.
+ </remarks>
+ <value>
+ The probability to produce a null object.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.IDataGenerator.Column">
+ <summary>
+ Gets the target column
+ </summary>
+ <value>
+ Target <see cref="T:System.Data.DataColumn"/> instance.
+ </value>
+ </member>
+ <member name="M:TestFu.Data.Generators.DataGeneratorBase.Reset">
+ <summary>
+ Resets the generator
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Generators.DataGeneratorBase.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="M:TestFu.Data.Generators.DataGeneratorBase.Update">
+ <summary>
+ Updates the internal data and verifies column information.
+ </summary>
+ </member>
+ <member name="P:TestFu.Data.Generators.DataGeneratorBase.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.DataGeneratorBase.Column">
+ <summary>
+ Gets the target column
+ </summary>
+ <value>
+ Target <see cref="T:System.Data.DataColumn"/> instance.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.DataGeneratorBase.NullProbability">
+ <summary>
+ Gets or sets the probability to produce a NULL
+ </summary>
+ <remarks>
+ This value determines the probability to produce a null value. The probability ranges from
+ 0, never to 1 always.
+ </remarks>
+ <value>
+ The probability to produce a null object.
+ </value>
+ </member>
+ <member name="M:TestFu.Data.Generators.BinaryGeneratorBase.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.BinaryGeneratorBase.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.BinaryGeneratorBase.MinLength">
+ <summary>
+ Gets or sets the minimum length of the generated value
+ </summary>
+ <value>
+ Minimum generated length. Default is 16.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.BinaryGeneratorBase.MaxLength">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated length. Default is 16.
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.BooleanGenerator">
+ <summary>
+ A random generator of <see cref="T:System.Boolean"/> values.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Generators.BooleanGenerator.#ctor(System.Data.DataColumn)">
+ <summary>
+ Creates an instance with <see cref="P:TestFu.Data.Generators.BooleanGenerator.TrueProbability"/> equal to 0.5.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Generators.BooleanGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.BooleanGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.BooleanGenerator.TrueProbability">
+ <summary>
+ Gets or sets the probability to return true.
+ </summary>
+ <value>
+ Probability to return true.
+ </value>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ <paramref name="trueProbability"/> is not in <c>[0,1]</c>.
+ </exception>
+ </member>
+ <member name="T:TestFu.Data.Generators.ByteGenerator">
+ <summary>
+ A random data generator for <see cref="T:System.Byte"/> values.
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.ByteGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.ByteGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.ByteGenerator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is <see cref="F:System.Byte.MinValue"/>
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.ByteGenerator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is <see cref="F:System.Byte.MaxValue"/>
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.DateTimeGenerator">
+ <summary>
+ A random data generator for <see cref="T:System.DateTime"/> values.
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.DateTimeGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.DateTimeGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.DateTimeGenerator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is <see cref="F:System.DateTime.MinValue"/>
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.DateTimeGenerator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is <see cref="F:System.DateTime.MaxValue"/>
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.DecimalGenerator">
+ <summary>
+ A random data generator for <see cref="T:System.Decimal"/> values.
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.DecimalGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.DecimalGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.DecimalGenerator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is <see cref="F:System.Decimal.MinValue"/>
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.DecimalGenerator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is <see cref="F:System.Decimal.MaxValue"/>
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.DoubleGenerator">
+ <summary>
+ A random data generator for <see cref="T:System.Double"/> values.
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.DoubleGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.DoubleGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.DoubleGenerator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is <see cref="F:System.Double.MinValue"/>
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.DoubleGenerator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is <see cref="F:System.Double.MaxValue"/>
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.GuidGenerator">
+ <summary>
+ A random generator of <see cref="T:System.Guid"/> values.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Generators.GuidGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.GuidGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.ImageBinaryGenerator">
+ <summary>
+ A random data generator for <see cref="T:System.Drawing.Bitmap"/> binary values.
+ </summary>
+ <remarks>
+ <para>
+ This <see cref="T:TestFu.Data.IDataGenerator"/> method generates a bitmap of size
+ [<see cref="P:TestFu.Data.Generators.BinaryGeneratorBase.MaxLength"/> by <see cref="P:TestFu.Data.Generators.BinaryGeneratorBase.MaxLength"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="P:TestFu.Data.Generators.ImageBinaryGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.ImageBinaryGenerator.PixelFormat">
+ <summary>
+ Gets or sets the pixel format
+ </summary>
+ <value></value>
+ </member>
+ <member name="T:TestFu.Data.Generators.Int16Generator">
+ <summary>
+ A random data generator for <see cref="T:System.Int32"/> values.
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.Int16Generator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int16Generator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int16Generator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is <see cref="F:System.Int32.MinValue"/>
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int16Generator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is <see cref="F:System.Int32.MaxValue"/>
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.Int32Generator">
+ <summary>
+ A random data generator for <see cref="T:System.Int32"/> values.
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.Int32Generator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int32Generator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int32Generator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is <see cref="F:System.Int32.MinValue"/>
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int32Generator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is <see cref="F:System.Int32.MaxValue"/>
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.Int64Generator">
+ <summary>
+ A random data generator for <see cref="T:System.Int32"/> values.
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.Int64Generator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int64Generator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int64Generator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is <see cref="F:System.Int32.MinValue"/>
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.Int64Generator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is <see cref="F:System.Int32.MaxValue"/>
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.StringGeneratorBase">
+ <summary>
+ A random generator of <see cref="T:System.String"/> instances.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Generators.StringGeneratorBase.#ctor(System.Data.DataColumn)">
+ <summary>
+ Initializes a new instance of <see cref="T:TestFu.Data.Generators.StringGeneratorBase"/>.
+ </summary>
+ <param name="column"></param>
+ </member>
+ <member name="P:TestFu.Data.Generators.StringGeneratorBase.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.StringGeneratorBase.MinLength">
+ <summary>
+ Gets or sets the minimum length of the string
+ </summary>
+ <value>
+ Minimum length of the string.
+ </value>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ set proprety, the value is negative.
+ </exception>
+ </member>
+ <member name="P:TestFu.Data.Generators.StringGeneratorBase.MaxLength">
+ <summary>
+ Gets or sets the maximum length of the string
+ </summary>
+ <value>
+ Maximum length of the string.
+ </value>
+ <exception cref="T:System.ArgumentOutOfRangeException">
+ set proprety, the value is less than 1.
+ </exception>
+ </member>
+ <member name="T:TestFu.Data.Generators.MoneyGenerator">
+ <summary>
+ A random data generator for <see cref="T:System.Data.SqlTypes.SqlMoney"/> values.
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.MoneyGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.MoneyGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.MoneyGenerator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is <see cref="F:System.Single.MinValue"/>
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.MoneyGenerator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is <see cref="F:System.Single.MaxValue"/>
+ </value>
+ </member>
+ <member name="M:TestFu.Data.Generators.NameStringGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="M:TestFu.Data.Generators.NowDateTimeGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="T:TestFu.Data.Generators.SingleGenerator">
+ <summary>
+ </summary>
+ <remarks>
+ <para>
+ 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"/>].
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Generators.SingleGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.SingleGenerator.GeneratedType">
+ <summary>
+ Gets the generated type
+ </summary>
+ <value>
+ Generated type.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.SingleGenerator.MinValue">
+ <summary>
+ Gets or sets the minimum generated value
+ </summary>
+ <value>
+ Minimum generated value. Default is 0
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Generators.SingleGenerator.MaxValue">
+ <summary>
+ Gets or sets the maximum generated value
+ </summary>
+ <value>
+ Maximum generated value. Default is 0
+ </value>
+ </member>
+ <member name="T:TestFu.Data.Generators.RangeStringGenerator">
+ <summary>
+ A random generator of <see cref="T:System.String"/> instances.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Generators.RangeStringGenerator.#ctor(System.Data.DataColumn)">
+ <summary>
+ Initializes a new instance of <see cref="T:TestFu.Data.Generators.RangeStringGenerator"/>.
+ </summary>
+ <param name="column"></param>
+ </member>
+ <member name="M:TestFu.Data.Generators.RangeStringGenerator.GenerateData(System.Data.DataRow)">
+ <summary>
+ Generates a new value
+ </summary>
+ <returns>
+ New random data.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Generators.RangeStringGenerator.Characters">
+ <summary>
+ Gets or sets the string containing the generated characters
+ </summary>
+ <value></value>
+ </member>
+ <member name="T:TestFu.Data.Graph.DataGraph">
+ <summary>
+ A graph of <see cref="T:System.Data.DataTable"/> (vertices) and <see cref="T:System.Data.DataRelation"/>
+ (edges).
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.#ctor">
+ <summary>
+ Builds a new empty directed graph with default vertex and edge
+ provider.
+ </summary>
+ <remarks>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.Clear">
+ <summary>
+ Remove all of the edges and vertices from the graph.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.AddVertex(System.Data.DataTable)">
+ <summary>
+ Add a new DataTableVertex to the graph and returns it.
+ </summary>
+ <returns>
+ Created vertex
+ </returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.RemoveVertex(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Removes the vertex from the graph.
+ </summary>
+ <param name="v">vertex to remove</param>
+ <exception cref="T:System.ArgumentNullException">v is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.AddEdge(TestFu.Data.Graph.DataTableVertex,TestFu.Data.Graph.DataTableVertex,System.Data.DataRelation)">
+ <summary>
+ Add a new vertex from source to target
+
+ Complexity: 2 search + 1 insertion
+ </summary>
+ <param name="source">Source vertex</param>
+ <param name="target">Target vertex</param>
+ <param name="relation">Relation</param>
+ <returns>Created Edge</returns>
+ <exception cref="T:System.ArgumentNullException">
+ source or target is a null reference
+ </exception>
+ <exception cref="T:System.Exception">source or target are not part of the graph</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.ClearVertex(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Remove all edges to and from vertex u from the graph.
+ </summary>
+ <param name="v"></param>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.RemoveEdge(TestFu.Data.Graph.DataRelationEdge)">
+ <summary>
+ Removes an edge from the graph.
+
+ Complexity: 2 edges removed from the vertex edge list + 1 edge
+ removed from the edge list.
+ </summary>
+ <param name="e">edge to remove</param>
+ <exception cref="T:System.ArgumentNullException">
+ e is a null reference (Nothing in Visual Basic)
+ </exception>
+ <exception cref="T:QuickGraph.Exceptions.EdgeNotFoundException">
+ <paramref name="e"/> is not part of the graph
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.RemoveEdge(TestFu.Data.Graph.DataTableVertex,TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Remove the edge (u,v) from the graph.
+ If the graph allows parallel edges this remove all occurrences of
+ (u,v).
+ </summary>
+ <param name="u">source vertex</param>
+ <param name="v">target vertex</param>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.AddVertex(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Add a new vertex to the graph and returns it.
+ </summary>
+ <returns>Create vertex</returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.AddEdge(TestFu.Data.Graph.DataRelationEdge)">
+ <summary>
+ Used for serialization. Not for private use.
+ </summary>
+ <param name="e">edge to add.</param>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.OutEdgesEmpty(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Gets a value indicating if the set of out-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:TestFu.Data.Graph.DataGraph.OutDegree(TestFu.Data.Graph.DataTableVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the out-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">
+ v is a null reference (Nothing in Visual Basic)
+ </exception>
+ <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
+ v is not part of the graph.
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.OutDegree(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Returns the number of out-degree edges of v
+ </summary>
+ <param name="v">vertex</param>
+ <returns>number of out-edges of the <see cref="T:TestFu.Data.Graph.DataTableVertex"/> v</returns>
+ <exception cref="T:System.ArgumentNullException">
+ v is a null reference (Nothing in Visual Basic)
+ </exception>
+ <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
+ v is not part of the graph.
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.OutEdges(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Returns an iterable collection over the edge connected to v
+ </summary>
+ <param name="v"></param>
+ <returns>out-edges of v</returns>
+ <exception cref="T:System.ArgumentNullException">
+ v is a null reference.
+ </exception>
+ <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
+ v is not part of the graph.
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.ContainsEdge(TestFu.Data.Graph.DataTableVertex,TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Test is an edge (u,v) is part of the graph
+ </summary>
+ <param name="u">source vertex</param>
+ <param name="v">target vertex</param>
+ <returns>true if part of the graph</returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.SelectSingleOutEdge(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the first out-edge that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>null if not found, otherwize the first Edge that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.SelectOutEdges(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the collection of out-edges that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.RemoveEdgeIf(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove all the edges from graph g for which the predicate pred
+ returns true.
+ </summary>
+ <param name="pred">edge predicate</param>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.RemoveOutEdgeIf(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove all the out-edges of vertex u for which the predicate pred
+ returns true.
+ </summary>
+ <param name="u">vertex</param>
+ <param name="pred">edge predicate</param>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.ContainsVertex(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Tests if a <see cref="T:TestFu.Data.Graph.DataTableVertex"/> is part of the graph
+ </summary>
+ <param name="v">Vertex to test</param>
+ <returns>true if is part of the graph, false otherwize</returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.SelectSingleVertex(QuickGraph.Concepts.Predicates.IVertexPredicate)">
+ <summary>
+ Returns the first <see cref="T:TestFu.Data.Graph.DataTableVertex"/> that matches the predicate
+ </summary>
+ <param name="vp">vertex predicate</param>
+ <returns>null if not found, otherwize the first vertex that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">vp is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.SelectVertices(QuickGraph.Concepts.Predicates.IVertexPredicate)">
+ <summary>
+ Returns the collection of vertices that matches the predicate
+ </summary>
+ <param name="vp">vertex predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">vp is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.ContainsEdge(TestFu.Data.Graph.DataRelationEdge)">
+ <summary>
+ Tests if a (<see cref="T:TestFu.Data.Graph.DataRelationEdge"/>) is part of the graph
+ </summary>
+ <param name="e">Edge to test</param>
+ <returns>true if is part of the graph, false otherwize</returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.SelectSingleEdge(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the first Edge that matches the predicate
+ </summary>
+ <param name="ep">Edge predicate</param>
+ <returns>null if not found, otherwize the first Edge that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">ep is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.SelectEdges(QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the collection of edges that matches the predicate
+ </summary>
+ <param name="ep">Edge predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">ep is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.AdjacentVertices(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Gets an enumerable collection of adjacent vertices
+ </summary>
+ <param name="v"></param>
+ <returns>Enumerable collection of adjacent vertices</returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.InEdgesEmpty(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Gets a value indicating if the set of in-edges is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:TestFu.Data.Graph.DataGraph.InDegree(TestFu.Data.Graph.DataTableVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the in-edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">
+ v is a null reference (Nothing in Visual Basic)
+ </exception>
+ <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
+ <paramref name="v"/> is not part of the graph.
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.InDegree(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Returns the number of in-degree edges of v
+ </summary>
+ <param name="v"></param>
+ <returns>number of in-edges of the vertex v</returns>
+ <exception cref="T:System.ArgumentNullException">
+ v is a null reference (Nothing in Visual Basic)
+ </exception>
+ <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
+ <paramref name="v"/> is not part of the graph.
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.InEdges(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Returns an iterable collection over the in-edge connected to v
+ </summary>
+ <param name="v"></param>
+ <returns>in-edges of v</returns>
+ <exception cref="T:System.ArgumentNullException">
+ v is a null reference (Nothing in Visual Basic)
+ </exception>
+ <exception cref="T:QuickGraph.Exceptions.VertexNotFoundException">
+ <paramref name="v"/> is not part of the graph.
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.QuickGraph#Concepts#Traversals#IBidirectionalGraph#InEdges(QuickGraph.Concepts.IVertex)">
+ <summary>
+ Incidence graph implementation
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.AdjacentEdgesEmpty(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Gets a value indicating if the set of edges connected to v is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="M:TestFu.Data.Graph.DataGraph.Degree(TestFu.Data.Graph.DataTableVertex)"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the adjacent edge set is empty, false otherwise.
+ </value>
+ <exception cref="T:System.ArgumentNullException">v is a null reference</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.Degree(TestFu.Data.Graph.DataTableVertex)">
+ <summary>
+ Returns the number of in-edges plus out-edges.
+ </summary>
+ <param name="v"></param>
+ <returns></returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.SelectSingleInEdge(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the first in-edge that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>null if not found, otherwize the first Edge that
+ matches the predicate.</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.SelectInEdges(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Returns the collection of in-edges that matches the predicate
+ </summary>
+ <param name="v"></param>
+ <param name="ep">Edge predicate</param>
+ <returns>enumerable colleciton of vertices that matches the
+ criteron</returns>
+ <exception cref="T:System.ArgumentNullException">v or ep is null</exception>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.QuickGraph#Concepts#Traversals#IFilteredBidirectionalGraph#SelectInEdges(QuickGraph.Concepts.IVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+
+ </summary>
+ <param name="v"></param>
+ <param name="ep"></param>
+ <returns></returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.RemoveInEdgeIf(TestFu.Data.Graph.DataTableVertex,QuickGraph.Concepts.Predicates.IEdgePredicate)">
+ <summary>
+ Remove all the out-edges of vertex u for which the predicate pred
+ returns true.
+ </summary>
+ <param name="u">vertex</param>
+ <param name="pred">edge predicate</param>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.IsDirected">
+ <summary>
+ Gets a value indicating if the <see cref="T:TestFu.Data.Graph.DataGraph"/>
+ is directed.
+ </summary>
+ <value>
+ true if the graph is directed, false if undirected.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.AllowParallelEdges">
+ <summary>
+ Gets a value indicating if the <see cref="T:TestFu.Data.Graph.DataGraph"/> allows parallel edges.
+ </summary>
+ <value>
+ true if the <see cref="T:TestFu.Data.Graph.DataGraph"/> is a multi-graph, false otherwise
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.VertexProvider">
+ <summary>
+ Gets the <see cref="T:TestFu.Data.Graph.DataTableVertex"/> provider
+ </summary>
+ <value>
+ <see cref="T:TestFu.Data.Graph.DataTableVertex"/> provider
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.EdgeProvider">
+ <summary>
+ Gets the <see cref="T:TestFu.Data.Graph.DataRelationEdge"/> provider
+ </summary>
+ <value>
+ <see cref="T:TestFu.Data.Graph.DataRelationEdge"/> provider
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.VerticesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <para>
+ Usually faster (O(1)) that calling <c>VertexCount</c>.
+ </para>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.VerticesCount">
+ <summary>
+ Gets the number of vertices
+ </summary>
+ <value>
+ Number of vertices in the graph
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.Vertices">
+ <summary>
+ Enumerable collection of vertices.
+ </summary>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.EdgesEmpty">
+ <summary>
+ Gets a value indicating if the vertex set is empty
+ </summary>
+ <remarks>
+ <para>
+ Usually faster that calling <see cref="P:TestFu.Data.Graph.DataGraph.EdgesCount"/>.
+ </para>
+ </remarks>
+ <value>
+ true if the vertex set is empty, false otherwise.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.EdgesCount">
+ <summary>
+ Gets the edge count
+ </summary>
+ <remarks>
+ Edges count
+ </remarks>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.Edges">
+ <summary>
+ Enumerable collection of edges.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.#ctor">
+ <summary>
+ Initializes a new empty instance of the
+ <see cref="T:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection"/> class.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.Add(TestFu.Data.Graph.DataRelationEdge)">
+ <summary>
+ Adds an instance of type <see cref="T:TestFu.Data.Graph.DataRelationEdge"/> to the end of this
+ <see cref="T:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection"/>.
+ </summary>
+ <param name="value">
+ The Edge to be added to the end of this EdgeCollection.
+ </param>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.Remove(QuickGraph.Concepts.IEdge)">
+ <summary>
+ Removes the first occurrence of a specific Edge from this EdgeCollection.
+ </summary>
+ <param name="value">
+ The Edge value to remove from this EdgeCollection.
+ </param>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.Contains(TestFu.Data.Graph.DataRelationEdge)">
+ <summary>
+ Determines whether a specfic <see cref="T:TestFu.Data.Graph.DataRelationEdge"/> value is in this EdgeCollection.
+ </summary>
+ <param name="value">
+ edge value to locate in this <see cref="T:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection"/>.
+ </param>
+ <returns>
+ true if value is found in this collection;
+ false otherwise.
+ </returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.GetEnumerator">
+ <summary>
+ Returns an enumerator that can iterate through the elements of this EdgeCollection.
+ </summary>
+ <returns>
+ An object that implements System.Collections.IEnumerator.
+ </returns>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.Item(System.Int32)">
+ <summary>
+ Gets or sets the Edge at the given index in this EdgeCollection.
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.DataRelationEdgeEnumerator.#ctor(TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection)">
+ <summary>
+ Create a new enumerator on the collection
+ </summary>
+ <param name="collection">collection to enumerate</param>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.DataRelationEdgeEnumerator.MoveNext">
+ <summary>
+ Moves cursor to next element.
+ </summary>
+ <returns>true if current is valid, false otherwize</returns>
+ </member>
+ <member name="M:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.DataRelationEdgeEnumerator.Reset">
+ <summary>
+ Resets the cursor to the position before the first element.
+ </summary>
+ </member>
+ <member name="P:TestFu.Data.Graph.DataGraph.DataRelationEdgeCollection.DataRelationEdgeEnumerator.Current">
+ <summary>
+ The current element.
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.Graph.DataGraphPopulator">
+ <summary>
+ A populator of <see cref="T:TestFu.Data.Graph.DataGraph"/> instance.
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.Graph.DataRelationEdge">
+ <summary>
+ A <see cref="T:QuickGraph.Concepts.IEdge"/> with a <see cref="T:System.Data.DataRelation"/> instance.
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.ICheckValidator">
+ <summary>
+ A validator check checks constraints
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.ICheckValidator.Enforce(System.Data.DataRow)">
+ <summary>
+ Preprocesses the row modifies it to fullfill the constraint
+ </summary>
+ <param name="row"></param>
+ </member>
+ <member name="T:TestFu.Data.IDatabasePopulator">
+ <summary>
+ A database populator instance.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="M:TestFu.Data.IDatabasePopulator.Populate(System.Data.DataSet)">
+ <summary>
+ Sets up the generators for the given <see cref="P:TestFu.Data.IDatabasePopulator.DataSet"/>
+ instance.
+ </summary>
+ <param name="dataSet">
+ A <see cref="P:TestFu.Data.IDatabasePopulator.DataSet"/> representing the structure of the
+ database to populate.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="dataSet"/> is a null reference (Nothing in
+ Visual Basic)
+ </exception>
+ </member>
+ <member name="P:TestFu.Data.IDatabasePopulator.DataSet">
+ <summary>
+ Gets the <see cref="P:TestFu.Data.IDatabasePopulator.DataSet"/> instance associated
+ to this populator.
+ </summary>
+ <value>
+ A <see cref="P:TestFu.Data.IDatabasePopulator.DataSet"/> schema used to set-up the generators.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.IDatabasePopulator.Tables">
+ <summary>
+ Gets a collection <see cref="T:TestFu.Data.ITablePopulator"/> associated
+ to each table.
+ </summary>
+ <value>
+ A <see cref="T:TestFu.Data.ITablePopulatorCollection"/> containing
+ populator associated to each <see cref="T:System.Data.DataTable"/>.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.IDatabasePopulator.Graph">
+ <summary>
+ Gets the <see cref="T:TestFu.Data.Graph.DataGraph"/> associated to the
+ database.
+ </summary>
+ <value></value>
+ </member>
+ <member name="T:TestFu.Data.IForeignKeyProvider">
+ <summary>
+ An instance that can fill a <see cref="T:System.Data.DataRow"/> with
+ data that are compatible with a
+ given <see cref="T:System.Data.ForeignKeyConstraint"/>.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="M:TestFu.Data.IForeignKeyProvider.Provide(System.Data.DataRow)">
+ <summary>
+ Fill the row with data that is compatible with
+ the foreign key.
+ </summary>
+ <param name="row">
+ <see cref="T:System.Data.DataRow"/> instance to fill.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="row"/> is a null reference (Nothing
+ in Visual Basic).
+ </exception>
+ </member>
+ <member name="P:TestFu.Data.IForeignKeyProvider.ForeignTable">
+ <summary>
+ Gets the table populator associated to the foreign table.
+ </summary>
+ <value>
+ The <see cref="T:TestFu.Data.ITablePopulator"/> instance
+ associated to the foreign
+ table.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.IForeignKeyProvider.ForeignKey">
+ <summary>
+ Gets the foreign constraint that needs to be satisfied.
+ </summary>
+ <value>
+ The <see cref="T:System.Data.ForeignKeyConstraint"/> associated to this
+ provider.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.IForeignKeyProvider.IsEmpty">
+ <summary>
+ Gets a value indicating that the foreign table is empty and
+ cannot provide keys.
+ </summary>
+ <value>
+ true if the foreign table is empty; otherwise false.
+ </value>
+ </member>
+ <member name="T:TestFu.Data.ITablePopulator">
+ <summary>
+ An random <see cref="T:System.Data.DataRow"/> generator compatible with the schema
+ of a given <see cref="T:System.Data.DataTable"/>.
+ </summary>
+ <example>
+<para>
+This example shows how the data generator can be used to create unit tests on database. In this example,
+we setup the dummy <see cref="T:System.Data.DataSet"/> <c>UserOrderProductDatabase</c> and
+the populator in the <c>SetUp</c> method.
+</para>
+<code>
+using System;
+using System.Data;
+using MbUnit.Core.Framework;
+using MbUnit.Framework;
+using TestFu.Data;
+using TestFu.Data.Populators;
+
+namespace TestFu.Tests.Data
+{
+ [TestFixture]
+ public class DatabasePopulatorTest
+ {
+ private UserOrderProductDatabase db;
+ private DatabasePopulator pop;
+ private ITablePopulator users;
+ private ITablePopulator orders;
+ private ITablePopulator products;
+ private ITablePopulator orderProducts;
+
+ [SetUp]
+ public void SetUp()
+ {
+ this.db=new UserOrderProductDatabase();
+ this.pop = new DatabasePopulator();
+ this.pop.Populate(this.db.DataSet);
+
+ this.users=this.pop.Tables[this.db.Users];
+ this.orders=this.pop.Tables[this.db.Orders];
+ this.products=this.pop.Tables[this.db.Products];
+ this.orderProducts=this.pop.Tables[this.db.OrderProducts];
+ }
+
+ [Test]
+ public void AddOneUser()
+ {
+ DataRow row = users.Generate();
+ this.db.Users.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddOneUserOneOrder()
+ {
+ this.AddOneUser();
+ DataRow row = orders.Generate();
+ this.db.Orders.Rows.Add(row);
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void AddOneOrder()
+ {
+ DataRow row = orders.Generate();
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void AddOneOrderProduct()
+ {
+ DataRow row = orderProducts.Generate();
+ }
+
+ [Test]
+ public void AddOneUserOneOrderOneProduct()
+ {
+ this.AddOneUserOneOrder();
+
+ DataRow row = products.Generate();
+ this.db.Products.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddOneUserOneOrderOneProductOneProductOrder()
+ {
+ this.AddOneUserOneOrderOneProduct();
+ DataRow row=orderProducts.Generate();
+ this.db.OrderProducts.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddTwoUsers()
+ {
+ AddOneUser();
+ AddOneUser();
+ }
+
+ [TearDown]
+ public void Check()
+ {
+ this.db.AcceptChanges();
+ Console.WriteLine(db.ToString());
+ }
+ }
+}
+</code>
+</example>
+ </member>
+ <member name="M:TestFu.Data.ITablePopulator.Generate">
+ <summary>
+ Generates a new <see cref="T:System.Data.DataRow"/>.
+ </summary>
+ <returns>
+ Generated <see cref="T:System.Data.DataRow"/> instance.
+ </returns>
+ </member>
+ <member name="M:TestFu.Data.ITablePopulator.ChangeRowValues(System.Data.DataRow)">
+ <summary>
+ Updates randomly a number of rows
+ </summary>
+ <param name="row">The row to update.</param>
+ </member>
+ <member name="M:TestFu.Data.ITablePopulator.ChangeRowValues(System.Data.DataRow,System.Boolean)">
+ <summary>
+ Updates randomly a number of rows
+ </summary>
+ <param name="row">The row to update.</param>
+ <param name="updateForeignKeys">Flag to update any foreign keys.</param>
+ </member>
+ <member name="P:TestFu.Data.ITablePopulator.Database">
+ <summary>
+ Gets an instance of the <see cref="T:TestFu.Data.IDatabasePopulator"/>$
+ that contains this populator.
+ </summary>
+ <value>
+ Parent <see cref="T:TestFu.Data.IDatabasePopulator"/> instance.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.ITablePopulator.Table">
+ <summary>
+ Gets the <see cref="T:System.Data.DataTable"/> instance that is the model
+ to be populated.
+ </summary>
+ <value>
+ A <see cref="T:System.Data.DataTable"/> instance whos schema is used to create
+ new <see cref="T:System.Data.DataRow"/>.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.ITablePopulator.Uniques">
+ <summary>
+ Gets a collection of <see cref="T:TestFu.Data.IUniqueValidator"/>
+ associated to each <see cref="T:System.Data.UniqueConstraint"/>.
+ </summary>
+ <value>
+ A <see cref="T:TestFu.Data.IUniqueValidatorCollection"/> instance
+ containing the validators associated to each unique constraint.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.ITablePopulator.ForeignKeys">
+ <summary>
+ Gets a collection of <see cref="T:TestFu.Data.IForeignKeyProvider"/>
+ associated to each <see cref="T:System.Data.ForeignKeyConstraint"/>.
+ </summary>
+ <value>
+ A <see cref="T:TestFu.Data.IForeignKeyProviderCollection"/> instance
+ containing the providers associated to each foreign key.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.ITablePopulator.Columns">
+ <summary>
+ Gets a collection of <see cref="T:TestFu.Data.IDataGenerator"/> associated
+ to each column of the table.
+ </summary>
+ <value>
+ A <see cref="T:TestFu.Data.IDataGeneratorCollection"/> instance
+ containing the generators associated to each column.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.ITablePopulator.CheckValidator">
+ <summary>
+ Gets the <see cref="T:TestFu.Data.ICheckValidator"/> that ensures CHECK constraints.
+ </summary>
+ <value>
+ A <see cref="T:TestFu.Data.ICheckValidator"/> instance if any check constraint to verify;
+ otherwize a null reference.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.ITablePopulator.Row">
+ <summary>
+ Gets the latest generated <see cref="T:System.Data.DataRow"/>.
+ </summary>
+ <value>
+ Latest generated <see cref="T:System.Data.DataRow"/>.
+ </value>
+ </member>
+ <member name="T:TestFu.Data.IUniqueValidator">
+ <summary>
+ A validator for <see cref="T:System.Data.UniqueConstraint"/> constraints.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.NamespaceDoc">
+ <summary>
+ <para>
+ The <b>TestFu.Data</b> namespace contains a
+ <b>Random <see cref="T:System.Data.DataRow"/> generator</b>
+ to help developer test databases, data layers, business layers,
+ etc...
+ </para>
+ </summary>
+ <example name="SqlAdministrator">
+<para>
+This 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
+databases on a server. <see cref="T:TestFu.Data.SqlClient.SqlAdministrator"/> is the implementation for the MSSQL server:
+<code>[C#]
+using System;
+using TestFu.Data;
+
+public class Demo
+{
+ public static void Main(string[] args)
+ {
+ DbAdministrator admin = new SqlAdministrator("...");
+
+ // backup Northwind
+ admin.Backup("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp");
+
+ // drop Northwind
+ admin.Drop("Northwind");
+
+ // restore Northwind
+ admin.Restore("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp");
+ }
+}
+</code>
+</para>
+</example><example>
+<para>The <c>DbFixture</c> (<c>SqlFixture</c> for MsSQL server) can be used as a base class for the
+fixtures involving database testing.
+</para>
+<code>[TestFixture]
+public class DatabaseTest : SqlFixture
+{
+ public DatabaseTest()
+ :base("Data Source=testserver;...","MyTestDatabase")
+ {}
+
+ [SetUp]
+ public void SetUp()
+ {
+ this.Open();
+ this.BeginTransaction();
+ }
+
+ [Test]
+ public void Selec()
+ {
+ IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction);
+ ...
+ }
+
+ [TearDown]
+ public void TearDown()
+ {
+ this.Close();
+ }
+}</code>
+</example><example>
+<para>
+This example shows how the data generator can be used to create unit tests on database. In this example,
+we setup the dummy <see cref="T:System.Data.DataSet"/> <c>UserOrderProductDatabase</c> and
+the populator in the <c>SetUp</c> method.
+</para>
+<code>
+using System;
+using System.Data;
+using MbUnit.Core.Framework;
+using MbUnit.Framework;
+using TestFu.Data;
+using TestFu.Data.Populators;
+
+namespace TestFu.Tests.Data
+{
+ [TestFixture]
+ public class DatabasePopulatorTest
+ {
+ private UserOrderProductDatabase db;
+ private DatabasePopulator pop;
+ private ITablePopulator users;
+ private ITablePopulator orders;
+ private ITablePopulator products;
+ private ITablePopulator orderProducts;
+
+ [SetUp]
+ public void SetUp()
+ {
+ this.db=new UserOrderProductDatabase();
+ this.pop = new DatabasePopulator();
+ this.pop.Populate(this.db.DataSet);
+
+ this.users=this.pop.Tables[this.db.Users];
+ this.orders=this.pop.Tables[this.db.Orders];
+ this.products=this.pop.Tables[this.db.Products];
+ this.orderProducts=this.pop.Tables[this.db.OrderProducts];
+ }
+
+ [Test]
+ public void AddOneUser()
+ {
+ DataRow row = users.Generate();
+ this.db.Users.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddOneUserOneOrder()
+ {
+ this.AddOneUser();
+ DataRow row = orders.Generate();
+ this.db.Orders.Rows.Add(row);
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void AddOneOrder()
+ {
+ DataRow row = orders.Generate();
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void AddOneOrderProduct()
+ {
+ DataRow row = orderProducts.Generate();
+ }
+
+ [Test]
+ public void AddOneUserOneOrderOneProduct()
+ {
+ this.AddOneUserOneOrder();
+
+ DataRow row = products.Generate();
+ this.db.Products.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddOneUserOneOrderOneProductOneProductOrder()
+ {
+ this.AddOneUserOneOrderOneProduct();
+ DataRow row=orderProducts.Generate();
+ this.db.OrderProducts.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddTwoUsers()
+ {
+ AddOneUser();
+ AddOneUser();
+ }
+
+ [TearDown]
+ public void Check()
+ {
+ this.db.AcceptChanges();
+ Console.WriteLine(db.ToString());
+ }
+ }
+}
+</code>
+</example><example name="UserOrderProduct">
+<para>The following codes decribes a simple User - Order - Product database contains 4 tables:
+Users, Orders, Products and OrderProducts.
+</para>
+<code>
+using System;
+using System.Data;
+using System.IO;
+using System.Xml;
+
+namespace TestFu.Tests.Data
+{
+ public class UserOrderProductDatabase
+ {
+ private DataSet dataSet;
+ private DataTable users;
+ private DataColumn userID;
+ private DataColumn userName;
+
+ private DataTable orders;
+ private DataColumn orderID;
+ private DataColumn orderDate;
+ private DataColumn oUserID;
+
+ private DataTable products;
+ private DataColumn productID;
+ private DataColumn productName;
+ private DataColumn productPrice;
+
+ private DataTable orderProducts;
+ private DataColumn opOrderID;
+ private DataColumn opProductID;
+ private DataColumn quantity;
+
+ public UserOrderProductDatabase()
+ {
+ this.dataSet=new DataSet();
+
+ this.users=this.dataSet.Tables.Add("Users");
+ this.userID = this.users.Columns.Add("UserID",typeof(int));
+ this.userName=this.Users.Columns.Add("UserName",typeof(string));
+ this.userName.AllowDBNull=false;
+
+ this.orders=this.dataSet.Tables.Add("Orders");
+ this.orderID=this.orders.Columns.Add("OrderID",typeof(int));
+ this.orderDate = this.orders.Columns.Add("OrderDate",typeof(DateTime));
+ this.oUserID = this.orders.Columns.Add("UserID",typeof(int));
+
+ this.products=this.dataSet.Tables.Add("Products");
+ this.productID=this.products.Columns.Add("ProductID",typeof(int));
+ this.productName = this.products.Columns.Add("ProductName",typeof(string));
+ this.productPrice = this.products.Columns.Add("ProductPrice",typeof(decimal));
+
+ this.orderProducts=this.dataSet.Tables.Add("OrderProducts");
+ this.opOrderID=this.orderProducts.Columns.Add("OrderID",typeof(int));
+ this.opProductID=this.orderProducts.Columns.Add("ProductID",typeof(int));
+ this.quantity=this.orderProducts.Columns.Add("Quantity",typeof(int));
+
+ // pks
+ users.Constraints.Add("PK_Users",userID,true);
+ orders.Constraints.Add("PK_Orders",orderID,true);
+ products.Constraints.Add("PK_Products",productID,true);
+ orderProducts.Constraints.Add("PK_OrderProducts",
+ new DataColumn[]{ opOrderID, opProductID}
+ ,true);
+
+ // fks
+ orders.Constraints.Add("FK_Orders_Users",userID,oUserID);
+ orderProducts.Constraints.Add("FK_OrderProducts_Orders",orderID,opOrderID);
+ orderProducts.Constraints.Add("FK_OrderProducts_Products",productID,opProductID);
+ }
+ }
+}
+</code>
+</example>
+ </member>
+ <member name="T:TestFu.Data.Populators.DatabasePopulator">
+ <summary>
+ Default <see cref="T:TestFu.Data.IDatabasePopulator"/> implementation.
+ </summary>
+ <example>
+<para>
+This example shows how the data generator can be used to create unit tests on database. In this example,
+we setup the dummy <see cref="T:System.Data.DataSet"/> <c>UserOrderProductDatabase</c> and
+the populator in the <c>SetUp</c> method.
+</para>
+<code>
+using System;
+using System.Data;
+using MbUnit.Core.Framework;
+using MbUnit.Framework;
+using TestFu.Data;
+using TestFu.Data.Populators;
+
+namespace TestFu.Tests.Data
+{
+ [TestFixture]
+ public class DatabasePopulatorTest
+ {
+ private UserOrderProductDatabase db;
+ private DatabasePopulator pop;
+ private ITablePopulator users;
+ private ITablePopulator orders;
+ private ITablePopulator products;
+ private ITablePopulator orderProducts;
+
+ [SetUp]
+ public void SetUp()
+ {
+ this.db=new UserOrderProductDatabase();
+ this.pop = new DatabasePopulator();
+ this.pop.Populate(this.db.DataSet);
+
+ this.users=this.pop.Tables[this.db.Users];
+ this.orders=this.pop.Tables[this.db.Orders];
+ this.products=this.pop.Tables[this.db.Products];
+ this.orderProducts=this.pop.Tables[this.db.OrderProducts];
+ }
+
+ [Test]
+ public void AddOneUser()
+ {
+ DataRow row = users.Generate();
+ this.db.Users.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddOneUserOneOrder()
+ {
+ this.AddOneUser();
+ DataRow row = orders.Generate();
+ this.db.Orders.Rows.Add(row);
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void AddOneOrder()
+ {
+ DataRow row = orders.Generate();
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void AddOneOrderProduct()
+ {
+ DataRow row = orderProducts.Generate();
+ }
+
+ [Test]
+ public void AddOneUserOneOrderOneProduct()
+ {
+ this.AddOneUserOneOrder();
+
+ DataRow row = products.Generate();
+ this.db.Products.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddOneUserOneOrderOneProductOneProductOrder()
+ {
+ this.AddOneUserOneOrderOneProduct();
+ DataRow row=orderProducts.Generate();
+ this.db.OrderProducts.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddTwoUsers()
+ {
+ AddOneUser();
+ AddOneUser();
+ }
+
+ [TearDown]
+ public void Check()
+ {
+ this.db.AcceptChanges();
+ Console.WriteLine(db.ToString());
+ }
+ }
+}
+</code>
+</example>
+ </member>
+ <member name="M:TestFu.Data.Populators.DatabasePopulator.#ctor">
+ <summary>
+ Initiliazes a <see cref="T:TestFu.Data.Populators.DatabasePopulator"/> instance.
+ </summary>
+ </member>
+ <member name="T:TestFu.Data.Populators.DbCommandUniqueValidatorBase">
+ <summary>
+ A <see cref="T:TestFu.Data.IUniqueValidator"/> querying the databse.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.Populators.UniqueValidatorBase">
+ <summary>
+ Base class for <see cref="T:TestFu.Data.IUniqueValidator"/> implementation.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.Populators.DictionaryUniqueValidator">
+ <summary>
+ A <see cref="T:TestFu.Data.IUniqueValidator"/> based on a <see cref="T:System.Collections.IDictionary"/>.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.Populators.ForeignKeyProvider">
+ <summary>
+ Default implementation of <see cref="T:TestFu.Data.IForeignKeyProvider"/>
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.Populators.ForeignKeyProviderBase">
+ <summary>
+ Default implementation of <see cref="T:TestFu.Data.IForeignKeyProvider"/>
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="T:TestFu.Data.Populators.TablePopulator">
+ <summary>
+ An smart random <see cref="T:System.Data.DataRow"/> generator.
+ </summary>
+ <example>
+<para>
+This example shows how the data generator can be used to create unit tests on database. In this example,
+we setup the dummy <see cref="T:System.Data.DataSet"/> <c>UserOrderProductDatabase</c> and
+the populator in the <c>SetUp</c> method.
+</para>
+<code>
+using System;
+using System.Data;
+using MbUnit.Core.Framework;
+using MbUnit.Framework;
+using TestFu.Data;
+using TestFu.Data.Populators;
+
+namespace TestFu.Tests.Data
+{
+ [TestFixture]
+ public class DatabasePopulatorTest
+ {
+ private UserOrderProductDatabase db;
+ private DatabasePopulator pop;
+ private ITablePopulator users;
+ private ITablePopulator orders;
+ private ITablePopulator products;
+ private ITablePopulator orderProducts;
+
+ [SetUp]
+ public void SetUp()
+ {
+ this.db=new UserOrderProductDatabase();
+ this.pop = new DatabasePopulator();
+ this.pop.Populate(this.db.DataSet);
+
+ this.users=this.pop.Tables[this.db.Users];
+ this.orders=this.pop.Tables[this.db.Orders];
+ this.products=this.pop.Tables[this.db.Products];
+ this.orderProducts=this.pop.Tables[this.db.OrderProducts];
+ }
+
+ [Test]
+ public void AddOneUser()
+ {
+ DataRow row = users.Generate();
+ this.db.Users.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddOneUserOneOrder()
+ {
+ this.AddOneUser();
+ DataRow row = orders.Generate();
+ this.db.Orders.Rows.Add(row);
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void AddOneOrder()
+ {
+ DataRow row = orders.Generate();
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void AddOneOrderProduct()
+ {
+ DataRow row = orderProducts.Generate();
+ }
+
+ [Test]
+ public void AddOneUserOneOrderOneProduct()
+ {
+ this.AddOneUserOneOrder();
+
+ DataRow row = products.Generate();
+ this.db.Products.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddOneUserOneOrderOneProductOneProductOrder()
+ {
+ this.AddOneUserOneOrderOneProduct();
+ DataRow row=orderProducts.Generate();
+ this.db.OrderProducts.Rows.Add(row);
+ }
+
+ [Test]
+ public void AddTwoUsers()
+ {
+ AddOneUser();
+ AddOneUser();
+ }
+
+ [TearDown]
+ public void Check()
+ {
+ this.db.AcceptChanges();
+ Console.WriteLine(db.ToString());
+ }
+ }
+}
+</code>
+</example>
+ </member>
+ <member name="T:TestFu.Data.SqlClient.SqlAdministrator">
+ <summary>
+ Helper class to performe task on a SQL server.
+ </summary>
+ <example name="SqlAdministrator">
+<para>
+This 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
+databases on a server. <see cref="T:TestFu.Data.SqlClient.SqlAdministrator"/> is the implementation for the MSSQL server:
+<code>[C#]
+using System;
+using TestFu.Data;
+
+public class Demo
+{
+ public static void Main(string[] args)
+ {
+ DbAdministrator admin = new SqlAdministrator("...");
+
+ // backup Northwind
+ admin.Backup("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp");
+
+ // drop Northwind
+ admin.Drop("Northwind");
+
+ // restore Northwind
+ admin.Restore("Northwind",SqlBackupDevice.Disk,@"c:\Backups\Northwind.bkp");
+ }
+}
+</code>
+</para>
+</example>
+ </member>
+ <member name="M:TestFu.Data.SqlClient.SqlAdministrator.#ctor(System.String,System.String)">
+ <summary>
+ Initializes an instance of <see cref="T:TestFu.Data.SqlClient.SqlAdministrator"/> with the connection string.
+ </summary>
+ <param name="connectionString">
+ Connection string to the SQL server without initial catalog
+ </param>
+ <param name="databaseName">
+ Catalog name
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="connectionString"/> is a null reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.SqlClient.SqlAdministrator.BackupDatabase(TestFu.Data.DbBackupDevice,System.String)">
+ <summary>
+ Creates a backup of the specified database using the specified <paramref name="device"/>
+ and <paramref name="destination"/>.
+ </summary>
+ <param name="device">
+ A <see cref="T:TestFu.Data.DbBackupDevice"/> defining the type of output device.
+ </param>
+ <param name="destination">
+ Device path.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="destination"/> is a null
+ reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="M:TestFu.Data.SqlClient.SqlAdministrator.RestoreDatabase(TestFu.Data.DbBackupDevice,System.String)">
+ <summary>
+ Restores a backup of the specified database using the specified <paramref name="device"/>
+ and <paramref name="destination"/>.
+ </summary>
+ <param name="device">
+ A <see cref="T:TestFu.Data.DbBackupDevice"/> defining the type of output device.
+ </param>
+ <param name="destination">
+ Device path.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="destination"/> is a null
+ reference (Nothing in Visual Basic)
+ </exception>
+ <remarks>
+ <para>
+ If you plan to override an existing database, you must first drop this database.
+ This method takes a conservative behavior and will not override an existing database.
+ </para>
+ <para>
+ Priorly to restore the database, the method kills all the processes associeted
+ to the database.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Data.SqlClient.SqlAdministrator.CreateDatabase">
+ <summary>
+ Creates a new database on the server
+ </summary>
+ </member>
+ <member name="M:TestFu.Data.SqlClient.SqlAdministrator.DropDatabase">
+ <summary>
+ Drops an existing new database on the server
+ </summary>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="databaseName"/> is a null
+ reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="P:TestFu.Data.SqlClient.SqlAdministrator.DatabaseConnectionString">
+ <summary>
+ Gets the connection string with Initial Catalog information.
+ </summary>
+ <value>
+ Connection string with Initial catalog information.
+ </value>
+ </member>
+ <member name="T:TestFu.Data.SqlClient.SqlFactory">
+ <summary>
+ A <see cref="T:TestFu.Data.IDbFactory"/> implementation for MSSQL server.
+ </summary>
+ <!-- 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;)]"/>
+ </member>
+ <member name="M:TestFu.Data.SqlClient.SqlFactory.CreateAdmin(System.String,System.String)">
+ <summary>
+ Creates a <see cref="T:TestFu.Data.SqlClient.SqlAdministrator"/> instance.
+ </summary>
+ <param name="connectionString"></param>
+ <param name="databaseName"></param>
+ <returns></returns>
+ </member>
+ <member name="M:TestFu.Data.SqlClient.SqlFactory.CreateConnection(System.String)">
+ <summary>
+ Creates a <see cref="T:System.Data.IDbConnection"/> instance.
+ </summary>
+ <param name="connectionString">
+ Connection string to server
+ </param>
+ <returns>
+ A <see cref="T:System.Data.IDbConnection"/> instance.
+ </returns>
+ </member>
+ <member name="T:TestFu.Data.SqlClient.SqlFixture">
+ <summary>
+ Abstract base class for MSSQL server database testing.
+ </summary>
+ <example>
+<para>The <c>DbFixture</c> (<c>SqlFixture</c> for MsSQL server) can be used as a base class for the
+fixtures involving database testing.
+</para>
+<code>[TestFixture]
+public class DatabaseTest : SqlFixture
+{
+ public DatabaseTest()
+ :base("Data Source=testserver;...","MyTestDatabase")
+ {}
+
+ [SetUp]
+ public void SetUp()
+ {
+ this.Open();
+ this.BeginTransaction();
+ }
+
+ [Test]
+ public void Selec()
+ {
+ IDbCollection cmd = this.Connection.CreateCommand("select * from anytable",this.Transaction);
+ ...
+ }
+
+ [TearDown]
+ public void TearDown()
+ {
+ this.Close();
+ }
+}</code>
+</example>
+ </member>
+ <member name="M:TestFu.Data.SqlClient.SqlFixture.#ctor(System.String,System.String)">
+ <summary>
+ Initializes a <see cref="T:TestFu.Data.DbFixture"/> with a connection string.
+ </summary>
+ <param name="connectionString">
+ Connection string for accessing the test database.
+ </param>
+ <param name="database">
+ database name
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="connectionString"/> is a null reference
+ (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="P:TestFu.Data.SqlClient.SqlFixture.Connection">
+ <summary>
+ Gets the current connection instance.
+ </summary>
+ <value>
+ <see cref="T:System.Data.SqlClient.SqlConnection"/> instance.
+ </value>
+ </member>
+ <member name="P:TestFu.Data.SqlClient.SqlFixture.Transaction">
+ <summary>
+ Gets the current transaction.
+ </summary>
+ <value>
+ A <see cref="T:System.Data.SqlClient.SqlTransaction"/> instance if <see cref="M:TestFu.Data.DbFixture.BeginTransaction"/> was called
+ and the connection not closed; otherwise, a null reference (Nothing in Visual Basic)
+ </value>
+ </member>
+ <member name="T:TestFu.Forms.ScreenCapture">
+ <summary>
+ Provides functions to capture the entire screen, or a particular window, and save it to a file.
+ </summary>
+ <remarks>
+ <para>
+ Source code takened from
+ http://www.developerfusion.com/show/4630/
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Forms.ScreenCapture.CaptureDesktop">
+ <summary>
+ Creates an Image object containing a screen shot of the entire desktop
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:TestFu.Forms.ScreenCapture.CaptureMainWindow">
+ <summary>
+ Creates an Image object containing a screen shot of the entire desktop
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:TestFu.Forms.ScreenCapture.Capture(System.Windows.Forms.Control)">
+ <summary>
+ Creates an Image object containing a screen shot of the <see cref="T:System.Windows.Forms.Control"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Forms.ScreenCapture.Capture(System.IntPtr)">
+ <summary>
+ Creates an Image object containing a screen shot of a specific window
+ </summary>
+ <param name="handle">The handle to the window. (In windows forms, this is obtained by the Handle property)</param>
+ <returns></returns>
+ </member>
+ <member name="T:TestFu.Forms.ScreenCapture.GDI32">
+ <summary>
+ Helper class containing Gdi32 API functions
+ </summary>
+ </member>
+ <member name="T:TestFu.Forms.ScreenCapture.User32">
+ <summary>
+ Helper class containing User32 API functions
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.ButtonDownMouseGesture">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IMouseGesture"/> that simulates a MouseDown event.
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.MouseGestureBase">
+ <summary>
+ Abstract base class for <see cref="T:TestFu.Gestures.IMouseGesture"/>
+ instance.
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.GestureBase">
+ <summary>
+ Abstract base class for <see cref="T:TestFu.Gestures.IGesture"/>
+ implementation.
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.IGesture">
+ <summary>
+ A user gesture.
+ </summary>
+ <remarks>
+ <para>
+ User gesture can be a combination of keyboard or mouse
+ interactions.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Gestures.IGesture.Start">
+ <summary>
+ Executes the gesture
+ </summary>
+ <remarks>
+ <para>
+ This method should be executed on separate thread
+ from the main thread, otherwize event will not be
+ fired correctly.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Gestures.IGesture.ToCodeDom(Refly.CodeDom.Expressions.Expression)">
+ <summary>
+ Gets the CodeDom statement creating this gesture
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="P:TestFu.Gestures.IGesture.Form">
+ <summary>
+ Gets the <see cref="P:TestFu.Gestures.IGesture.Form"/> that is targeted
+ by the gesture
+ </summary>
+ <value></value>
+ </member>
+ <member name="M:TestFu.Gestures.GestureBase.#ctor">
+ <summary>
+ Initializes an empty <see cref="T:TestFu.Gestures.IGesture"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.GestureBase.#ctor(System.Windows.Forms.Form)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.IGesture"/>
+ instance with a form
+ </summary>
+ <param name="form"></param>
+ </member>
+ <member name="M:TestFu.Gestures.GestureBase.OnFormChanged(System.EventArgs)">
+ <summary>
+ Raises the <see cref="E:TestFu.Gestures.GestureBase.FormChanged"/> event.
+ </summary>
+ <param name="e"></param>
+ </member>
+ <member name="M:TestFu.Gestures.GestureBase.PointToScreen(System.Drawing.Point)">
+ <summary>
+ Converts the target from client to
+ screen coordinates
+ </summary>
+ <param name="target">
+ Position in client coordinates</param>
+ <returns>
+ Position converted into screen coordinates
+ </returns>
+ <remarks>
+ <para>
+ This method makes a thread safe invokation of the
+ <c>Form.PointToScreen</c> method.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Gestures.GestureBase.PointToClient(System.Drawing.Point)">
+ <summary>
+ Converts the target from screen to
+ client coordinates
+ </summary>
+ <param name="target">
+ Position in screen coordinates</param>
+ <returns>
+ Position converted into client coordinates
+ </returns>
+ <remarks>
+ <para>
+ This method makes a thread safe invokation of the
+ <c>Form.PointToClient</c> method.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Gestures.GestureBase.Start">
+ <summary>
+ Executes the gesture.
+ </summary>
+ </member>
+ <member name="P:TestFu.Gestures.GestureBase.Form">
+ <summary>
+ Gets or sets the <see cref="P:TestFu.Gestures.GestureBase.Form"/> instance targeted
+ by the <see cref="T:TestFu.Gestures.IGesture"/>
+ </summary>
+ <value>
+ A <see cref="P:TestFu.Gestures.GestureBase.Form"/> instance
+ </value>
+ </member>
+ <member name="E:TestFu.Gestures.GestureBase.FormChanged">
+ <summary>
+ Raised when the target <see cref="P:TestFu.Gestures.GestureBase.Form"/> is changed
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.IMouseGesture">
+ <summary>
+ A mouse gesture.
+ </summary>
+ </member>
+ <member name="P:TestFu.Gestures.IMouseGesture.Buttons">
+ <summary>
+ Gets or sets a value indicating the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture.
+ </summary>
+ <value>
+ A combined value of <see cref="T:System.Windows.Forms.MouseButtons"/> flags.
+ </value>
+ </member>
+ <member name="M:TestFu.Gestures.MouseGestureBase.#ctor">
+ <summary>
+ Initializes an new <see cref="T:TestFu.Gestures.MouseGestureBase"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.MouseGestureBase.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.MouseGestureBase"/>
+ with a <see cref="T:System.Windows.Forms.Form"/> instance and the buttons
+ involved in the gesture.
+ </summary>
+ <param name="form">
+ Target <see cref="T:System.Windows.Forms.Form"/> instance</param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ </member>
+ <member name="P:TestFu.Gestures.MouseGestureBase.Buttons">
+ <summary>
+ Gets or sets a value indicating the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture.
+ </summary>
+ <value>
+ A combined value of <see cref="T:System.Windows.Forms.MouseButtons"/> flags.
+ </value>
+ </member>
+ <member name="M:TestFu.Gestures.ButtonDownMouseGesture.#ctor">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.ButtonDownMouseGesture.#ctor(System.Windows.Forms.Form)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> with
+ a target <see cref="T:System.Windows.Forms.Form"/> instance and the left button
+ </summary>
+ <param name="form">
+ Target form</param>
+ </member>
+ <member name="M:TestFu.Gestures.ButtonDownMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> with
+ a target <see cref="T:System.Windows.Forms.Form"/> instance and the buttons
+ </summary>
+ <param name="form">
+ Target form</param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.ButtonDownMouseGesture.Start">
+ <summary>
+ Executes the mouse down event
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.ButtonUpMouseGesture">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IMouseGesture"/> that simulates a MouseUp event
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.ButtonUpMouseGesture.#ctor">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.ButtonUpMouseGesture.#ctor(System.Windows.Forms.Form)">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> with
+ a target <see cref="T:System.Windows.Forms.Form"/>.
+ </summary>
+ <param name="form">
+ Target form
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.ButtonUpMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> with
+ a target <see cref="T:System.Windows.Forms.Form"/>.
+ </summary>
+ <param name="form">
+ Target form
+ </param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.ButtonUpMouseGesture.Start">
+ <summary>
+ Executes the mouse up event
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.ClickMouseGesture">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IMouseGesture"/> that simulates a button click
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.ClickMouseGesture.#ctor">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.ClickMouseGesture.#ctor(System.Windows.Forms.Form)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
+ with a <see cref="T:System.Windows.Forms.Form"/> instance and the left button
+ </summary>
+ <param name="form">
+ Target <see cref="T:System.Windows.Forms.Form"/> instance
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.ClickMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
+ with a <see cref="T:System.Windows.Forms.Form"/> instance
+ </summary>
+ <param name="form">
+ Target <see cref="T:System.Windows.Forms.Form"/> instance
+ </param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.ClickMouseGesture.Start">
+ <summary>
+ Executes the mouse click
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.ControlMoveMouseGesture">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IMouseGesture"/> that moves the cursor to the
+ center of a <see cref="T:System.Windows.Forms.Control"/>.
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.MoveMouseGestureBase">
+ <summary>
+ An abstract base class for
+ <see cref="T:TestFu.Gestures.IMouseGesture"/> implementations
+ that simulates a mouse movement
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.MoveMouseGestureBase.#ctor">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.MoveMouseGestureBase"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.MoveMouseGestureBase.#ctor(System.Windows.Forms.Form)">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.MoveMouseGestureBase"/>
+ with a target form and no buttons
+ </summary>
+ <param name="form">
+ Target <see cref="T:System.Windows.Forms.Form"/>
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.MoveMouseGestureBase.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons)">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.MoveMouseGestureBase"/>
+ with a target form and the buttons
+ </summary>
+ <param name="form">
+ Target <see cref="T:System.Windows.Forms.Form"/>
+ </param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.MoveMouseGestureBase.Start">
+ <summary>
+ Steers the mouse towards the target
+ </summary>
+ </member>
+ <member name="P:TestFu.Gestures.MoveMouseGestureBase.Target">
+ <summary>
+ Gets the target of the movement, in client coordinates
+ </summary>
+ <value>
+ A <see cref="T:System.Drawing.Point"/> in client coordinates
+ </value>
+ </member>
+ <member name="P:TestFu.Gestures.MoveMouseGestureBase.MaxVelocity">
+ <summary>
+ Gets or sets a value indicating the maximum velocity of the
+ cursor
+ </summary>
+ <value>
+ A <see cref="T:System.Drawing.Point"/> representing the maximum velocity of the cursor
+ </value>
+ </member>
+ <member name="M:TestFu.Gestures.ControlMoveMouseGesture.#ctor">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.ControlMoveMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.Control)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
+ with a target <see cref="T:System.Windows.Forms.Form"/> and a target
+ <see cref="T:System.Windows.Forms.Control"/>
+ </summary>
+ <param name="form">
+ Target form</param>
+ <param name="targetControl">
+ Target control
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.ControlMoveMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons,System.Windows.Forms.Control)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
+ with a target <see cref="T:System.Windows.Forms.Form"/>, a target
+ <see cref="T:System.Windows.Forms.Control"/> and the buttons pushed during the move
+ </summary>
+ <param name="form">
+ Target form</param>
+ <param name="targetControl">
+ Target control
+ </param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ </member>
+ <member name="P:TestFu.Gestures.ControlMoveMouseGesture.TargetControl">
+ <summary>
+ Gets or sets the target <see cref="T:System.Windows.Forms.Control"/>
+ </summary>
+ <value>
+ A <see cref="T:System.Windows.Forms.Control"/> instance where the cursor has to move
+ </value>
+ </member>
+ <member name="P:TestFu.Gestures.ControlMoveMouseGesture.Target">
+ <summary>
+ Gets the center of the target <see cref="T:System.Windows.Forms.Control"/>.
+ </summary>
+ <value>
+ A <see cref="T:System.Drawing.Point"/> representing the center of the
+ target control in client coordiantes
+ </value>
+ </member>
+ <member name="P:TestFu.Gestures.ControlMoveMouseGesture.Offset">
+ <summary>
+ Offset of the target on the <see cref="T:System.Windows.Forms.Control"/>
+ </summary>
+ <value></value>
+ </member>
+ <member name="T:TestFu.Gestures.FixedTargetMoveMouseGesture">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IMouseGesture"/> that steers the cursor to a target
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.FixedTargetMoveMouseGesture.#ctor">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.FixedTargetMoveMouseGesture.#ctor(System.Windows.Forms.Form,System.Drawing.Point)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
+ with a target <see cref="T:System.Windows.Forms.Form"/> and a target
+ </summary>
+ <param name="form">
+ Target form</param>
+ <param name="target">
+ Target in client coordinates
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.FixedTargetMoveMouseGesture.#ctor(System.Windows.Forms.Form,System.Windows.Forms.MouseButtons,System.Drawing.Point)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
+ with a target <see cref="T:System.Windows.Forms.Form"/> and a target
+ </summary>
+ <param name="form">
+ Target form</param>
+ <param name="target">
+ Target in client coordinates
+ </param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ </member>
+ <member name="P:TestFu.Gestures.FixedTargetMoveMouseGesture.Target">
+ <summary>
+ Gets the target of the movement, in client coordinates.
+ </summary>
+ <value>
+ A <see cref="T:System.Drawing.Point"/> in client coordinates
+ </value>
+ <remarks>
+ <para>
+ The property value is equal to <see cref="P:TestFu.Gestures.FixedTargetMoveMouseGesture.MouseTarget"/>.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:TestFu.Gestures.FixedTargetMoveMouseGesture.MouseTarget">
+ <summary>
+ Gets or sets the target of the movement, in client coordinates
+ </summary>
+ <value>
+ A <see cref="T:System.Drawing.Point"/> in client coordinates
+ </value>
+ </member>
+ <member name="T:TestFu.Gestures.GestureCollection">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IGestureCollection"/> implementation.
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.IGestureCollection">
+ <summary>
+ A mutable collection of <see cref="T:TestFu.Gestures.IGesture"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.IGestureCollection.Add(TestFu.Gestures.IGesture)">
+ <summary>
+ Adds a <see cref="T:TestFu.Gestures.IGesture"/> instance
+ to the collection
+ </summary>
+ <param name="gesture">
+ A <see cref="T:TestFu.Gestures.IGesture"/> instance to add to the
+ collection
+ </param>
+ </member>
+ <member name="P:TestFu.Gestures.IGestureCollection.Item(System.Int32)">
+ <summary>
+ Gets or sets the <see cref="T:TestFu.Gestures.IGesture"/>
+ at position <paramref name="index"/>
+ </summary>
+ <param name="index">
+ index of the gesture</param>
+ <returns>
+ get property, the <see cref="T:TestFu.Gestures.IGesture"/>
+ at position <paramref name="index"/>
+ </returns>
+ </member>
+ <member name="T:TestFu.Gestures.GestureFactory">
+ <summary>
+ A helper factory of <see cref="T:TestFu.Gestures.IGesture"/> instance.
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.#ctor(System.Windows.Forms.Form)">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.GestureFactory"/>
+ with a <see cref="P:TestFu.Gestures.GestureFactory.Form"/> instance
+ </summary>
+ <param name="form">
+ Target form</param>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.Start(TestFu.Gestures.IGesture)">
+ <summary>
+ Creates a <see cref="T:System.Threading.Thread"/> for the
+ <see cref="M:TestFu.Gestures.IGesture.Start"/> method and starts it.
+ </summary>
+ <param name="gesture">
+ The <see cref="T:TestFu.Gestures.IGesture"/> to execute
+ </param>
+ <returns>
+ The started <see cref="T:System.Threading.Thread"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.Sequence(TestFu.Gestures.IGesture[])">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.SequenceGesture"/> instance
+ with a variable list of <see cref="T:TestFu.Gestures.IGesture"/> instances.
+ </summary>
+ <param name="gestures">
+ gestures to execute in sequence.
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.SequenceGesture"/> instance</returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.Sleep(System.Int32)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.SleepGesture"/> that makes the
+ thread sleep a given number of milliseconds
+ </summary>
+ <param name="duration">
+ Duration in milliseconds of the sleep
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.SleepGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.Repeat(TestFu.Gestures.IGesture,System.Int32)">
+ <summary>
+ Creates a new <see cref="T:TestFu.Gestures.RepeatGesture"/> with
+ the gesture and the repeat count
+ </summary>
+ <param name="gesture">
+ Target <see cref="T:TestFu.Gestures.IGesture"/> instance
+ </param>
+ <param name="repeatCount">
+ Number of repetition
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.RepeatGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseClick">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
+ that simulates a left click of the mouse
+ </summary>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ClickMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseClick(System.Windows.Forms.Control)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
+ that simulates a left click of the mouse
+ </summary>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ClickMouseGesture"/> instance
+ </returns>
+ <param name="control">
+ Control to click
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseClick(System.Windows.Forms.Control,System.Windows.Forms.MouseButtons)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
+ that simulates a left click of the mouse
+ </summary>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ClickMouseGesture"/> instance
+ </returns>
+ <param name="control">The control to click.</param>
+ <param name="buttons">Which button(s) to use.</param>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseClick(System.Windows.Forms.MouseButtons)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.ClickMouseGesture"/>
+ that simulates a left click of the mouse
+ </summary>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ClickMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseDown">
+ <summary>
+ Creates a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> instance
+ that simulates a Mouse down event (left click)
+ </summary>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseDown(System.Windows.Forms.MouseButtons)">
+ <summary>
+ Creates a new <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> instance
+ that simulates a Mouse down event with the buttons
+ </summary>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ButtonDownMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseUp">
+ <summary>
+ Creates a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> instance
+ that simulates a Mouse up event (left click)
+ </summary>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseUp(System.Windows.Forms.MouseButtons)">
+ <summary>
+ Creates a new <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> instance
+ that simulates a Mouse up event with the buttons
+ </summary>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ButtonUpMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseMove(System.Drawing.Point)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
+ that simulates the movement of the mouse to the target
+ </summary>
+ <param name="target">
+ Target client coordinate
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseMove(System.Drawing.Point,System.Windows.Forms.MouseButtons)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/>
+ that simulates the movement of the mouse to the target
+ and the buttons down
+ </summary>
+ <param name="target">
+ Target client coordinate
+ </param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.FixedTargetMoveMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseMove(System.Windows.Forms.Control)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
+ that simulates the movement of the mouse to the center
+ of the <see cref="T:System.Windows.Forms.Control"/>
+ </summary>
+ <param name="control">
+ Target <see cref="T:System.Windows.Forms.Control"/> instance
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseMove(System.Windows.Forms.Control,System.Windows.Forms.MouseButtons)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/>
+ that simulates the movement of the mouse to the center
+ of the <see cref="T:System.Windows.Forms.Control"/> with the buttons down
+ </summary>
+ <param name="control">
+ Target <see cref="T:System.Windows.Forms.Control"/> instance
+ </param>
+ <param name="buttons">
+ value representing the <see cref="T:System.Windows.Forms.MouseButtons"/>
+ involved in the gesture
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.ControlMoveMouseGesture"/> instance
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Drawing.Point,System.Drawing.Point)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
+ a drag and drop between <paramref name="source"/>
+ and <paramref name="target"/>
+ </summary>
+ <param name="source">
+ Source client coordinate</param>
+ <param name="target">
+ Target client coordinate
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Drawing.Point,System.Windows.Forms.Control)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
+ a drag and drop between <paramref name="source"/>
+ and <paramref name="target"/>
+ </summary>
+ <param name="source">
+ Source client coordinate</param>
+ <param name="target">
+ Target <see cref="T:System.Windows.Forms.Control"/>
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Windows.Forms.Control,System.Drawing.Point)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
+ a drag and drop between <paramref name="source"/>
+ and <paramref name="target"/>
+ </summary>
+ <param name="source">
+ Source <see cref="T:System.Windows.Forms.Control"/>
+ </param>
+ <param name="target">
+ Target client coordinate
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Windows.Forms.Control,System.Windows.Forms.Control)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
+ a drag and drop between <paramref name="source"/>
+ and <paramref name="target"/>
+ </summary>
+ <param name="source">
+ Source <see cref="T:System.Windows.Forms.Control"/>
+ </param>
+ <param name="target">
+ Target <see cref="T:System.Windows.Forms.Control"/>
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
+ </returns>
+ </member>
+ <member name="M:TestFu.Gestures.GestureFactory.MouseDragAndDrop(System.Windows.Forms.ListViewItem,System.Windows.Forms.Control)">
+ <summary>
+ Creates a <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates
+ a drag and drop between <paramref name="source"/>
+ and <paramref name="target"/>
+ </summary>
+ <param name="source">
+ Source <see cref="T:System.Windows.Forms.ListViewItem"/>
+ </param>
+ <param name="target">
+ Target client coordinate
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Gestures.IGesture"/> instance that simulates the drag and drop
+ </returns>
+ </member>
+ <member name="P:TestFu.Gestures.GestureFactory.Form">
+ <summary>
+ Gets the target <see cref="P:TestFu.Gestures.GestureFactory.Form"/> instance
+ </summary>
+ <value>
+ A <see cref="P:TestFu.Gestures.GestureFactory.Form"/> instance that is targetted by the gestures
+ </value>
+ </member>
+ <member name="T:TestFu.Gestures.NamespaceDoc">
+ <summary>
+ <para>
+ The <b>TestFu.Gestures</b> namespace contains classes (<see cref="T:TestFu.Gestures.IGesture"/>
+ instances) to simulate user mouse and keyboard interactions.
+ </para>
+ <para>
+ The user interaction are simulated by using native methods
+ <c>mouse_event</c> and <c>keybd_event</c>.
+ </para>
+ <para>
+ The <see cref="T:TestFu.Gestures.GestureFactory"/> can be used to rapidly generate
+ <see cref="T:TestFu.Gestures.IGesture"/> instances.
+ </para>
+ <para>
+ The gestures should not be executed in the main thread but in a worker thread. Otherwize,
+ you will miss message notifications. All gesture methods on <see cref="T:System.Windows.Forms.Control"/>
+ and <see cref="T:System.Windows.Forms.Form"/> are thread safe.
+ </para>
+ </summary>
+ </member>
+ <member name="T:TestFu.Gestures.RepeatGesture">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IGesture"/> that executes a Repeat of <see cref="T:TestFu.Gestures.IGesture"/>
+ instances.
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.RepeatGesture.#ctor">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.RepeatGesture"/> instance
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.RepeatGesture.#ctor(System.Windows.Forms.Form,TestFu.Gestures.IGesture,System.Int32)">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.RepeatGesture"/> instance
+ with a <see cref="T:System.Windows.Forms.Form"/> instance.
+ </summary>
+ <param name="form">
+ Target <see cref="T:System.Windows.Forms.Form"/>
+ </param>
+ <param name="gesture">
+ The gesture to be repeated
+ </param>
+ <param name="repeatCount">
+ The number of repetition</param>
+ </member>
+ <member name="M:TestFu.Gestures.RepeatGesture.Start">
+ <summary>
+ Executes the <see cref="T:TestFu.Gestures.IGesture"/> contained in
+ <see cref="N:TestFu.Gestures"/> in Repeat.
+ </summary>
+ </member>
+ <member name="P:TestFu.Gestures.RepeatGesture.Gesture">
+ <summary>
+ Gets the collection of <see cref="T:TestFu.Gestures.IGesture"/> to execute in Repeat
+ </summary>
+ <value>
+ A <see cref="T:TestFu.Gestures.IGestureCollection"/> instance
+ </value>
+ </member>
+ <member name="P:TestFu.Gestures.RepeatGesture.RepeatCount">
+ <summary>
+ Gets or sets the number of gesture repetition
+ </summary>
+ <value>
+ The repetition count
+ </value>
+ </member>
+ <member name="T:TestFu.Gestures.SequenceGesture">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IGesture"/> that executes a sequence of <see cref="T:TestFu.Gestures.IGesture"/>
+ instances.
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.SequenceGesture.#ctor">
+ <summary>
+ Initializes a new <see cref="T:TestFu.Gestures.SequenceGesture"/> instance
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.SequenceGesture.#ctor(System.Windows.Forms.Form)">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.SequenceGesture"/> instance
+ with a <see cref="P:TestFu.Gestures.SequenceGesture.Form"/> instance.
+ </summary>
+ <param name="form">
+ Target <see cref="P:TestFu.Gestures.SequenceGesture.Form"/>
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.SequenceGesture.Start">
+ <summary>
+ Executes the <see cref="T:TestFu.Gestures.IGesture"/> contained in
+ <see cref="P:TestFu.Gestures.SequenceGesture.Gestures"/> in sequence.
+ </summary>
+ </member>
+ <member name="P:TestFu.Gestures.SequenceGesture.Gestures">
+ <summary>
+ Gets the collection of <see cref="T:TestFu.Gestures.IGesture"/> to execute in sequence
+ </summary>
+ <value>
+ A <see cref="T:TestFu.Gestures.IGestureCollection"/> instance
+ </value>
+ </member>
+ <member name="T:TestFu.Gestures.SleepGesture">
+ <summary>
+ A <see cref="T:TestFu.Gestures.IGesture"/> that makes the <see cref="T:System.Threading.Thread"/>
+ sleep.
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.SleepGesture.#ctor">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.SleepGesture"/> instance.
+ </summary>
+ </member>
+ <member name="M:TestFu.Gestures.SleepGesture.#ctor(System.Windows.Forms.Form,System.Int32)">
+ <summary>
+ Initialiazes a new <see cref="T:TestFu.Gestures.SleepGesture"/> instance
+ with a <see cref="T:System.Windows.Forms.Form"/> instance and a sleep duration
+ </summary>
+ <param name="form">
+ Target <see cref="T:System.Windows.Forms.Form"/> instance</param>
+ <param name="duration">
+ Sleep duration in milliseconds
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.SleepGesture.Start">
+ <summary>
+ Executes the sleep gestures
+ </summary>
+ </member>
+ <member name="P:TestFu.Gestures.SleepGesture.Duration">
+ <summary>
+ Gets or sets the sleep duration (in milliseconds)
+ </summary>
+ <value>
+ Number of milliseconds of sleep
+ </value>
+ </member>
+ <member name="T:TestFu.Gestures.VirtualInput">
+ <summary>
+ A static helper for artificially generationg mouse
+ and keyboard input.
+ </summary>
+ <remarks>
+ <para>
+ This class uses <c>mouse_event</c> and <c>keybd_event</c> native
+ methods (through interop) to simulate user mouse or keyboard input.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.MouseEvent(TestFu.Gestures.VirtualInput.MouseEventType)">
+ <summary>
+ Generates a mouse event
+ </summary>
+ <param name="mouseEventType">
+ Combined flag describing the mouse event
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.MouseEvent(TestFu.Gestures.VirtualInput.MouseEventType,System.Int32,System.Int32,System.Int32)">
+ <summary>
+ Mouse event with additional data
+ </summary>
+ <param name="mouseEventType">
+ Combined flag describing the mouse event
+ </param>
+ <param name="dx">
+ Relative horizontal movement of the cursor
+ </param>
+ <param name="dy">
+ Relative vertical movement of the cursor</param>
+ <param name="dwData">
+ Additional data
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.MouveMouse(System.Int32,System.Int32)">
+ <summary>
+ Move mouse of units
+ </summary>
+ <param name="dx">
+ horizontal movement</param>
+ <param name="dy">
+ vertical movement
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.BeginMouveMouse(System.Windows.Forms.MouseButtons)">
+ <summary>
+ Notfies that a mouse movement is starting
+ with the buttons settings
+ </summary>
+ <param name="buttons">
+ Combined flag describing the current button
+ state
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.EndMouveMouse(System.Windows.Forms.MouseButtons)">
+ <summary>
+ Notfies that a mouse movement is finishing
+ with the buttons settings
+ </summary>
+ <param name="buttons">
+ Combined flag describing the current button
+ state
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.MouseClick(System.Windows.Forms.MouseButtons)">
+ <summary>
+ Mouse click using button state
+ </summary>
+ <param name="buttons">
+ Combined flag describing the current button
+ state
+ </param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.MouseDown(System.Windows.Forms.MouseButtons)">
+ <summary>
+ Mouse down event
+ </summary>
+ <param name="buttons"></param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.MouseUp(System.Windows.Forms.MouseButtons)">
+ <summary>
+ Mouse up event
+ </summary>
+ <param name="buttons"></param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.MouseWheel(System.Int32)">
+ <summary>
+ Mouse wheel event
+ </summary>
+ <param name="value">
+ Wheel movement</param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.PressKey(System.IntPtr,System.Char)">
+ <summary>
+ Simulates a Key action (KeyDown, Key, KeyUp message sequence)
+ </summary>
+ <param name="character">character pressed</param>
+ <param name="hwnd">handle of control to receive the event</param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.PressBackspace(System.IntPtr)">
+ <summary>
+ Simulates a Backspace
+ </summary>
+ <param name="hwnd">handle of control to receive the event</param>
+ </member>
+ <member name="M:TestFu.Gestures.VirtualInput.Type(System.IntPtr,System.String)">
+ <summary>
+ Simulates a user typing text
+ </summary>
+ <param name="text">text to enter</param>
+ <param name="hwnd">handle of control to receive the event</param>
+ </member>
+ <member name="T:TestFu.Gestures.VirtualInput.MouseEventType">
+ <summary>
+ Mouse even type enumeration
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.None">
+ <summary>
+ No event
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.Absolute">
+ <summary>
+ Mouse move where dx,dy are in absolute coordinate
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.LeftDown">
+ <summary>
+ Left button bown
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.LeftUp">
+ <summary>
+ Left button up
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.MiddleDown">
+ <summary>
+ Middle button down
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.MiddleUp">
+ <summary>
+ middle button up
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.Move">
+ <summary>
+ Mouse moved
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.RightDown">
+ <summary>
+ Right button down
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.RightUp">
+ <summary>
+ Right button up
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.Wheel">
+ <summary>
+ Mouse wheel movement
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.XDown">
+ <summary>
+ Additional button down
+ </summary>
+ </member>
+ <member name="F:TestFu.Gestures.VirtualInput.MouseEventType.Xup">
+ <summary>
+ Additional button up
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.AlternativeRule">
+ <summary>
+ A <see cref="T:TestFu.Grammars.IRule"/> that choose from a set of sub-<see cref="T:TestFu.Grammars.IRule"/>.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.CollectionRule">
+ <summary>
+ Abstract rule containing other rules.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.RuleBase">
+ <summary>
+ Abstract rule class
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.IRule">
+ <summary>
+ A production rule
+ </summary>
+ <remarks>
+ <para>
+ A <see cref="T:TestFu.Grammars.IRule"/> instance is used to execute a production.
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Grammars.IRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Executes the production using the rule.
+ </summary>
+ <param name="token">
+ A production token authorizing production.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="token"/> is a null reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.IRule.Weight">
+ <summary>
+ Gets or sets a value indicating the rule importance
+ </summary>
+ <value>
+ Value indicating the rule importance
+ </value>
+ <exception cref="T:System.ArgumentException">
+ set property, value is negative.
+ </exception>
+ </member>
+ <member name="E:TestFu.Grammars.IRule.Action">
+ <summary>
+ Semantic actions event.
+ </summary>
+ <remarks>
+ <para>
+ Semantic action are triggered upon each successful rule execution.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:TestFu.Grammars.IRule.Terminal">
+ <summary>
+ Gets a value indicating if the rule is terminal
+ </summary>
+ <value>
+ true if the rule is terminal; otherwise, false.
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.IRule.Name">
+ <summary>
+ Gets or sets the rule name (for debugging purpose)
+ </summary>
+ <value>
+ The rule name.
+ </value>
+ </member>
+ <member name="M:TestFu.Grammars.RuleBase.#ctor(System.Boolean)">
+ <summary>
+ Creates an empty rule
+ </summary>
+ <param name="terminal">
+ true if the rule is terminal; otherwise, false.
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.RuleBase.OnAction">
+ <summary>
+ Raises the <see cref="E:TestFu.Grammars.RuleBase.Action"/> event.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.RuleBase.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Executes the production using the rule (abstract class).
+ </summary>
+ <param name="token">
+ A production token authorizing production.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="token"/> is a null reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.RuleBase.Terminal">
+ <summary>
+ Gets a value indicating if the rule is terminal
+ </summary>
+ <value>
+ true if the rule is terminal; otherwise, false.
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.RuleBase.Name">
+ <summary>
+ Gets or sets the rule name
+ </summary>
+ <value>
+ The rule name
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.RuleBase.Weight">
+ <summary>
+ Gets or sets the rule weight
+ </summary>
+ <value>
+ The rule weight
+ </value>
+ <exception cref="T:System.ArgumentException">
+ set property, weight is negative
+ </exception>
+ </member>
+ <member name="E:TestFu.Grammars.RuleBase.Action">
+ <summary>
+ Semantic action event.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.CollectionRule.#ctor">
+ <summary>
+ Creates an empty instance.
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.CollectionRule.Rules">
+ <summary>
+ Gets the list of rules stored in the rule.
+ </summary>
+ <value>
+ <see cref="T:TestFu.Grammars.IRuleList"/> containing the child rules.
+ </value>
+ </member>
+ <member name="M:TestFu.Grammars.AlternativeRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Choose a <see cref="T:TestFu.Grammars.IRule"/> and launch its production.
+ </summary>
+ <param name="token">
+ Authorizing token
+ </param>
+ </member>
+ <member name="P:TestFu.Grammars.AlternativeRule.Selector">
+ <summary>
+ Gets or sets the <see cref="T:TestFu.Grammars.IRuleSelector"/> instance
+ </summary>
+ <value>
+ <see cref="T:TestFu.Grammars.IRuleSelector"/> instance.
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.ConditionalRule">
+ <summary>
+ If then else rule fashion.
+ </summary>
+ <remarks>
+ <para>
+ This rule uses the results of a <see cref="T:TestFu.Grammars.IPredicate"/>
+ instance to select which <see cref="T:TestFu.Grammars.IRule"/> to execute:
+ <code>
+ if (predicate.Test(...))
+ rule.Produce(...);
+ else
+ elseRule.Produce(...);
+ </code>
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Grammars.ConditionalRule.#ctor(TestFu.Grammars.IPredicate,TestFu.Grammars.IRule)">
+ <summary>
+ Creates a <see cref="T:TestFu.Grammars.ConditionalRule"/> with a
+ <see cref="T:TestFu.Grammars.IPredicate"/> instance and
+ <see cref="T:TestFu.Grammars.IRule"/> instance.
+ </summary>
+ <param name="predicate">
+ <see cref="T:TestFu.Grammars.IPredicate"/> instance used for testing
+ </param>
+ <param name="rule">
+ rule to execute.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="predicate"/> or <paramref name="rule"/>
+ is a null reference.
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.ConditionalRule.#ctor(TestFu.Grammars.IPredicate,TestFu.Grammars.IRule,TestFu.Grammars.IRule)">
+ <summary>
+ Creates a <see cref="T:TestFu.Grammars.ConditionalRule"/> with a
+ <see cref="T:TestFu.Grammars.IPredicate"/> instance and
+ <see cref="T:TestFu.Grammars.IRule"/> instance. If the predicate returns
+ false, <paramref name="elseRule"/> is executed.
+ </summary>
+ <param name="predicate">
+ <see cref="T:TestFu.Grammars.IPredicate"/> instance used for testing
+ </param>
+ <param name="rule">
+ rule to execute.
+ </param>
+ <param name="elseRule">
+ rule to execute if predicate is false.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="predicate"/> or <paramref name="rule"/>
+ is a null reference.
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.ConditionalRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Executes one of the rules depending on the predicate result.
+ </summary>
+ <param name="token">
+ A production token authorizing production.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="token"/> is a null reference (Nothing in Visual Basic)
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.ConditionalRule.Predicate">
+ <summary>
+ Gets or sets the predicate for the condition.
+ </summary>
+ <value>
+ <see cref="T:TestFu.Grammars.IPredicate"/> instance used for testing the condition.
+ </value>
+ <exception cref="T:System.ArgumentNullException">
+ set property, value is a null reference
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.ConditionalRule.Rule">
+ <summary>
+ Gets or sets the rule executed when the predicate is true
+ </summary>
+ <value>
+ <see cref="T:TestFu.Grammars.IRule"/> instance executed when <see cref="P:TestFu.Grammars.ConditionalRule.Predicate"/>
+ is true.
+ </value>
+ <exception cref="T:System.ArgumentNullException">
+ set property, value is a null reference
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.ConditionalRule.ElseRule">
+ <summary>
+ Gets or sets the rule executed when the predicate is false
+ </summary>
+ <value>
+ <see cref="T:TestFu.Grammars.IRule"/> instance executed when <see cref="P:TestFu.Grammars.ConditionalRule.Predicate"/>
+ is false.
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.ConditionDelegate">
+ <summary>
+ Method that returns a bool.
+ </summary>
+ <param name="token">
+ Current <see cref="T:TestFu.Grammars.IProductionToken"/> instance.
+ </param>
+ </member>
+ <member name="T:TestFu.Grammars.ConditionDelegatePredicate">
+ <summary>
+ A <see cref="T:TestFu.Grammars.IPredicate"/> instance that executes
+ a <see cref="T:TestFu.Grammars.ConditionDelegate"/>.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.IPredicate">
+ <summary>
+ Predicate that checks a given condition.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.IPredicate.Test(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Checks a condition and returns result.
+ </summary>
+ <returns>
+ Predicate result
+ </returns>
+ <param name="token">
+ Current production token
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.ConditionDelegatePredicate.#ctor(TestFu.Grammars.ConditionDelegate)">
+ <summary>
+ Creates a new instance arounda <see cref="T:TestFu.Grammars.ConditionDelegate"/>
+ </summary>
+ <param name="condition">
+ <see cref="T:TestFu.Grammars.ConditionDelegate"/> to attach.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="condition"/> is a null reference.
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.ConditionDelegatePredicate.Test(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Invokes the <see cref="T:TestFu.Grammars.ConditionDelegate"/> instance
+ and returns the result.
+ </summary>
+ <param name="token"></param>
+ <returns></returns>
+ </member>
+ <member name="T:TestFu.Grammars.CountedProduction">
+ <summary>
+ A <see cref="T:TestFu.Grammars.IProduction"/> class that limits the number of
+ terminal <see cref="T:TestFu.Grammars.IRule"/> execution.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.IProduction">
+ <summary>
+ A production done by a grammar and its set of rules.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.IProduction.RequestToken(TestFu.Grammars.IRule)">
+ <summary>
+ Processes the request for a <see cref="T:TestFu.Grammars.IProductionToken"/>
+ done by a rule and returns the token or throws.
+ </summary>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> instance that requests the token.
+ </param>
+ <returns>
+ A valid <see cref="T:TestFu.Grammars.IProductionToken"/> instance.
+ </returns>
+ <exception cref="T:TestFu.Grammars.ProductionException">
+ The request was defined using the internal production
+ logic.
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.IProduction.Seed">
+ <summary>
+ Gets the seed that created the production
+ </summary>
+ <value>
+ Seed used to create the production
+ </value>
+ </member>
+ <member name="M:TestFu.Grammars.CountedProduction.#ctor(System.Int32)">
+ <summary>
+ Creates an instance that limits the number of terminal rule execution
+ to <paramref name="maxTokenCount"/>.
+ </summary>
+ <param name="maxTokenCount">
+ Maximum number of terminal <see cref="T:TestFu.Grammars.IRule"/> execution.
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.CountedProduction.RequestToken(TestFu.Grammars.IRule)">
+ <summary>
+ Processes the request for a <see cref="T:TestFu.Grammars.IProductionToken"/>
+ done by a rule and returns the token or throws.
+ </summary>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> instance that requests the token.
+ </param>
+ <returns>
+ A valid <see cref="T:TestFu.Grammars.IProductionToken"/> instance.
+ </returns>
+ <exception cref="T:TestFu.Grammars.ProductionException">
+ The maximum number of terminal rule execution was hitted.
+ </exception>
+ </member>
+ <member name="T:TestFu.Grammars.CountedProduction.Factory">
+ <summary>
+ Factory for <see cref="T:TestFu.Grammars.CountedProduction"/> instance.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.IProductionFactory">
+ <summary>
+ A factory for <see cref="T:TestFu.Grammars.IProduction"/> instances.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.IProductionFactory.CreateProduction(System.Object)">
+ <summary>
+ Creates a new <see cref="T:TestFu.Grammars.IProduction"/> instance.
+ </summary>
+ <returns>
+ A valid <see cref="T:TestFu.Grammars.IProduction"/> instance.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.CountedProduction.Factory.#ctor">
+ <summary>
+ Creates a factory of <see cref="T:TestFu.Grammars.CountedProduction"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.CountedProduction.Factory.CreateProduction(System.Object)">
+ <summary>
+ Creates new instances of <see cref="T:TestFu.Grammars.CountedProduction"/>
+ </summary>
+ <returns>
+ A <see cref="T:TestFu.Grammars.CountedProduction"/> instance
+ </returns>
+ </member>
+ <member name="T:TestFu.Grammars.EventHandlerRule">
+ <summary>
+ A <see cref="T:TestFu.Grammars.IRule"/> that wraps a <see cref="T:System.EventHandler"/>
+ call.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.EventHandlerRule.#ctor(System.EventHandler)">
+ <summary>
+ Creates an instance with a <see cref="T:System.EventHandler"/>
+ attached.
+ </summary>
+ <param name="handler">
+ Handler to attach
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="handler"/> is a null reference
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.EventHandlerRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Invokes handler.
+ </summary>
+ <param name="token"></param>
+ </member>
+ <member name="T:TestFu.Grammars.Grammar">
+ <summary>
+ A grammar containing a set of rules, a <see cref="P:TestFu.Grammars.Grammar.StartRule"/>.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.IGrammar">
+ <summary>
+ A grammar containing a set of rules, a <see cref="P:TestFu.Grammars.IGrammar.StartRule"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.IGrammar.Produce(System.Object)">
+ <summary>
+ Launches a production.
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.IGrammar.StartRule">
+ <summary>
+ Gets or sets the starting rule.
+ </summary>
+ <value>
+ The start <see cref="T:TestFu.Grammars.IRule"/>.
+ </value>
+ </member>
+ <member name="E:TestFu.Grammars.IGrammar.ProductionFinished">
+ <summary>
+ Raised when production is finished.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.Grammar.#ctor">
+ <summary>
+ Creates an empty grammar.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.Grammar.Produce(System.Object)">
+ <summary>
+ Launches a production.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.Grammar.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.Grammar.ProductionFactory">
+ <summary>
+ Gets or sets the <see cref="T:TestFu.Grammars.IProductionFactory"/> instance.
+ </summary>
+ <value>
+ <see cref="T:TestFu.Grammars.IProductionFactory"/> instance used for creating new
+ productions.
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.Grammar.StartRule">
+ <summary>
+ Gets or sets the starting rule.
+ </summary>
+ <value>
+ The start <see cref="T:TestFu.Grammars.IRule"/>.
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.GuardedRule">
+ <summary>
+ A <see cref="T:TestFu.Grammars.IRule"/> that guard an inner <see cref="T:TestFu.Grammars.IRule"/> instance
+ execution from a specific exceptionType.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.GuardedRule.#ctor(TestFu.Grammars.IRule,System.Type)">
+ <summary>
+ Creates an instance with the guarded rule and the expected
+ exception type.
+ </summary>
+ <param name="rule">
+ Guarded <see cref="T:TestFu.Grammars.IRule"/> instance
+ </param>
+ <param name="exceptionType">
+ Expected <see cref="T:System.Exception"/> type.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rule"/> or <paramref name="exceptionType"/>
+ is a null reference.
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.GuardedRule.#ctor(TestFu.Grammars.IRule,System.Type,System.Text.RegularExpressions.Regex)">
+ <summary>
+ Creates an instance with the guarded rule, the expected
+ exception type and the regular expression to match the message.
+ </summary>
+ <param name="rule">
+ Guarded <see cref="T:TestFu.Grammars.IRule"/> instance
+ </param>
+ <param name="exceptionType">
+ Expected <see cref="T:System.Exception"/> type.
+ </param>
+ <param name="messageRegex">
+ Regular expression used to match the exception message
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rule"/> or <paramref name="exceptionType"/>
+ is a null reference.
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.GuardedRule.OnAction">
+ <summary>
+ Raises the <see cref="E:TestFu.Grammars.GuardedRule.Action"/> event.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.GuardedRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Executes the inner <see cref="T:TestFu.Grammars.IRule"/> and guards for
+ a particular exception type.
+ </summary>
+ <param name="token">
+ Authorization token
+ </param>
+ </member>
+ <member name="E:TestFu.Grammars.GuardedRule.Action">
+ <summary>
+ Semantic actions event
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.GuardedRule.MessageRegex">
+ <summary>
+ Gets or sets the regular expression to match the message.
+ </summary>
+ <value>
+ The <see cref="T:System.Text.RegularExpressions.Regex"/> instance used to mach the message.
+ </value>
+ <remarks>
+ <para>
+ If this property is set to null, no message matching is performed.
+ </para>
+ </remarks>
+ </member>
+ <member name="P:TestFu.Grammars.GuardedRule.Name">
+ <summary>
+ Gets or sets the rule name (for debugging purpose)
+ </summary>
+ <value>
+ The rule name.
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.GuardedRule.Weight">
+ <summary>
+ Gets or sets a value indicating the rule importance
+ </summary>
+ <value>
+ Value indicating the rule importance
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.GuardedRule.Terminal">
+ <summary>
+ Gets a value indicating if the rule is terminal.
+ </summary>
+ <value>
+ Always returns true.
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.IProductionToken">
+ <summary>
+ An authorization to execute a production.
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.IProductionToken.Authorized">
+ <summary>
+ Gets a value indicating if the production is authorized
+ </summary>
+ <value>
+ true if authorized, otherwise false.
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.IProductionToken.Production">
+ <summary>
+ Gets the <see cref="T:TestFu.Grammars.IProduction"/> that emited the token.
+ </summary>
+ <value>
+ The <see cref="T:TestFu.Grammars.IProduction"/> instance that emited the token.
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.IRandom">
+ <summary>
+ A class that creates random values.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.IRandom.Next">
+ <summary>
+ Returns a nonnegative random number.
+ </summary>
+ <returns>
+ A 32-bit signed integer greater than or equal to zero and less than
+ <see cref="F:System.Int32.MaxValue"/>.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.IRandom.Next(System.Int32)">
+ <summary>
+ Returns a nonnegative random number less than the specified maximum.
+ </summary>
+ <param name="max"></param>
+ <returns>
+ A 32-bit signed integer greater than or equal to zero and less than
+ <paramref name="max"/>.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.IRandom.Next(System.Int32,System.Int32)">
+ <summary>
+ Returns a random number within a specified range.
+ </summary>
+ <param name="minValue">
+ The lower bound of the random number returned.
+ </param>
+ <param name="maxValue">
+ The upper bound of the random number returned.
+ maxValue must be greater than or equal to minValue.
+ </param>
+ <returns>
+ A 32-bit signed integer greater than or equal to minValue and less
+ than maxValue; that is, the range of return values includes
+ minValue but not MaxValue. If minValue equals maxValue, minValue
+ is returned.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.IRandom.NextDouble">
+ <summary>
+ Returns a random number between 0.0 and 1.0.
+ </summary>
+ <returns>
+ A double-precision floating point number greater than or equal
+ to 0.0, and less than 1.0.
+ </returns>
+ </member>
+ <member name="T:TestFu.Grammars.IRuleCollection">
+ <summary>
+ A collection of <see cref="T:TestFu.Grammars.IRule"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.IRuleCollection.GetEnumerator">
+ <summary>
+ Gets an <see cref="T:TestFu.Grammars.IRuleEnumerator"/> instance of the rules.
+ </summary>
+ <returns>
+ A valid <see cref="T:TestFu.Grammars.IRuleEnumerator"/> instance.
+ </returns>
+ </member>
+ <member name="T:TestFu.Grammars.IRuleEnumerator">
+ <summary>
+ An enumerator over <see cref="T:TestFu.Grammars.IRule"/> instance.
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.IRuleEnumerator.Current">
+ <summary>
+ Gets the current <see cref="T:TestFu.Grammars.IRule"/> instance
+ </summary>
+ <value>
+ Current <see cref="T:TestFu.Grammars.IRule"/> instance.
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.IRuleList">
+ <summary>
+ A list of <see cref="T:TestFu.Grammars.IRule"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.IRuleList.Add(TestFu.Grammars.IRule)">
+ <summary>
+ Adds a <see cref="T:TestFu.Grammars.IRule"/> to the list.
+ </summary>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to add
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.IRuleList.Insert(System.Int32,TestFu.Grammars.IRule)">
+ <summary>
+ Inserts a <see cref="T:TestFu.Grammars.IRule"/> instance at position <paramref name="index"/>
+ </summary>
+ <param name="index">
+ position to insert the rule
+ </param>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to insert
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.IRuleList.Remove(TestFu.Grammars.IRule)">
+ <summary>
+ Removes the first occurence of <paramref name="rule"/>.
+ </summary>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to remove
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.IRuleList.Contains(TestFu.Grammars.IRule)">
+ <summary>
+ Gets a value indicating if <paramref name="rule"/> is in the
+ list.
+ </summary>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to test.
+ </param>
+ <returns>
+ true if <paramref name="rule"/> is in the list; otherwise, false.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.IRuleList.Clear">
+ <summary>
+ Clears the list.
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.IRuleList.Item(System.Int32)">
+ <summary>
+ Gets or sets the <see cref="T:TestFu.Grammars.IRule"/> at position <paramref name="index"/>.
+ </summary>
+ <param name="index">
+ <see cref="T:TestFu.Grammars.IRule"/> index.
+ </param>
+ </member>
+ <member name="T:TestFu.Grammars.IRuleSelector">
+ <summary>
+ A object that select a rule between a collection of rules.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.IRuleSelector.Select(TestFu.Grammars.IRule[])">
+ <summary>
+ Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
+ </summary>
+ <param name="rules">
+ <see cref="T:TestFu.Grammars.IRule"/> array to select from
+ </param>
+ <returns>
+ Select <see cref="T:TestFu.Grammars.IRule"/> instance
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rules"/> is a null reference
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="rules"/> is empty
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.IRuleSelector.Select(TestFu.Grammars.IRuleCollection)">
+ <summary>
+ Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
+ </summary>
+ <param name="rules">
+ <see cref="T:TestFu.Grammars.IRule"/> collection to select from
+ </param>
+ <returns>
+ Select <see cref="T:TestFu.Grammars.IRule"/> instance
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rules"/> is a null reference
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="rules"/> is empty
+ </exception>
+ </member>
+ <member name="T:TestFu.Grammars.MethodInvokerRule">
+ <summary>
+ A rule that executes a <see cref="T:TestFu.Grammars.MethodInvokerRule"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.MethodInvokerRule.#ctor(TestFu.Grammars.MethodInvoker)">
+ <summary>
+ Creates a new instance around a <see cref="T:TestFu.Grammars.MethodInvoker"/>
+ </summary>
+ <param name="methodInvoker">
+ <see cref="T:TestFu.Grammars.MethodInvoker"/> to attach.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="methodInvoker"/> is a null reference.
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.MethodInvokerRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Invokes the <see cref="T:TestFu.Grammars.MethodInvokerRule"/> instance.
+ </summary>
+ <param name="token">
+ Autorization token
+ </param>
+ </member>
+ <member name="T:TestFu.Grammars.NamespaceDoc">
+ <summary>
+ <para>The <b>TestFu.Grammars</b> namespace contains a framwork for
+ implementing
+ <b>Production Grammars</b>.
+ </para>
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.NotExpectedExceptionTypeException">
+ <summary>
+ Exception throwed when an exception is catched and is
+ not from the expected type.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.NotExpectedExceptionTypeException.#ctor(System.Type,System.Exception)">
+ <summary>
+ Creates an instance with the expected exception type
+ and the actual exception.
+ </summary>
+ <param name="expectedType">
+ Expected exception <see cref="T:System.Type"/>
+ </param>
+ <param name="innerException">
+ Actual catch <see cref="T:System.Exception"/> instance
+ </param>
+ </member>
+ <member name="T:TestFu.Grammars.NotExpectedMessageException">
+ <summary>
+ Exception throwed when an exception message does not match
+ with the message regular expression
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.NotExpectedMessageException.#ctor(System.Text.RegularExpressions.Regex,System.Exception)">
+ <summary>
+ Creates an instance with the message regular expression and
+ the actual catched exception.
+ </summary>
+ <param name="messageRegex">
+ The <see cref="T:System.Text.RegularExpressions.Regex"/> instance used to match the message
+ </param>
+ <param name="innerException">
+ The actual <see cref="T:System.Exception"/> instance.
+ </param>
+ </member>
+ <member name="P:TestFu.Grammars.NotExpectedMessageException.MessageRegex">
+ <summary>
+ Gets the <see cref="T:System.Text.RegularExpressions.Regex"/> instance used to match the exception message
+ </summary>
+ <value>
+ <see cref="T:System.Text.RegularExpressions.Regex"/> message matcher.
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.Predicates">
+ <summary>
+ A static helper class for creating <see cref="T:TestFu.Grammars.IPredicate"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.Predicates.If(TestFu.Grammars.ConditionDelegate)">
+ <summary>
+ Creates a <see cref="T:TestFu.Grammars.ConditionDelegatePredicate"/> around
+ <paramref name="condition"/>
+ </summary>
+ <param name="condition">
+ condition to wrap</param>
+ <returns>
+ A <see cref="T:TestFu.Grammars.ConditionDelegatePredicate"/>
+ </returns>
+ </member>
+ <member name="T:TestFu.Grammars.ProductionException">
+ <summary>
+ Expection class used to stop production.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.ProductionException.#ctor(TestFu.Grammars.IProduction)">
+ <summary>
+
+ </summary>
+ <param name="production"></param>
+ </member>
+ <member name="P:TestFu.Grammars.ProductionException.Production">
+ <summary>
+ Gets the production that stopped.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.ProductionToken">
+ <summary>
+ Default implementation of <see cref="T:TestFu.Grammars.IProductionToken"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.ProductionToken.#ctor(TestFu.Grammars.IProduction)">
+ <summary>
+ Creates a token from <paramref name="production"/>
+ </summary>
+ <param name="production">
+ production to wrap.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="production"/> is a null reference (Nothing in
+ Visual Basic).
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.ProductionToken.Production">
+ <summary>
+ Gets the <see cref="T:TestFu.Grammars.IProduction"/> that emited the token.
+ </summary>
+ <value>
+ The <see cref="T:TestFu.Grammars.IProduction"/> instance that emited the token.
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.ProductionToken.Authorized">
+ <summary>
+ Gets a value indicating if the production is authorized
+ </summary>
+ <value>
+ true if authorized, otherwise false.
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.ProductionTokenDelegateRule">
+ <summary>
+ A rule that executes a <see cref="T:TestFu.Grammars.ProductionTokenDelegate"/>.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.ProductionTokenDelegateRule.#ctor(TestFu.Grammars.ProductionTokenDelegate)">
+ <summary>
+ Creates a new instance around a <see cref="T:TestFu.Grammars.ProductionTokenDelegate"/>
+ </summary>
+ <param name="productionTokenDelegate">
+ <see cref="T:TestFu.Grammars.ProductionTokenDelegateRule"/> to attach.
+ </param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="productionTokenDelegate"/> is a null reference.
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.ProductionTokenDelegateRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Invokes the <see cref="T:TestFu.Grammars.ProductionTokenDelegateRule"/> instance.
+ </summary>
+ <param name="token">
+ Autorization token
+ </param>
+ </member>
+ <member name="T:TestFu.Grammars.ProductionTokenEventArgs">
+ <summary>
+ Summary description for ProductionTokenEventArgs.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.Random">
+ <summary>
+ System implementation of <see cref="T:TestFu.Grammars.IRandom"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.Random.#ctor">
+ <summary>
+ Creates an instance initialized using <see cref="T:System.DateTime"/>.Now.Ticks.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.RandomRuleSelector">
+ <summary>
+ Uniform random rule selector.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.RandomRuleSelector.Select(TestFu.Grammars.IRule[])">
+ <summary>
+ Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
+ </summary>
+ <param name="rules">
+ <see cref="T:TestFu.Grammars.IRule"/> array to select from
+ </param>
+ <returns>
+ Select <see cref="T:TestFu.Grammars.IRule"/> instance
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rules"/> is a null reference
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="rules"/> is empty
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.RandomRuleSelector.Select(TestFu.Grammars.IRuleCollection)">
+ <summary>
+ Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
+ </summary>
+ <param name="rules">
+ <see cref="T:TestFu.Grammars.IRule"/> collection to select from
+ </param>
+ <returns>
+ Select <see cref="T:TestFu.Grammars.IRule"/> instance
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rules"/> is a null reference
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="rules"/> is empty
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.RandomRuleSelector.Random">
+ <summary>
+ Gets or sets the random generator
+ </summary>
+ <value>
+ The <see cref="T:TestFu.Grammars.IRandom"/> instance used for random data generation
+ </value>
+ <exception cref="T:System.ArgumentNullException">
+ set property, value is a null reference
+ </exception>
+ </member>
+ <member name="T:TestFu.Grammars.RepetitionRule">
+ <summary>
+ A <see cref="T:TestFu.Grammars.IRule"/> that executes repeatidely an inner <see cref="T:TestFu.Grammars.IRule"/>
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.RepetitionRule.#ctor(TestFu.Grammars.IRule,System.Int32,System.Int32)">
+ <summary>
+ Creates an instance that executes the rule between
+ <paramref name="minOccurense"/> and <paramref name="maxOccurence"/>
+ times.
+ </summary>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to repeat
+ </param>
+ <param name="minOccurence">
+ Minimum number of occurence
+ </param>
+ <param name="maxOccurence">
+ Maximum number of occurence
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.RepetitionRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Executes repeatidely the inner rule.
+ </summary>
+ <param name="token">
+ Authorization token
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.RepetitionRule.ToEbnf">
+ <summary>
+ Converts rule to EBNF like representation
+ </summary>
+ <returns>
+ EBNF-like string representing the rule.
+ </returns>
+ </member>
+ <member name="P:TestFu.Grammars.RepetitionRule.Random">
+ <summary>
+ Gets or sets the random generator used for selection repetition
+ counts
+ </summary>
+ <value>
+ The <see cref="T:TestFu.Grammars.IRandom"/> random generator.
+ </value>
+ <exception cref="T:System.ArgumentNullException">
+ set property, value is a null reference
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.RepetitionRule.Rule">
+ <summary>
+ Gets the inner <see cref="T:TestFu.Grammars.IRule"/> instance
+ </summary>
+ <value>
+ Repeated <see cref="T:TestFu.Grammars.IRule"/> instance.
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.RepetitionRule.MinOccurence">
+ <summary>
+ Gets the minimum of rule execution
+ </summary>
+ <value>
+ Minimum of rule execution
+ </value>
+ </member>
+ <member name="P:TestFu.Grammars.RepetitionRule.MaxOccurence">
+ <summary>
+ Gets the maximum of rule execution
+ </summary>
+ <value>
+ Maximum of rule execution
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.RoundRobinRuleSelector">
+ <summary>
+ Round Robin rule selector.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.RoundRobinRuleSelector.Select(TestFu.Grammars.IRule[])">
+ <summary>
+ Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
+ </summary>
+ <param name="rules">
+ <see cref="T:TestFu.Grammars.IRule"/> array to select from
+ </param>
+ <returns>
+ Select <see cref="T:TestFu.Grammars.IRule"/> instance
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rules"/> is a null reference
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="rules"/> is empty
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.RoundRobinRuleSelector.Select(TestFu.Grammars.IRuleCollection)">
+ <summary>
+ Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
+ </summary>
+ <param name="rules">
+ <see cref="T:TestFu.Grammars.IRule"/> collection to select from
+ </param>
+ <returns>
+ Select <see cref="T:TestFu.Grammars.IRule"/> instance
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rules"/> is a null reference
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="rules"/> is empty
+ </exception>
+ </member>
+ <member name="P:TestFu.Grammars.RoundRobinRuleSelector.Index">
+ <summary>
+ Gets or sets the current rule index.
+ </summary>
+ <value>
+ Current rule index
+ </value>
+ </member>
+ <member name="T:TestFu.Grammars.RuleList">
+ <summary>
+ A collection of elements of type IRule
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.#ctor">
+ <summary>
+ Initializes a new empty instance of the RuleList class.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.Add(TestFu.Grammars.IRule)">
+ <summary>
+ Adds an instance of type IRule to the end of this RuleList.
+ </summary>
+ <param name="value">
+ The IRule to be added to the end of this RuleList.
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.Contains(TestFu.Grammars.IRule)">
+ <summary>
+ Determines whether a specfic IRule value is in this RuleList.
+ </summary>
+ <param name="value">
+ The IRule value to locate in this RuleList.
+ </param>
+ <returns>
+ true if value is found in this RuleList;
+ false otherwise.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.Insert(System.Int32,TestFu.Grammars.IRule)">
+ <summary>
+ Inserts an element into the RuleList at the specified index
+ </summary>
+ <param name="index">
+ The index at which the IRule is to be inserted.
+ </param>
+ <param name="value">
+ The IRule to insert.
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.Remove(TestFu.Grammars.IRule)">
+ <summary>
+ Removes the first occurrence of a specific IRule from this RuleList.
+ </summary>
+ <param name="value">
+ The IRule value to remove from this RuleList.
+ </param>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.GetEnumerator">
+ <summary>
+ Returns an enumerator that can iterate through the elements of this RuleList.
+ </summary>
+ <returns>
+ An object that implements System.Collections.IEnumerator.
+ </returns>
+ </member>
+ <member name="P:TestFu.Grammars.RuleList.Item(System.Int32)">
+ <summary>
+ Gets or sets the IRule at the given index in this RuleList.
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.RuleList.Enumerator">
+ <summary>
+ Type-specific enumeration class, used by RuleList.GetEnumerator.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.Enumerator.#ctor(TestFu.Grammars.RuleList)">
+ <summary>
+
+ </summary>
+ <param name="collection"></param>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.Enumerator.MoveNext">
+ <summary>
+
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:TestFu.Grammars.RuleList.Enumerator.Reset">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.RuleList.Enumerator.Current">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="P:TestFu.Grammars.RuleList.Enumerator.System#Collections#IEnumerator#Current">
+ <summary>
+
+ </summary>
+ </member>
+ <member name="T:TestFu.Grammars.Rules">
+ <summary>
+ Static helper class for creating rules.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Alt(TestFu.Grammars.IRule[])">
+ <summary>
+ Creates an alternative of rules.
+ </summary>
+ <param name="rules">
+ Set of rule to choose from alternatively.
+ </param>
+ <remarks>
+ <code>
+ [EBNF]
+ rule := A | B | C
+
+ [C#]
+ IRule rule = Rules.Alt(A,B,C);
+ </code>
+ </remarks>
+ <returns>
+ An <see cref="T:TestFu.Grammars.AlternativeRule"/> instance implementing
+ the alternative rule choosing.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.WeightedAlt(TestFu.Grammars.IRule[])">
+ <summary>
+ Creates a weighted alternative of rules.
+ </summary>
+ <param name="rules">
+ Set of rule to choose from alternatively.
+ </param>
+ <remarks>
+ <para>
+ The <see cref="P:TestFu.Grammars.IRule.Weight"/> property of each rule is used to
+ weight the probability to choose the rule.
+ </para>
+ <code>
+ [EBNF]
+ rule := A | B | C where A is chosen with P(A)=A.Weight / ABC.Weight
+ and ABC.Weight = A.Weight + B.Weight + C.Weight
+
+ [C#]
+ IRule rule = Rules.WeightedAlt(A,B,C);
+ </code>
+ </remarks>
+ <returns>
+ An <see cref="T:TestFu.Grammars.AlternativeRule"/> instance implementing
+ the alternative rule choosing.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Seq(TestFu.Grammars.IRule[])">
+ <summary>
+ Creates a sequence of rules.
+ </summary>
+ <param name="rules">
+ Set of rule to execute in sequence.
+ </param>
+ <remarks>
+ <code>
+ [EBNF]
+ rule := A B C
+
+ [C#]
+ IRule rule = Rules.Seq(A,B,C);
+ </code>
+ </remarks>
+ <returns>
+ An <see cref="T:TestFu.Grammars.SequenceRule"/> instance implementing
+ the sequence of rules.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Opt(TestFu.Grammars.IRule)">
+ <summary>
+ Creates an optional rule.
+ </summary>
+ <param name="rule">
+ Rule to execute optionaly.
+ </param>
+ <remarks>
+ <code>
+ [EBNF]
+ rule := A?
+
+ [C#]
+ IRule rule = Rules.Opt(A);
+ </code>
+ </remarks>
+ <returns>
+ An <see cref="T:TestFu.Grammars.RepetitionRule"/> instance implementing
+ the ? operator.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Pos(TestFu.Grammars.IRule)">
+ <summary>
+ Creates a rule to be execute one or more times.
+ </summary>
+ <param name="rule">
+ Rule to be executed.
+ </param>
+ <remarks>
+ <code>
+ [EBNF]
+ rule := A+
+
+ [C#]
+ IRule rule = Rules.Pos(A);
+ </code>
+ </remarks>
+ <returns>
+ An <see cref="T:TestFu.Grammars.RepetitionRule"/> instance implementing
+ the + operator.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Kleene(TestFu.Grammars.IRule)">
+ <summary>
+ Creates a rule to be execute zero or more times.
+ </summary>
+ <param name="rule">
+ Rule to be executed.
+ </param>
+ <remarks>
+ <code>
+ [EBNF]
+ rule := A*
+
+ [C#]
+ IRule rule = Rules.Kleene(A);
+ </code>
+ </remarks>
+ <returns>
+ An <see cref="T:TestFu.Grammars.RepetitionRule"/> instance implementing
+ the * operator.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Repetition(TestFu.Grammars.IRule,System.Int32,System.Int32)">
+ <summary>
+ Creates a rule to be execute between <paramref name="minOccurence"/>
+ and <paramref name="maxOccurence"/> times.
+ </summary>
+ <param name="rule">
+ Rule to be executed.
+ </param>
+ <remarks>
+ <code>
+ [EBNF]
+ rule := A{m,n}
+
+ [C#]
+ IRule rule = Rules.Repetition(A,m,n);
+ </code>
+ </remarks>
+ <param name="minOccurence">
+ minimum number of execution of <paramref name="rule"/>
+ </param>
+ <param name="maxOccurence">
+ maximum number of execution of <paramref name="rule"/>
+ </param>
+ <returns>
+ An <see cref="T:TestFu.Grammars.RepetitionRule"/> instance implementing
+ the {m,n} operator.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.EventHandler(System.EventHandler)">
+ <summary>
+ Creates a <see cref="T:TestFu.Grammars.IRule"/> that executes an <see cref="M:TestFu.Grammars.Rules.EventHandler(System.EventHandler)"/>.
+ </summary>
+ <param name="handler">
+ <see cref="M:TestFu.Grammars.Rules.EventHandler(System.EventHandler)"/> to execute
+ </param>
+ <returns>
+ <see cref="T:TestFu.Grammars.EventHandlerRule"/> instance that contains <paramref name="handler"/>
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Method(TestFu.Grammars.MethodInvoker)">
+ <summary>
+ Creates a <see cref="T:TestFu.Grammars.IRule"/> that executes an <see cref="T:TestFu.Grammars.MethodInvoker"/>.
+ </summary>
+ <param name="del">
+ <see cref="T:TestFu.Grammars.MethodInvoker"/> to execute
+ </param>
+ <returns>
+ <see cref="T:TestFu.Grammars.MethodInvokerRule"/> instance that contains
+ <paramref name="del"/>
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Method(TestFu.Grammars.ProductionTokenDelegate)">
+ <summary>
+ Creates a <see cref="T:TestFu.Grammars.IRule"/> that executes an <see cref="T:TestFu.Grammars.ProductionTokenDelegate"/>.
+ </summary>
+ <param name="del">
+ <see cref="T:TestFu.Grammars.ProductionTokenDelegate"/> to execute
+ </param>
+ <returns>
+ <see cref="T:TestFu.Grammars.ProductionTokenDelegateRule"/> instance that contains
+ <paramref name="del"/>
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.Guard(TestFu.Grammars.IRule,System.Type)">
+ <summary>
+ Guards the execution of a <see cref="T:TestFu.Grammars.IRule"/> from an expected
+ <see cref="T:System.Exception"/> type.
+ </summary>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> instance to guard.
+ </param>
+ <param name="exceptionType">
+ Expected throwed exception when <paramref name="rule"/> is executed
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Grammars.GuardedRule"/> instance guarding <paramref name="rule"/>
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.If(TestFu.Grammars.IPredicate,TestFu.Grammars.IRule)">
+ <summary>
+ Creates a conditional rule with "if" rule.
+ </summary>
+ <param name="cond">
+ Condition expression
+ </param>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is true.
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Grammars.ConditionalRule"/> implementing condition rule execution.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.If(TestFu.Grammars.IPredicate,TestFu.Grammars.IRule,TestFu.Grammars.IRule)">
+ <summary>
+ Creates a conditional rule with "if" rule and "else" rule.
+ </summary>
+ <param name="cond">
+ Condition expression
+ </param>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is true.
+ </param>
+ <param name="elseRule">
+ <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is false.
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Grammars.ConditionalRule"/> implementing condition rule execution.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.If(TestFu.Grammars.ConditionDelegate,TestFu.Grammars.IRule,TestFu.Grammars.IRule)">
+ <summary>
+ Creates a conditional rule with "if" rule.
+ </summary>
+ <param name="cond">
+ Condition expression
+ </param>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is true.
+ </param>
+ <param name="elseRule">
+ <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is false.
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Grammars.ConditionalRule"/> implementing condition rule execution.
+ </returns>
+ </member>
+ <member name="M:TestFu.Grammars.Rules.If(TestFu.Grammars.ConditionDelegate,TestFu.Grammars.IRule)">
+ <summary>
+ Creates a conditional rule with "if" rule and "else" rule.
+ </summary>
+ <param name="cond">
+ Condition expression
+ </param>
+ <param name="rule">
+ <see cref="T:TestFu.Grammars.IRule"/> to execute if condition is true.
+ </param>
+ <returns>
+ A <see cref="T:TestFu.Grammars.ConditionalRule"/> implementing condition rule execution.
+ </returns>
+ </member>
+ <member name="T:TestFu.Grammars.SequenceRule">
+ <summary>
+ A sequence of rules.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.SequenceRule.Produce(TestFu.Grammars.IProductionToken)">
+ <summary>
+ Executes sub-rule production in sequence.
+ </summary>
+ <param name="token">
+ <see cref="T:TestFu.Grammars.IProductionToken"/> to authorize production.
+ </param>
+ </member>
+ <member name="T:TestFu.Grammars.WeightedRandomRuleSelector">
+ <summary>
+ Weighted random rule selector.
+ </summary>
+ </member>
+ <member name="M:TestFu.Grammars.WeightedRandomRuleSelector.Select(TestFu.Grammars.IRule[])">
+ <summary>
+ Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
+ </summary>
+ <param name="rules">
+ <see cref="T:TestFu.Grammars.IRule"/> array to select from
+ </param>
+ <returns>
+ Select <see cref="T:TestFu.Grammars.IRule"/> instance
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rules"/> is a null reference
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="rules"/> is empty
+ </exception>
+ </member>
+ <member name="M:TestFu.Grammars.WeightedRandomRuleSelector.Select(TestFu.Grammars.IRuleCollection)">
+ <summary>
+ Select a <see cref="T:TestFu.Grammars.IRule"/> from <paramref name="rules"/>
+ </summary>
+ <param name="rules">
+ <see cref="T:TestFu.Grammars.IRule"/> collection to select from
+ </param>
+ <returns>
+ Select <see cref="T:TestFu.Grammars.IRule"/> instance
+ </returns>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="rules"/> is a null reference
+ </exception>
+ <exception cref="T:System.ArgumentException">
+ <paramref name="rules"/> is empty
+ </exception>
+ </member>
+ <member name="T:TestFu.NamespaceDoc">
+ <summary>
+ <para>
+ <em><b>TestFu</b>, the Art of Testing.</em>
+ </para>
+ <para>
+ The <b>TestFu</b> assembly contains a bunch of framework to help
+ developper build automated tests using random generators,
+ models, grammars, etc...
+ </para>
+ </summary>
+ </member>
+ <member name="T:TestFu.Tests.Operations.NamespaceDoc">
+ <summary>
+ <para>
+ The <b>TestFu.Operations</b> namespace contains classes for building
+ Combinatorial Test suites.
+ </para>
+ <para>
+ The algorithms for generating the covergate suites are extracted
+ from <em>Efficient Algorithms for Generation of Combinatorial Covering Suites</em>,
+ by Adrian Dumitrescu.
+ </para>
+ </summary>
+ </member>
+ <member name="T:TestFu.Operations.Permutation">
+ <summary>
+ A class to generate permutations.
+ </summary>
+ <remarks>
+ <para>
+ This class can generate any sequence of permutation of order <see cref="P:TestFu.Operations.Permutation.Order"/>.
+ The <see cref="M:TestFu.Operations.Permutation.GetSuccessor"/> method returns the next permutation, while
+ <see cref="M:TestFu.Operations.Permutation.GetSuccessors"/> can be used to iterates all the rest of the permutations.
+ </para>
+ <para>
+ The permutation can be applied to an array using <see cref="M:TestFu.Operations.Permutation.ApplyTo(System.Object[])"/>, it can also
+ be inverted using <see cref="M:TestFu.Operations.Permutation.Inverse"/>.
+ </para>
+ <para>
+ This class was extracted from
+ <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/permutations.asp">
+ <em>Using Permutations in .NET for Improved Systems Security</em> by
+ Dr. James McCaffrey.
+ </a>
+ </para>
+ </remarks>
+ </member>
+ <member name="M:TestFu.Operations.Permutation.#ctor(System.Int32)">
+ <summary>
+ Creates a new idenity permutation
+ </summary>
+ <param name="n">
+ order of the new permutation
+ </param>
+ </member>
+ <member name="M:TestFu.Operations.Permutation.#ctor(System.Int32,System.Int32)">
+ <summary>
+ Creates the <paramref name="k"/>-th permutation of
+ order <paramref name="n"/>.
+ </summary>
+ <param name="n"></param>
+ <param name="k"></param>
+ </member>
+ <member name="M:TestFu.Operations.Permutation.CheckPermutation">
+ <summary>
+ Checks that the permutation is correct
+ </summary>
+ </member>
+ <member name="M:TestFu.Operations.Permutation.ToString">
+ <summary>
+ Converts the permutation to a string representation.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:TestFu.Operations.Permutation.ApplyTo(System.Object[])">
+ <summary>
+ Applis the permutation to the array
+ </summary>
+ <param name="arr">
+ A <see cref="T:System.Object"/> array of Length equal
+ to <see cref="P:TestFu.Operations.Permutation.Order"/>.</param>
+ <returns>
+ A new array containing the permutated element of <paramref name="arr"/>
+ </returns>
+ </member>
+ <member name="M:TestFu.Operations.Permutation.Inverse">
+ <summary>
+ Creates the inverse of the permutation.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:TestFu.Operations.Permutation.GetSuccessor">
+ <summary>
+ Creates the next permutation in lexicographic order.
+ </summary>
+ <returns>
+ The next <see cref="T:TestFu.Operations.Permutation"/> instance if there remain any;
+ otherwize a null reference.
+ </returns>
+ </member>
+ <member name="M:TestFu.Operations.Permutation.GetSuccessors">
+ <summary>
+ Gets an enumerable collection of <see cref="T:TestFu.Operations.Permutation"/> successors.
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="P:TestFu.Operations.Permutation.Order">
+ <summary>
+ Gets the order of the permutation
+ </summary>
+ <value></value>
+ </member>
+ </members>
+</doc>