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