diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/CustomParsing/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/CustomParsing/content.txt
new file mode 100644
index 0000000000..a1cede903a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/CustomParsing/content.txt
@@ -0,0 +1,68 @@
+!1 Parsing
+#
+''!-FitLibrary-!'' turns the text in a table cell into a value, such as an ''int'', ''String'' or ''Date''.
+
+However, sometimes:
+
+ * You want to handle text in a special way. Eg, you want to treat "" or "null" as a null value rather than as a normal ''String''.
+ * You want to use simple text to represent objects of your own types
+
+''!-FitLibrary-!'' provides several mechanisms to cover these.
+
+!3 Handling Special values with a ''Finder Method''
+
+For example, if we want to treat the text "null" in a table cell as representing '''null''', rather than the String "null", we can use a finder method.
+
+In your fixturing code, include the following method:
+{{{ public String findString(String s) {
+ if ("null".equals(s))
+ return null;
+ return s;
+ }
+}}} * ''!-FitLibrary-!'' finds a method corresponding to an action.
+ * It automatically parses the arguments, based on their types, and calls the method.
+ * It also uses this approach for the returned value, based on the return type.
+
+By default, it uses built-in Parsers for the standard types. However:
+
+ * It first checks if there is a ''finder method'' for each type in the fixturing code (actually, generally in scope, as discussed below).
+ * For type ''T'', the ''finder method'' is ''findT(String s)'' with a return type.
+ * If a ''finder method'' exists, ''!-FitLibrary-!'' instead uses that to turn the text from the table cell into an object.
+ * This works for any table in ''!-FitLibrary-!''
+
+Consider another example, where we want to handle ''!-TimeStamp-!'' values in a special way. We would include a ''finder method'' for it:
+{{{ public TimeStamp findTimeStamp(String s) {
+ ...
+ }
+}}}This can then incorporate specialised code for handling odd ''!-TimeStamp-!''s, such as unknown ones.
+
+There is a corresponding method for displaying an object, a ''show method''.
+
+For example, if we wanted to show a '''null''' String as a empty String in any displays in a report, we could include the following method:
+{{{ public String showString(String s) {
+ if (s == null)
+ return "";
+ return s;
+ }
+}}}
+#
+Why is it called a ''finder method''.
+
+I originally added this capability to allow for a domain-driven-design approach to storytests.
+
+Sometimes you need to refer to an existing entity in a storytest. But it may not be possible to refer to it by a visible key, or the key may be too long.
+
+So the idea is that you can invent names to refer to entities, such as "the customer", or "the third transaction". The ''finder method'' interprets these names for you, returning a reference to the appropriate object.
+
+After I added this, I realised that it could also be used for parsing arbitrary text for types with concrete values, such as dates and user-defined types. So I now use finders for those cases as well.
+
+What if a ''finder method'' needs to apply across lots of fixtures? Rather than repeating the finder code, you can include it in a custom global actions object. See .FitLibrary.SpecifiCations.AddingGlobalActionsObject for further details.
+
+!3 Parsing with user-defined classes
+#
+Instead of using ''finder methods'', it's possible to define a static method in your class C of the form:
+
+{{{ public static C parser(String s) {
+ ...
+ }
+}}}This is called by ''!-FitLibrary-!'' to turn text into an object of type C.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/CustomParsing/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/CustomParsing/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/CustomParsing/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/DynamicVariables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/DynamicVariables/content.txt
new file mode 100644
index 0000000000..1f4da618be
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/DynamicVariables/content.txt
@@ -0,0 +1,49 @@
+Dynamic variables allow for storytests to take different values, depending on the values that have been defined.
+
+As a general rule, it's better to set a single value to a ''dynamic variable''.
+
+ * Rather than using an !-!include-! and revising the value of variables and dynamic variables to alter the contents of the !-!include-!, make use of ''defined actions'' with appropriate parameters.
+
+Dynamic variables can be loaded from a properties file, as well as being set within storytests.
+!2 Using Dynamic variables
+ * The value of a dynamic variable is accessed using the @{} form. Eg:
+
+|''with''|//input|''set text''|@{simone.name}|
+
+ * They may be nested, such as within ''defined actions''. Eg, where ''person'' is a parameter, the value of the variable is resolved before resolving the dynamic variable value:
+
+|''with''|//input|''set text''|@{@{person}.name}|
+
+ * To show the value of one or more dynamic variables:
+
+|'''show'''|''get''|@{simone.name} with card @{simone.credit card.number}|
+
+ * If a dynamic variable doesn't have a value, the @{} form remains
+!2 Changing Dynamic variables
+ * Load dynamic variables from a property file:
+
+|''add dynamic variables from file''|c:/props.txt|
+
+ * Load dynamic variables from a unicode-based property file:
+
+|''add dynamic variables from unicode file''|c:/props.uni|
+
+ * Set a dynamic variable to a string in a storytest:
+
+|'''set'''|simone.name|''to''|Simone|
+
+ * Set a dynamic variable to the result of an action:
+
+|'''set'''|simone.id|''add''|Simone|''to''|Persons|
+
+ * Set several dynamic variables at once in a storytest:
+
+|''set variables''|
+|simone.name|Simone|
+|simone.credit card.number|41111111|
+
+ * Clear all dynamic properties:
+
+|''clear dynamic variables''|
+!2 Specification
+|.FitLibrary.SpecifiCations.DynamicVariables|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/DynamicVariables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/DynamicVariables/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/DynamicVariables/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/FixtureLogging/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/FixtureLogging/content.txt
new file mode 100644
index 0000000000..f6f348de6c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/FixtureLogging/content.txt
@@ -0,0 +1,86 @@
+!1 2. In Fixturing/Code
+#
+Several techniques can be used at the fixturing/code level. The first, ''Print'', is quick, but can often be unsatisfactory.
+#
+----!2 2.1 Print
+#
+ Use {{{ System.out.println();}}} to print information. For example, consider the following tables:
+
+!|fitlibrary.specify.log.LogExampleFromFixture|
+
+|''action that prints''|log4j|
+
+|''action that prints''|text|
+
+The underlying method as as follows:{{{ public boolean actionThatPrints(String s) {
+ System.out.println("Output "+s);
+ return true;
+ }
+}}}The output from this is available after running a '''Test''' or '''Suite'''.
+
+ * The output is accessed from the ''Output Captured'' button in the top-right-hand corner of the report.
+ * You can see that if you run this as a '''Test'''.
+ * The ''Output Captured'' button is only shown in a report if there is some output.
+
+The output is "escaped" so that any HTML is shown as the literal text rather than being displayed by the browser (eg, you see "text" rather than "''text''").
+
+ * But sometimes it can be more convenient to be able to structure displayed information, such as in a list or table.
+
+The major disadvantage of the ''Print'' approach is that you need to flip back and forth between the storytest and the output in order to understand what's going on.
+
+ * This can be avoided by printing extra information so that you can see what-happens-when in relation to the tables.
+ * But that's extra work, repeating information and losing the advantage of the report information being displayed directly in the tables.
+#
+----!2 2.2 show()
+#
+Fixturing code can call the ''show()'' method to have information shown in the current row:
+
+|''action that shows''|AFTER all|
+
+The underlying method is in a subclass of ''!-DoFixture-!'':{{{ public void actionThatShows(String s) {
+ show(s);
+ }
+}}}If your class is not a subclass of ''!-DoFixture-!'' (or equivalent) but is being used as a fixturing class (ie, so that ''!-FitLibrary-!'' auto-wraps it in a ''!-DoFixture-!''), you need to do a little more.
+
+ * You can access the ''show()'' method by having your class ''implement !-RuntimeContextual-!'' so that it has a runtime injected into it.
+ * The runtime has a ''show()'' method.
+
+If your class is neither of those, then it's not possible to use this method. However, the some of the later techniques do apply.
+#
+----!2 2.3 showAfterTable()
+#
+Fixturing code can call the ''showAsAfterTable()'' method to have information shown after the table:
+
+|''action that shows after table''|AFTER all|
+
+The underlying method is in a subclass of ''!-DoFixture-!'':{{{ public void actionThatShowsAfterTable(String s) {
+ showAsAfterTable("My Log", s);
+ }
+}}}If your class is not a subclass of ''!-DoFixture-!'' (or equivalent) but is being used as a fixturing class (ie, so that ''!-FitLibrary-!'' auto-wraps it in a ''!-DoFixture-!''), you need to do a little more.
+
+ * You can access the ''showAsAfterTable()'' method by having your class ''implement !-RuntimeContextual-!'' so that it has a runtime injected into it.
+ * The runtime has a ''showAsAfterTable()'' method.
+
+If your class is neither of those, then it's not possible to use this method. However, the next two techniques do apply.
+#
+----!2 2.4 Request '''show''' when things go wrong
+#
+If an error is discovered by your fixture code, it can throw a ''!-FitLibraryShowException-!''. This will be caught by ''!-FitLibrary-!'' and the information will be shown after the current table.
+
+This is useful when the information displayed is best structured with HTML.
+
+For example, consider the following action:
+
+|''action that shows on error''|bad data|
+
+|''action that shows on error''|
|
+
+The underlying method is:{{{ public void actionThatShows(String s) {
+ throw new FitLibraryShowException(new Show(s));
+ }
+}}}The class concerned can be any class at all. It does not need to be a subclass of ''!-DoFixture-!'', for example.
+#
+----!2 Next
+#
+On the [[next page of this tutorial][Log4jLogging]] we show how to handle logging with ''log4j'' from within code, and how to configure logging through storytest actions.
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/FixtureLogging/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/FixtureLogging/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/FixtureLogging/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/ExampleFixturingLogger/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/ExampleFixturingLogger/content.txt
new file mode 100644
index 0000000000..2801496661
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/ExampleFixturingLogger/content.txt
@@ -0,0 +1,41 @@
+This is very similar to the last example, but a different logger is used: ''!-FixturingLogger-!''.
+
+!|fitlibrary.specify.log.AppWithFixturingLogger|
+
+The above fixturing code is as follows:
+{{{ public class AppWithFixturingLogger {
+ private static Logger logger = FixturingLogger.getLogger(AppWithLog4j.class);
+
+ public boolean call() {
+ logger.trace("App called");
+ return true;
+ }
+ }
+}}}
+|''with fixturing logger''|
+|''level''|TRACE|
+|''show after''|true|
+
+ * On ''Test'', the following has text added after the table, because we've enabled ''show after'' and the level is TRACE:
+
+|''call''|
+
+|''with fixturing logger''|
+|''level''|DEBUG|
+
+ * The following does not add text because the level is DEBUG, so trace() calls are not shown:
+
+|''call''|
+
+|''with fixturing logger''|
+|''level''|TRACE|
+|''show after''|false|
+
+ * The following does not add text because we've disabled ''show after'':
+
+|''call''|
+
+#
+----!1 Next
+#
+Continue with the [[rest of the tutorial here][
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/ExampleLog4j/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/ExampleLog4j/content.txt
new file mode 100644
index 0000000000..b5cdbb5596
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/ExampleLog4j/content.txt
@@ -0,0 +1,56 @@
+!|fitlibrary.specify.log.AppWithLog4j|
+
+The above fixture refers to an object of class ''!-AppWithLog4j-!'', as follows:
+{{{ public class AppWithLog4j {
+ private static Logger logger = Logger.getLogger(AppWithLog4j.class);
+
+ public boolean call() {
+ logger.trace("App called");
+ return true;
+ }
+ public void alsoShowFixturingInNormalLog(boolean delegate) {
+ FixturingLogger.setDelegatingToNormalLogger(delegate);
+ }
+ public void alsoShowFitLibraryInNormalLog(boolean delegate) {
+ FitLibraryLogger.setDelegatingToNormalLogger(delegate);
+ }
+ }
+}}}The action ''call into application'' calls the method ''call()'' above.
+
+The last 2 methods above illustrate how to redirect these other loggers to the normal log4j logger. This may be useful if you want to interweave normal logging with the other specialised loggers.
+
+|''with log4j''|
+|''show after''|true|
+|''level''|TRACE|
+
+ * On ''Test'', the following has text added after the table, because we've enabled ''show after'' and the level is TRACE:
+
+|''call''|
+
+|''!-with FitLibrary logger-!''|
+|''level''|TRACE|
+
+|''call''|
+
+|''!-with FitLibrary logger-!''|
+|''level''|OFF|
+
+|''with log4j''|
+|''level''|DEBUG|
+
+ * The following does not add text because the level is DEBUG, so trace() calls are not shown:
+
+|''call''|
+
+|''with log4j''|
+|''level''|TRACE|
+|''show after''|false|
+
+ * The following does not add text because we've disabled ''show after'':
+
+|''call''|
+
+#
+----!1 Next
+#
+Continue with the [[rest of the tutorial here][
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/FitLibraryLog4j/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/FitLibraryLog4j/content.txt
new file mode 100644
index 0000000000..4eaadacfda
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/FitLibraryLog4j/content.txt
@@ -0,0 +1,54 @@
+!|fitlibrary.specify.log.AppWithLog4j|
+
+We need to add the following table afer our main fixture, otherwise the ''!-configure FitLibrary logger-!'' will take control of the storytest.
+
+|''!-with FitLibrary logger-!''|
+|''show after''|true|
+|''level''|TRACE|
+
+The above fixture is as follows:
+{{{ public class AppWithLog4j {
+ private static Logger logger = Logger.getLogger(AppWithLog4j.class);
+
+ public boolean call() {
+ logger.trace("App called");
+ return true;
+ }
+ }
+}}}The action ''call into application'' calls the method ''call()'' above.
+
+|''with log4j''|
+|''show after''|true|
+|''level''|TRACE|
+
+ * On ''Test'', the following has text added after the table, because we've enabled ''show after'' and the level is TRACE:
+
+|''call''|
+
+|''with log4j''|
+|''level''|DEBUG|
+
+ * The following only adds logging from ''!-FitLibrary-!'' because the level of log4j is DEBUG, so trace() calls are not shown:
+
+|''call''|
+
+ * Note that the following only turns off the logging into ''show after'' (by removing the appender); it does not have any other impact on logging with log4j.
+
+|''with log4j''|
+|''show after''|false|
+
+|''!-with FitLibrary logger-!''|
+|''show after''|false|
+
+ * The following does not add text because we've disabled ''show after'' for both loggers:
+
+|''call''|
+
+!2 Notice:
+#
+It pays to turn off all logging into ''show after'' at the end of the storytest, so that it doesn't affect other storytests.
+
+#
+----!1 Next
+#
+Return to the [[last page of the tutorial here][
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/RoutingLogger/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/RoutingLogger/content.txt
new file mode 100644
index 0000000000..620809137d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/RoutingLogger/content.txt
@@ -0,0 +1,54 @@
+This is very similar to the last example, but we ensure that all logs are '''also''' routed to the normal log4j.
+
+!|fitlibrary.specify.log.AppWithFixturingLogger|
+
+We use this action to do it:
+
+|''route logging''|
+
+The above fixturing code is as follows:
+{{{ public class AppWithFixturingLogger {
+ private static Logger logger = FixturingLogger.getLogger(AppWithLog4j.class);
+
+ public boolean call() {
+ logger.trace("App called");
+ return true;
+ }
+ public void routeLogging() {
+ Logger.getRootLogger().setLevel(Level.ALL);
+ Logger.getRootLogger().addAppender(new ConsoleAppender(new SimpleLayout()));
+ FixturingLogger.setDelegatingToNormalLogger(true);
+ }
+ }
+}}}
+|''with fixturing logger''|
+|''level''|TRACE|
+
+ * On ''Test'', the following has text added after the table, because we've enabled ''show after'' and the level is TRACE:
+
+|''call''|
+
+|''with fixturing logger''|
+|''level''|DEBUG|
+
+ * The following does not add text after the table because the level is DEBUG, so trace() calls are not shown there:
+
+|''call''|
+
+|''with fixturing logger''|
+|''level''|TRACE|
+|''show after''|false|
+
+ * The following does not add text after the table because we've disabled ''show after'':
+
+|''call''|
+#
+!2 Routed logs
+#
+Notice that while we have reconfigured the ''fixturing logger'' at several points above, the normal ''log4j logger'' is unaltered and so it continues to log to the console.
+
+See ''Output Captured'' after running this storytest to see the logs that were directed to the console.
+#
+----!1 Next
+#
+Continue with the [[rest of the tutorial here][
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/content.txt
new file mode 100644
index 0000000000..04f80418c2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/content.txt
@@ -0,0 +1,127 @@
+!1 3. log4j logging
+#
+There are three aspects to logging with log4j when using ''!-FitLibrary-!''.
+
+ * Sections 3.3, 3.4 and 3.5 apply whether you're currently using log4j or not.
+ * Sections 3.1, 3.2 and 3.6 are only relevant to you if you're currently using log4j for logging in your application.
+
+We assume familiarity with log4j. See the manual that's part of the log4j download for a good introduction.
+
+If you use another logging system, and would like to be able to hook it into ''show after'' as in 3.1 below:
+
+ * Contact me and I can add a plugin mechanism to allow it. Rick Mugridge (rick at rimuresearch.com).
+#
+----!2 3.1 Appending log4j output after tables
+#
+If you're having trouble working out what's going on (or wrong) in a storytest and/or your code, you may find it convenient to have your log4j logs appended after !-FitLibrary-! tables.
+
+To start this, add the following action to the top of your storytest, just after the table that specifies the main fixture (''false'' stops it):
+
+|''with log4j''|
+|''show after''|true|
+
+This adds a special log4j ''Appender'' that will display log information in the report. (See the log4j docs for details of ''Appender''s if you're interested.)
+
+ * This will not affect other appenders that you use in your application, such as writing to a log file.
+ * You configure logging to be enabled in log4j in the usual manner in order for logs to appear.
+
+When ''!-FitLibrary-!'' runs a storytest with ''show after'' turned on for log4j.
+
+ * All the logging information that arrives while a table is executing will be appended to that table.
+ * The logging is thread-safe, so it will handle logging from several threads at once.
+ * Any logging that occurs after the storytest finished will not be shown in the report.
+
+Log4j levels can also be controller with the following actions, for example:
+
+|''with log4j''|
+|''level''|DEBUG|''for''|''com.corp.us.app.pck''|
+
+or, for all:
+
+|''with log4j''|
+|''level''|TRACE|
+
+Note that this is a global setting; it's not specific to a storytest and so will affect subsequent storytests in a suite. It's assumed that it will normally be used with a single storytest while investigating its behaviour.
+
+With careful use of packages (or other log4j ''names''), you can easily tailor the logs that are collected and thus shown after tables.
+
+See [[this page for an example][^ExampleLog4j]]
+#
+----!2 3.2 Logging to log4j from fixture code
+#
+Fixturing code can call the ''logText()'' method to have information logged with log4j (it will only show up if logging in normal log4j is enabled):
+
+|''action that logs''|logging to go to log4j|
+
+The underlying method is in a subclass of ''!-DoFixture-!'':{{{ public void actionThatLogs(String s) {
+ logText(s);
+ }
+}}}#
+----!2 3.3 Using !-FixturingLogger-! in your fixture
+#
+Here's how to use it in your fixture code if:
+
+ * You don't use log4j in your application code, or
+ * You prefer to keep your fixture and application logging completely separate
+
+Similar actions to those above apply. However, it uses a separate "name space" so that its logging does not affect normal uses of log4j.
+
+See [[this page for an example][>ExampleFixturingLogger]]
+
+!-FixturingLogger-! is used by some of the fixtures in ''!-FitLibraryWeb-!'', such as for ''web services''.
+#
+----!2 3.4 Logging of ''!-FitLibrary-!'' itself
+#
+''!-FitLibrary-!'' uses log4j for logging as well. However, it uses another, separate "name space" so that its logging does not affect normal uses of log4j.
+
+You may like to turn on the logging in ''!-FitLibrary-!'' so you can see what it's doing. For example:
+
+|''!-with FitLibrary logger-!''|
+|''level''|TRACE|
+|''show after''|true|
+
+See [[this page for an example][^FitLibraryLog4j]]
+#
+----!2 3.5 Configuring ''!-FitLibraryLogger-!'' and ''!-FixturingLogger-!'' from property files
+#
+Two property files in the ''fitnesse'' directory (at the same level as ''!-FitNesseRoot-!'') are used to configure ''!-FitLibraryLogger-!'' and ''!-FixturingLogger-!'':
+
+ * !-FitLibraryLogger.properties-!
+ * !-FixturingLogger.properties-!
+
+These use the standard log4j property configuration format, but are instead applied to the specialised loggers ''!-FitLibraryLogger-!'' and ''!-FixturingLogger-!''.
+
+These two files are both the same (as provided), as follows:
+{{{ log4j.rootLogger=OFF,consoleAppender
+ log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
+ log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
+ log4j.appender.consoleAppender.layout.ConversionPattern=%r [%t] %-5p %c %x - %m%n
+ log4j.appender.fileAppender=org.apache.log4j.RollingFileAppender
+ log4j.appender.fileAppender.File=logForFitLibrary.txt
+ log4j.appender.fileAppender.MaxFileSize=10MB
+ log4j.appender.fileAppender.MaxBackupIndex=1
+ log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
+ log4j.appender.fileAppender.layout.ConversionPattern=%r [%t] %-5p %c %x - %m%n
+}}}To turn on logging to the console, change the first line to:
+{{{ log4j.rootLogger=ALL,consoleAppender
+}}}To just turn on logging after tables, change the first line to:
+{{{ log4j.rootLogger=ALL
+}}}To just turn on file logging, change the first line to:
+{{{ log4j.rootLogger=ALL,fileAppender
+}}}This may be helpful if a '''Test''' or '''Suite''' doesn't complete, as it will log all the communications that ''!-FitLibraryServer-!'' has with ''!-FitNesse-!''.
+
+You may want to also change the name of the logging file, and various other attributes. See the log4j documentation for details.
+
+To turn on after-table, console and file logging, change the first line to:
+{{{ log4j.rootLogger=ALL,consoleAppender,fileAppender
+}}}#
+----!2 3.6 Routing to Standard log4j
+#
+The logging from ''!-FitLibraryLogger-!'' and/or ''!-FixturingLogger-!'' can be routed to the standard log4j:
+
+ * So that you can include it in your usual log files, etc.
+ * This is done at the code level. See [[this page for an example][>RoutingLogger]].
+#
+!1 The End
+#
+That's the end of this tutorial on logging.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/properties.xml
new file mode 100644
index 0000000000..56af35643c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/Log4jLogging/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/content.txt
new file mode 100644
index 0000000000..78073d2fab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/content.txt
@@ -0,0 +1,90 @@
+It can be helpful to add logging to understand what's going on with storytests, and especially when something does not seem right.
+
+In this tutorial we show how to add logging at the storytest and at the fixturing/code level. We start with the storytest level.
+#
+!1 1. In Storytests
+#
+Several techniques can be used at the storytest level without further support at the fixturing/code level.
+#
+----!2 1.1 Show with actions
+#
+Use the '''show''' special action to display the value of an action directly in the report.
+
+For example, the action in the second table below results in "My result". This is displayed at the end of the row:
+
+!|fitlibrary.specify.log.LogExample|
+
+|'''show'''|''some action''|
+
+Here the output of the action contains HTML ("text"), so it is rendered by the browser:
+
+|'''show'''|''some action with html''|
+
+This can be convenient if you want to organise the data or highlight it in some way. For example, tabular data may be displayed in an HTML table.
+
+However, if you want to see the literal form, use '''show escaped''':
+
+|'''show escaped'''|''some action with html''|
+#
+----!2 1.2 Show with dynamic variables
+#
+We can show the value of a dynamic variable as well. Eg:
+
+|'''set'''|colour|''to''|red|
+
+|'''show'''|''get''|roses are @{colour}|
+
+|''get''|roses are @{colour}|'''is'''|roses are red|
+#
+----!2 1.3 Show After
+#
+This approach is convenient when you don't expect to look at the logged result very often, or it's long, so you don't want it visually cluttering up the report.
+
+'''show after''' includes the result of the action in a folding area after the table.
+
+|'''show after'''|some action|
+|'''show after'''|''some action with html''|
+
+To simply include some text, use the ''get'' action, which just returns that text supplied to it:
+
+|'''show after'''|''get''|Some text|
+#
+----!2 1.4 Show After As
+#
+If there's lot of information, or different categories of information, it may be worth segmenting the '''show after''' logs into different folding areas.
+
+'''show after as''' includes name of the folding area as the first argument and provided the result of the action (such as ''some action'' below) in a named folding area after the table.
+
+|'''show after as'''|Other Log|some action|
+|'''show after as'''|Further Log|''some action with html''|
+|'''show after as'''|Other Log|''some action with html''|
+
+To simply include some text, use:
+
+|'''show after as'''|Other Log|''get''|Some text|
+#
+----!2 1.5 Log Text
+#
+If you want timing information included, or want to also log to a file (or elsewhere), this is a useful approach.
+
+'''logged''' logs the result of the action (such as ''some action'' below) in a folding area after the table. See later in this tutorial (2 pages on) for how to have this also logged to a file (or elsewhere).
+
+|'''logged'''|some action|
+|'''logged'''|''some action with html''|
+|'''logged'''|''some action with html''|
+
+You can also put '''logged''' at the end of the row:
+
+|some action|'''logged'''|
+
+To simply include some text, use:
+
+|'''logged'''|''get''|Some text|
+
+or
+
+|''log text''|Some text|
+#
+----!2 Next
+#
+On the [[next page of this tutorial][^FixtureLogging]] we show how to handle logging from the fixture/code level.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/LoggingTechniques/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MigratingSlimDecisionTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MigratingSlimDecisionTables/content.txt
new file mode 100644
index 0000000000..e71f1042f1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MigratingSlimDecisionTables/content.txt
@@ -0,0 +1,49 @@
+!2 When is it easy to migrate decision tables?
+#
+Slim storytests that only use decision tables can be easily migrated to ''!-FitLibrary-!'' when:
+
+ * The fixtures are written in Java
+ * Use is '''not''' made of the following in cells in the tables
+ * 3 < _ < 6
+ * ~=3.14
+ * < 5
+ * != 4
+ * $p=
+ * $p
+
+ * No use is made of the ''table()'' method in the fixture code
+#
+!2 Why bother?
+#
+Scenarios in Slim are limited to containing ''Script Tables'', so it doesn't help with repetition in decision tables.
+
+''!-FitLibrary-!'' has something similar to scenarios, called [[''defined actions''][.FitLibrary.UserGuide.FitLibraryByExample.DefinedActions]], but they're superior as they can contain any tables.
+
+''!-FitLibrary-!'' has other capability that you may like to use, such as ''!-FitLibraryWeb-!'' fixtures for testing web systems (''!-SpiderFixture-!''), email, PDFs, databases, etc.
+#
+!2 How to change
+#
+There are four simple step:
+
+1. In the top-level page of your projects, add the following:
+#
+{{{!define TEST_RUNNER {fitlibrary.suite.FitLibraryServer}
+}}}2. Remove the following:
+#
+{{{!define TEST_SYSTEM(slim}
+}}}#
+#
+3. Add the classpath for fitlibrary.jar:
+#
+{{{!path fitlibrary.jar
+}}}4. Finally, with your fixture classes, have them implement the Java interface ''!-RuleTable-!''.
+
+ * This is an empty ''interface'' that's used a marker so that ''!-FitLibrary-!'' can tell that the table should be treated as a decision table.
+#
+!2 For example
+#
+!|fitlibrary.specify.calculate.RuleTableExample|
+|in|in2|out?|
+|1|1|2|
+|2|2|4|
+|3|4|7|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MigratingSlimDecisionTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MigratingSlimDecisionTables/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MigratingSlimDecisionTables/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MultipleFlowObjects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MultipleFlowObjects/content.txt
new file mode 100644
index 0000000000..2b76047135
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MultipleFlowObjects/content.txt
@@ -0,0 +1,35 @@
+A storytest may need to check/update different sub-systems or systems in order to carry out a test.
+
+For example:
+
+ * It may be interacting through a web browser but also also checking a database.
+ * It may be calling a web service, checking email has been sent, and verifying that the PDF attached to the email is correct.
+ * It may be calling several different web services
+ * It may be interacting with several distinct subsystems, through their APIs
+
+Let's continue with the browser/database example, for now:
+
+... TO BE COMPLETED
+
+But what happens if the actions of two flow objects are the same? This would happen if we were using two web services, for example.
+
+As we see in the next example, it's necessary to explicitly select between them:
+
+|''add''|!-fitlibrary.specify.select.FirstSelect-!|''as''|first|
+|''add''|!-fitlibrary.specify.select.SecondSelect-!|''as''|second|
+
+|''select''|first|
+
+|''count''|'''is'''|1|
+
+|''select''|second|
+
+|''count''|'''is'''|2|
+
+|''select''|first|
+
+|''count''|'''is'''|1|
+
+|''select''|second|
+
+|''count''|'''is'''|2|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MultipleFlowObjects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MultipleFlowObjects/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/MultipleFlowObjects/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/RuntimeInjection/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/RuntimeInjection/content.txt
new file mode 100644
index 0000000000..d703e8ffde
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/RuntimeInjection/content.txt
@@ -0,0 +1,20 @@
+It's possible, of course, to use a fixture directly, by calling its methods in code.
+
+However, it's assumed in ''!-FitLibrary-!'' that the underlying framework will inject a runtime into all fixture objects. The runtime contains such information as:
+
+ * Values of dynamic variables
+ * Values of time-outs
+ * Defined actions
+ * References to the global action object, which provides methods for dealing with dynamic variables and etc
+
+If you try to use a fixture programmatically you may get an error "Runtime has not been injected into this". Here's the fix:
+
+After you create your fixture object, explicitly inject a runtime into it. Eg:
+----{{{MyDoFixture doF = new MyDoFixture();
+doF.setRuntime(new RuntimeContextContainer());
+}}}----
+Now it's possible for this to be done automatically, and this will be added later. I don't want to do it automatically at this stage because it will hide any other potential problems with runtime.
+
+!**> Note for Rick
+!2 Don't rename this page as it's referenced from within the code at Traverse.getRuntimeContext()
+**!
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/RuntimeInjection/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/RuntimeInjection/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/RuntimeInjection/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/SetUpTearDownOnFailure/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/SetUpTearDownOnFailure/content.txt
new file mode 100644
index 0000000000..e69ed567ce
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/SetUpTearDownOnFailure/content.txt
@@ -0,0 +1,41 @@
+Sometimes it's handy to be able to run some code when a fixture (or ''!-DomainAdapter-!'') starts and/or stops running.
+
+ * For example, resources can be allocated at the start and released at the end.
+
+It's also handy to be able to take special action if a storytest fails.
+
+ * For example, doing a screen dump of the browser interface when something has gone wrong.
+
+These are handled with three methods that may be optionally included in a fixture (or ''!-DomainAdapter-!''):
+
+ * setUp()
+ * onFailure()
+ * tearDown()
+
+All of these methods are called, if they exist, even if stop-on-error is set.
+
+For the main fixture (or ''!-DomainAdapter-!'') that is used for the whole storytest:
+
+ * setUp() -- called at the beginning, before any table is interpreted.
+ * onFailure() -- called at the end of the storytest, after all tables have been interpreted, but only if an error/fail has occurred. Called just before tearDown().
+ * tearDown() -- called at the end of the storytest, after all tables have been interpreted.
+
+Other fixtures may be created to interpret a single table (or part of a table). In that case:
+
+ * setUp() -- called at the beginning, before the table (or part of the table) is interpreted.
+ * onFailure() -- called at the end of the table, but only if an error/fail has occurred. Called just before tearDown().
+ * tearDown() -- called at the end of the table.
+
+If the onFailure() method is called, as there has been a fail/error, and it returns a value:
+
+ * That returned value is added as text to the end of the first row of the last table that's been interpreted, and marked as shown.
+ * The text can be HTML, which will be rendered by the browser. This allows for screen dumps and etc to be created.
+
+For suite fixtures, there are corresponding methods:
+
+ * suiteSetUp()
+ * suiteTearDown()
+#
+!3 See
+#
+.FitLibrary.SpecifiCations.DoTableFixturing.OnFailure for specifications of ''onFailure()''
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/SetUpTearDownOnFailure/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/SetUpTearDownOnFailure/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/SetUpTearDownOnFailure/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/content.txt
new file mode 100644
index 0000000000..bc2a59eb00
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/content.txt
@@ -0,0 +1,27 @@
+|[[Multiple Flow Objects][>MultipleFlowObjects]]|''For when a storytest has to affect different parts of a system, or several systems. Eg, running through a web browser and updating/checking a database''|
+|[[Defined Actions][.FitLibrary.UserGuide.FitLibraryByExample.DefinedActions]]|''For when we find we're repeating the same sequence of actions, and want to name them as a single action''|
+|[[Dynamic Variables][>DynamicVariables]]|''Dynamic variables allow for storytests to take different values, depending on the values that have been defined.''|
+
+Specific Sorts of Collections:
+
+|[[An ordered list][.FitLibrary.UserGuide.FitLibraryByExample.OrderedList]]|''Where the order of the elements in a collection is important''|
+|[[An unordered list][.FitLibrary.UserGuide.FitLibraryByExample.UnorderedList]]|''Where the order of the elements is irrelevant''|
+|[[Handling Subsets][.FitLibrary.UserGuide.FitLibraryByExample.SubSet]]|''Checking a subset of a collection''|
+|[[Handling Maps][.FitLibrary.UserGuide.FitLibraryByExample.MapHandling]]|''Checking when the underlying data is stored as a Map''|
+|[[Handling Arrays][.FitLibrary.UserGuide.FitLibraryByExample.SimpleArray]]|''Checking when the underlying (simple) data is stored as an array''|
+
+Implementation details:
+
+|[[set up, tear down, on failure methods][>SetUpTearDownOnFailure]]|''How to have code run when a fixture or storytest starts or finishes, and when it finishes with errors''|
+|[[Runtime injection][>RuntimeInjection]]|''Technical details for advanced use of fixtures''|
+|[[Specialised handling of table cell text][>CustomParsing]]|''How to handle null strings, special values, etc with custom parsing''|
+
+Migrating from Slim to ''!-FitLibrary-!''
+
+|[[Migrating Decision Tables][^MigratingSlimDecisionTables]]|''How Slim storytests that only use decision tables can be very easily moved to ''!-FitLibrary-!'' ''|
+
+Logging Techniques
+
+|[[Logging Techniques][^LoggingTechniques]]|''How to log information to help understand what is happening''|
+
+This will be expanded further.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/properties.xml
new file mode 100644
index 0000000000..1e01581b7d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AdvancedTutorials/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/SuiteSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/SuiteSetUp/content.txt
new file mode 100644
index 0000000000..082b97d0de
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/SuiteSetUp/content.txt
@@ -0,0 +1,3 @@
+!|fitlibrary.eg.ChatSuite|
+
+|''select or''|skipped|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/SuiteSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/SuiteSetUp/properties.xml
new file mode 100644
index 0000000000..812e51cbf8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/SuiteSetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20070107135019
+
+
+
+
+
+
+ 1168131019531
+ -7209608950152216224
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/content.txt b/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/content.txt
new file mode 100644
index 0000000000..60cdff0b01
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/content.txt
@@ -0,0 +1,7 @@
+This defines another suite
+ * This page includes a symbolic link to .FitLibrary.SuiteFixtureExample so that we can access the same storytests as the other suite
+ * This page includes a different ..FitLibrary.AnotherSuiteFixtureExample.SuiteSetUp from the other suite
+ * In this case, it uses the same suite fixture but chooses a different keyword
+ * So a different subset of storytests are run
+|!contents|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/properties.xml
new file mode 100644
index 0000000000..c5c14a3b34
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/AnotherSuiteFixtureExample/properties.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ 20070107154306
+
+
+
+
+
+
+ .FitLibrary.SuiteFixtureExample
+
+
+
+ 1158223109396
+ 1881132187854299693
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/CalculatorBusinessProcessExample/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/CalculatorBusinessProcessExample/content.txt
new file mode 100644
index 0000000000..2a4f5378a9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/CalculatorBusinessProcessExample/content.txt
@@ -0,0 +1,25 @@
+A business process concerns the order that things happen, and their consequences.
+
+Here we show how adding and multiplying on a calculator affect the total.
+
+|''with a calculator''|
+
+|''given the total is''|10|
+
+|''+''|5|
+
+|''*''|10|
+
+|''the total now is''|150|
+
+But we don't get any useful feedback (by default) if the expected value is wrong:
+
+|''the total now is''|140|
+
+So we can use the special '''is''' instead, as follows:
+
+|''the total now''|'''is'''|140|
+
+as it shows what the actual result was. After all, it's just as easy to make mistakes in tests.
+
+Next: ChatBusinessProcessExample
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/CalculatorBusinessProcessExample/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/CalculatorBusinessProcessExample/properties.xml
new file mode 100644
index 0000000000..4e908ad9ff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/CalculatorBusinessProcessExample/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBadPath/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBadPath/content.txt
new file mode 100644
index 0000000000..fc88fe748e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBadPath/content.txt
@@ -0,0 +1,8 @@
+When a user enters a chat room, that doesn't exist, that action can't succeed (it's rejected):
+
+|''with chat''|
+
+|''given''|anna|''is a connected user''|
+
+|'''reject'''|''when''|anna|''enters''|lotr|''room''|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBadPath/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBadPath/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBadPath/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBusinessProcessExample/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBusinessProcessExample/content.txt
new file mode 100644
index 0000000000..67637bc724
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBusinessProcessExample/content.txt
@@ -0,0 +1,14 @@
+When a user enters a chat room, they are then an occupant of that room.
+
+|''with chat''|
+
+|''given''|anna|''is a connected user''|
+
+|''given''|lotr|''is a chat room''|
+
+|''when''|anna|''enters''|lotr|''room''|
+
+|''then occupants of''|lotr|''are''|
+|''name''|
+|anna|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBusinessProcessExample/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBusinessProcessExample/properties.xml
new file mode 100644
index 0000000000..4e908ad9ff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/ChatBusinessProcessExample/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/CodeForDiscount/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/CodeForDiscount/content.txt
new file mode 100644
index 0000000000..2448d358bf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/CodeForDiscount/content.txt
@@ -0,0 +1,59 @@
+We repeat the table for convenience:
+
+|''A 5% discount is provided whenever the total purchase is greater than $1,000''|
+|''given amount''|''expected discount?''|
+|0.00|0.00|
+|999.95|0.00|
+|1000.00|0.00|
+|1010.00|50.50|
+
+The class ''Global'' is loaded due to the first (infrastructure) table, that's included in .FitLibrary.BeginningTutorial.SuiteSetUp. The ''Global'' is used so that technical details such as class and package names are not visible in storytests.
+
+Ths ''Global'' class includes the following method:
+----{{{ public Rule a5PercentDiscountIsProvidedWheneverTheTotalPurchaseIsGreaterThanDollar1Comma000() {
+ return new DiscountRule();
+ }
+}}}----This method is called when the first (visible) table of the storytest is executed. The first row of that table is turned into a method name (using extended camel casing).
+
+And here's the code for ''!-DiscountRule-!'':
+----{{{public class DiscountRule implements Rule {
+ private DiscountingApplication sut = new DiscountingApplication();
+ private double givenAmount;
+
+ public void setGivenAmount(double givenAmount) {
+ this.givenAmount = givenAmount;
+ }
+ public double getExpectedDiscount() {
+ return sut.expectedDiscount(givenAmount);
+ }
+}
+}}}----Because the ''!-DiscountRule-!'' class implements ''Rule'' (a marker interface), the rest of the table is treated as a rule table:
+
+ * The second row of the table names the input and expected columns. These are mapped directly to the setter and getter methods in ''!-DiscountRule-!''
+ * The third row leads to:
+ * The method ''setGivenAmount()'' being called with the value 0.00
+ * The method ''getExpectedDiscount()'' being called and it's result compared against the expected value of 0.00.
+ * As the expected value matches, it is coloured green
+ * The 4th, 5th and 6th rows are treated similarly to the third row, as decribed above
+
+So the ''!-DiscountRule-!'' acts as a "fixture" to manage the test, calling into the appropriate method in the application under test.
+
+The relevant code for the ''!-DiscountingApplication -!'' is as follows:
+----{{{public class DiscountingApplication {
+ public double expectedDiscount(double amount) {
+ if (amount > 1000.00)
+ return amount * 0.05;
+ return 0.00;
+ }
+}
+}}}----In this case:
+
+ * ''!-DiscountRule-!'' creates the application object so that it can call into it.
+ * No further setup of the application is needed, because the discount only depends on the amount; it does not depend on the state of the application.
+ * Money is (badly) represented as a ''double'', rather than as a ''Money'' type.
+
+We'll see variations on these later.
+
+!3 Next
+#
+[[Second Rule Table Example][.FitLibrary.BeginningTutorial.SecondRuleTableExample]]
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/CodeForDiscount/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/CodeForDiscount/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/CodeForDiscount/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/content.txt
new file mode 100644
index 0000000000..dafe8e9a0c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/content.txt
@@ -0,0 +1,30 @@
+!3 Rule Table for Discounts
+#
+A rule table is a way of defining, and testing, a business rule by providing several examples.
+
+In our first example, the discount is determined from a price (From ${fitBook}, p13):
+
+|''A 5% discount is provided whenever the total purchase is greater than $1,000''|
+|''given amount''|''expected discount?''|
+|0.00|0.00|
+|999.95|0.00|
+|1000.00|0.00|
+|1010.00|50.50|
+
+The table format:
+
+ * The first row of the table above describes the business rule. This row is called the "header".
+
+ * The second row names the input and result columns. Here there is one input ("''given amount''") and one result ("''expected discount?''").
+
+ * The subsequent rows are examples. For example, when the ''given amount'' is 1010.00, the ''expected discount'' is 50.50.
+
+ * The input column is to the left of the results column. Results are distinguished with a ''?'' at the end of the name.
+
+!3 Code
+#
+Here's the [[code for this example][^CodeForDiscount]]
+
+!3 Next
+#
+SecondRuleTableExample
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/FirstRuleTableExample/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/CodeForCreditLimits/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/CodeForCreditLimits/content.txt
new file mode 100644
index 0000000000..0ad6c08051
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/CodeForCreditLimits/content.txt
@@ -0,0 +1,76 @@
+!3 Tables
+#
+Here's some of the tables again, for convenience:
+
+|''Credit is allowed for worthy customers''|
+|''months as customer''|''has paid reliably''|''balance owing''|''credit is allowed?''|
+|14|yes|5000.00|yes|
+|12|yes|5000.00|no|
+|14|no|5000.00|no|
+|14|yes|6000.00|no|
+
+|''Credit limit depends on whether credit is allowed''|
+|''credit is allowed''|''credit limit?''|
+|yes|1000.00|
+|no|0.00|
+
+|''Credit is allowed for worthy customers who have been trading with us for''|14|''months''|
+|''has paid reliably''|''balance owing''|''credit is allowed?''|
+|yes|5000.00|yes|
+|no|5000.00|no|
+|yes|6000.00|no|
+----As before, we start with the relevant methods in ''Global'':
+{{{public class Global {
+ public Rule creditIsAllowedForWorthyCustomers() {
+ return new CreditRule();
+ }
+
+ public Rule creditLimitDependsOnWhetherCreditIsAllowed() {
+ return new CreditLimitRule();
+ }
+
+ public Rule creditIsAllowedForWorthyCustomersWhoHaveBeenTradingWithUsForMonths(int months) {
+ CreditRule creditLimitRule = new CreditRule();
+ creditLimitRule.setMonthsAsCustomer(months);
+ return creditLimitRule;
+ }
+}
+}}}----And here's the ''!-CreditRule-!'' class:
+{{{public class CreditRule implements Rule {
+ private CreditApplication sut = new CreditApplication();
+ private int monthsAsCustomer;
+ private boolean hasPaidReliably;
+ private double balanceOwing;
+
+ public void setMonthsAsCustomer(int monthsAsCustomer) {
+ this.monthsAsCustomer = monthsAsCustomer;
+ }
+ public void setHasPaidReliably(boolean hasPaidReliably) {
+ this.hasPaidReliably = hasPaidReliably;
+ }
+ public void setBalanceOwing(double balanceOwing) {
+ this.balanceOwing = balanceOwing;
+ }
+ public boolean getCreditIsAllowed() {
+ return sut.creditPermitted(monthsAsCustomer, hasPaidReliably, balanceOwing);
+ }
+ public double getCreditLimit() {
+ return sut.creditLimit(monthsAsCustomer, hasPaidReliably, balanceOwing);
+ }
+}
+}}}----Again, this implements ''Rule'', the marker interface. It has setter methods for each of the given column values, and getter methods for the results columns.
+
+It calls into the application to test it:
+----{{{public class CreditApplication {
+ public boolean creditPermitted(int monthsAsCustomer, boolean hasPaidReliably,
+ double balanceOwing) {
+ return monthsAsCustomer > 12 && hasPaidReliably && balanceOwing < 6000.0;
+ }
+ public double creditLimit(int monthsAsCustomer, boolean hasPaidReliably,
+ double balanceOwing) {
+ if (creditPermitted(monthsAsCustomer, hasPaidReliably, balanceOwing))
+ return 1000.0;
+ return 0.00;
+ }
+}
+}}}----Note that, in practice, the application code could well be structured around Customer objects.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/CodeForCreditLimits/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/CodeForCreditLimits/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/CodeForCreditLimits/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/content.txt
new file mode 100644
index 0000000000..acfc146cb4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/content.txt
@@ -0,0 +1,62 @@
+!3 A Rule Table for Credit Limits
+#
+In our next rule table example, the credit limit is determined from several inputs (From ${fitBook}, p17):
+
+ * Credit is allowed, up to an amount of $1000, for a customer who has been trading with us for more than 12 months, has paid reliably over that period, and has a current balance owing of less than $6,000.
+
+|''Credit is allowed for worthy customers''|
+|''months as customer''|''has paid reliably''|''balance owing''|''credit is allowed?''|''credit limit?''|
+|14|yes|5000.00|yes|1000.00|
+|12|yes|5000.00|no|0.00|
+|14|no|5000.00|no|0.00|
+|14|yes|6000.00|no|0.00|
+
+As the business rule is so long, we've summarised it in the first row of the table.
+
+Here we have three inputs and two results. We name the columns to be clear about their role.
+#
+!3 Splitting the business rule into two
+#
+Now, you may have noticed that whenever credit is allowed, the credit limit is fixed. So we can split the business rule into two rules:
+
+ * Credit is allowed for a customer who has been trading with us for more than 12 months, has paid reliably over that period, and has a current balance owing of less than $6,000.
+
+ * When credit is allowed, up to an amount of $1000 is permitted.
+
+|''Credit is allowed for worthy customers''|
+|''months as customer''|''has paid reliably''|''balance owing''|''credit is allowed?''|
+|14|yes|5000.00|yes|
+|12|yes|5000.00|no|
+|14|no|5000.00|no|
+|14|yes|6000.00|no|
+
+|''Credit limit depends on whether credit is allowed''|
+|''credit is allowed''|''credit limit?''|
+|yes|1000.00|
+|no|0.00|
+#
+!3 Splitting into separate tables for each major case
+#
+Sometimes it's convenient to have a table for each of the major cases of a business rule. For example, we could split into tables based on whether the customer has been trading with us for long enough, or not.
+
+|''Credit is allowed for worthy customers''|
+|''months as customer''|''has paid reliably''|''balance owing''|''credit is allowed?''|
+|14|yes|5000.00|yes|
+|14|no|5000.00|no|
+|14|yes|6000.00|no|
+
+We can now include the fixed value in the header of the table.
+
+|''Credit is allowed for worthy customers who have been trading with us for''|14|''months''|
+|''has paid reliably''|''balance owing''|''credit is allowed?''|
+|yes|5000.00|yes|
+|no|5000.00|no|
+|yes|6000.00|no|
+
+The first row now also provides an input that applies to all the data rows in that table.
+
+The ''months'' input is in the second cell of that header row. As we'll see soon, such inputs are in evenly-numbered cells, with the odd cells containing explanatory text.
+#
+!3 Code
+#
+Here's the [[code for this example][^CodeForCreditLimits]]
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/properties.xml
new file mode 100644
index 0000000000..4e908ad9ff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SecondRuleTableExample/properties.xml
@@ -0,0 +1,12 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SuiteSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SuiteSetUp/content.txt
new file mode 100644
index 0000000000..0861e115e1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SuiteSetUp/content.txt
@@ -0,0 +1,7 @@
+!**> technical infrastructure
+
+The following is needed to run this as a test. It's discussed in the code details. It can be set up by someone who has some technical knowledge.
+
+|''add global''|!-fitlibrary.tutorial.Global-!|
+
+**!
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SuiteSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SuiteSetUp/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/SuiteSetUp/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/content.txt
new file mode 100644
index 0000000000..712805522a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/content.txt
@@ -0,0 +1,49 @@
+!2 Introduction
+#
+In ''!-FitLibrary-!'', one or more tables are used to specify business rules and processes.
+
+Tables are used for two important reasons:
+
+ * They help to clarify the language of the domain
+ * They provide a structure in which feedback is provided, such as whether a test passed or not.
+
+As we'll see in the following, tables are used in several different ways.
+#
+!2 Business Rules
+#
+A rule table is a way of defining, and testing, a business rule by providing several examples.
+
+|>FirstRuleTableExample|''Discount business rules''|
+|>SecondRuleTableExample|''Credit limit rules''|
+
+Another approach to rules tables is here: .FitLibrary.UserGuide.FitLibraryByExample.CalculationRule
+#
+!2 Business Processes
+#
+A business process concerns the order that things happen, and their consequences.
+
+A workflow storytest shows what happens when an action is carried out on the system. The action could be carried out by:
+ * A user through a user interface
+ * Another system that sends or requests data and gives some signal
+ * An automatic background process that happens at certain times, such as every 10 minutes or at the end of the day
+
+|^CalculatorBusinessProcessExample|''Steps in using a calculator''|
+|>ChatBusinessProcessExample|''Steps in using a simple chat system''|
+|^ChatBadPath|''When an action is expected to fail''|
+
+Sometimes, some of the tables used in defining a business process will specify the details of a single business object, such as a Customer.
+
+--- examples of setting up and checking individual business objects...
+
+Or we may want to deal with collections of things, such as a list of customers who owe us more than $10,000.
+
+... examples of setting up and checking collections...
+
+
+For further details, see .FitLibrary.UserGuide and .FitLibrary.ReferenCe.DoTables
+
+!2 Under Development
+#
+This tutorial is still under development. You'll find further information at .FitLibrary.UserGuide
+
+^SuiteSetUp
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/properties.xml
new file mode 100644
index 0000000000..1e01581b7d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BeginningTutorial/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BuildingFitLibrary/content.txt b/fitnesse/FitNesseRoot/FitLibrary/BuildingFitLibrary/content.txt
new file mode 100644
index 0000000000..af120e8468
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BuildingFitLibrary/content.txt
@@ -0,0 +1,44 @@
+!3 Build process
+#
+The Ant script ''build.xml'' provided in the top-level directory of the distributed release defines the build process.
+
+This is organised for a Hudson (http://www.hudson-ci.org) pipeline of ''projects'' for continuous integration. These are defined in Hudson as follows:
+
+ * ''fitlibrary.build'' - polls git for a change and runs one Ant target:
+ * ''jar'' - compiles and creates ''fitlibrary.jar''. It copies this jar into the ''!-FitLibraryWeb-!'' directory. See below for directory-structure assumptions.
+
+ * ''fitlibrary.specifications'' - follows from the previous stage (if successful). Runs two Ant targets:
+ * ''delete-batch-runner-results-dir''
+ * ''batch-run-specifications'' -- runs the ''!-FitLibrary-!'' specifications in batch using ''!-FitLibraryRunner-!''
+
+ * ''fitlibrary.create.release.zip'' - follows from previous stage. Runs Ant target:
+ * ''create-release-zip'' - Copies all files for release into a separate folder and zips them up
+
+ * ''fitlibrary.check.release'' - follows from previous stage. Runs Ant target:
+ * ''release-check'' - runs the ''!-FitLibrary-!'' specifications in batch again from an unzipped copy of the release, integrated with a fresh copy of ''!-FitNesse-!''
+
+ * ''fitlibrary.final.release'' - follows from previous stage. Runs Ant target:
+ * ''final-release'' - Renames the zip created from the ''fitlibrary.create.release.zip'' stage to include the date. Within Hudson, ''final.release.dir'' is changed so that it appears in win7 space.
+
+All of these Hudson projects share the workspace of ''fitlibrary.build''.
+#
+!3 Directory Structure Assumptions
+#
+The build process for ''!-FitLibrary-!'' assumes two git projects that are held in the same directory, as follows:
+
+ * ''fitlibrary''
+ * ''fitlibraryweb''
+
+This allow the build process to copy any ''fitlibrary.jar'' update into ''../fitlibraryweb/fitnesse''.
+
+Note that with the Hudson pipeline, this happens within Hudson's copy of the files when it clones them from git (which, currently, is unnecessary).
+
+It is necessary to run the first stage, at least, of this process directly within the git folder so that:
+
+ * ''!-FitNesse-!'' and ''!-FitLibraryRunner-!'' can be used to test changes to ''!-FitLibrary-!''.
+ * ''!-FitNesse-!'' and ''!-FitLibraryRunner-!'' can be used to test ''!-FitLibraryWeb-!'' with the latest ''fitlibrary.jar''.
+
+It is assumed that after the build succeeds, after any change to ''!-FitLibrary-!'':
+
+ * The updated ''fitlibrary.jar'' that was auto-copied into ''fitlibraryweb'' will be committed
+ * Thus kicking off the ''fitlibraryweb'' build.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/BuildingFitLibrary/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/BuildingFitLibrary/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/BuildingFitLibrary/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/CrossReference/content.txt b/fitnesse/FitNesseRoot/FitLibrary/CrossReference/content.txt
new file mode 100644
index 0000000000..0a57a8cc8f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/CrossReference/content.txt
@@ -0,0 +1,18 @@
+!2 Cross-reference of the use of fixtures and ${doFixture} actions in storytests in a suite
+ * This can be included in any page. The argument to ''xref'' is the full name of a suite.
+ * ''xref'' runs through all storytests in the suite and determines which actions are used in which storytest.
+
+ * It also walks over ''defined actions'' that are referenced in the suite and builds a cross-reference for those.
+
+ * It produces a table, with links to the relevant pages
+
+ * Because ''xref'' can't easily tell what rows are ${doFixture} actions, it marks those that may not be with a "~" and these appear at the end of the cross-reference table.
+
+Run this test to get a cross-reference of the use of ${doFixture} actions in storytests in the suite mentioned
+
+!|fitlibrary.DoFixture|
+
+|''xref''|.FitLibrary.SpecifiCations.DefinedActions|
+
+!3 Note that this doesn't work with all ''!-FitNesse-!'' versions, as it depends on trinidad code within ''!-FitNesse-!''.
+It is known to work with fitnesse20090818
diff --git a/fitnesse/FitNesseRoot/FitLibrary/CrossReference/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/CrossReference/properties.xml
new file mode 100644
index 0000000000..2e8a236bcf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/CrossReference/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1255037127406
+ 8035047237467041367
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/DefinedActions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/DefinedActions/content.txt
new file mode 100644
index 0000000000..429d71a07e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/DefinedActions/content.txt
@@ -0,0 +1 @@
+!contents
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyItems/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyItems/content.txt
new file mode 100644
index 0000000000..103e734c5f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyItems/content.txt
@@ -0,0 +1,9 @@
+|!-fit.ActionFixture-!|
+|start|!-BuyActions-!|
+|check|total|00.00|
+|enter|price|12.00|
+|press|buy|
+|check|total|12.00|
+|enter|price|100.00|
+|press|buy|
+|check|total|112.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyItems/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyItems/properties.xml
new file mode 100644
index 0000000000..c605534bcc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyItems/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1083363523383
+ 8717702176529013388
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyWithColumn/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyWithColumn/content.txt
new file mode 100644
index 0000000000..c9722016c1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyWithColumn/content.txt
@@ -0,0 +1,6 @@
+|!-BuyActionsWithColumn-!|
+|price|total()|
+|12.00|12.00|
+|100.00|112.00|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyWithColumn/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyWithColumn/properties.xml
new file mode 100644
index 0000000000..36e72d8703
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestBuyWithColumn/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1089169912703
+ -364015300698810554
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestChatServer/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestChatServer/content.txt
new file mode 100644
index 0000000000..d747fc599d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestChatServer/content.txt
@@ -0,0 +1,11 @@
+|!-fit.ActionFixture-!|
+|start|!-ChatServerActions-!|
+|enter|user|anna|
+|press|connect|
+|enter|room|lotr|
+|press|new room|
+|press|enter room|
+|enter|user|luke|
+|press|connect|
+|press|enter room|
+|check|occupant count|2|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestChatServer/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestChatServer/properties.xml
new file mode 100644
index 0000000000..a7ca577f39
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestChatServer/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1083363450385
+ 5611163036537390981
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestLineItemsExercise/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestLineItemsExercise/content.txt
new file mode 100644
index 0000000000..8ccd35fe67
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestLineItemsExercise/content.txt
@@ -0,0 +1,11 @@
+|!-fit.ActionFixture-!|
+|start|!-BuyActions-!|
+|check|total|00.00|
+|enter|price|45.00|
+|press|buy|
+|check|total|55.00|
+|enter|price|100.00|
+|press|buy|
+|check|total|145.00|
+|enter|price|100.00|
+|check|total|255.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestLineItemsExercise/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestLineItemsExercise/properties.xml
new file mode 100644
index 0000000000..995501d878
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/TestLineItemsExercise/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1083363629662
+ 1418326968744198500
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/content.txt
new file mode 100644
index 0000000000..920591482b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/content.txt
@@ -0,0 +1 @@
+|!contents|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/properties.xml
new file mode 100644
index 0000000000..6323b3e020
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ActionFixtureTables/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1076810628968
+ 1568487397853997998
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInActions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInActions/content.txt
new file mode 100644
index 0000000000..3e1d5ee4ad
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInActions/content.txt
@@ -0,0 +1,4 @@
+|!-fit.ActionFixture-!|
+|start|!-ChatServerActions2-!|
+|enter|room|lotr|
+|check|occupant count|error|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInActions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInActions/properties.xml
new file mode 100644
index 0000000000..c5d687e583
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInActions/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1089594766984
+ 7180552580960954487
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInCalculations/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInCalculations/content.txt
new file mode 100644
index 0000000000..eb39963de4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInCalculations/content.txt
@@ -0,0 +1,4 @@
+|!-CalculateDiscount-!|
+|amount|discount()|
+|-100.00|'''error'''|
+|1200.00|60.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInCalculations/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInCalculations/properties.xml
new file mode 100644
index 0000000000..705a51d048
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedErrorInCalculations/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1090017107937
+ 1261126190088502527
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedRejectInActions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedRejectInActions/content.txt
new file mode 100644
index 0000000000..28f54ba653
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedRejectInActions/content.txt
@@ -0,0 +1,7 @@
+|!-fit.ActionFixture-!|
+|start|!-ChatServerActions2-!|
+|enter|user|anna|
+|press|connect|
+|enter|room|lotr|
+|press|enter room|
+|check|room entered|no|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedRejectInActions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedRejectInActions/properties.xml
new file mode 100644
index 0000000000..b48182f578
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/ExpectedRejectInActions/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1095115437076
+ 2910920018774991765
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRange/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRange/content.txt
new file mode 100644
index 0000000000..84e6411bfc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRange/content.txt
@@ -0,0 +1,6 @@
+|!-StressTest-!|
+|clients|max reaction time|within time()|
+|1|10|true|
+|10|10|true|
+|100|30|true|
+|500|60|true|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRange/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRange/properties.xml
new file mode 100644
index 0000000000..30fbeb2ad9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRange/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1089596463359
+ -1391225353279735631
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRangeCompact/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRangeCompact/content.txt
new file mode 100644
index 0000000000..00d427f1ae
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRangeCompact/content.txt
@@ -0,0 +1,6 @@
+|!-StressTest-!|
+|clients|reaction time()|
+|1|<10|
+|10|<10|
+|100|<30|
+|500|<60|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRangeCompact/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRangeCompact/properties.xml
new file mode 100644
index 0000000000..5089bc374b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/NumberInRangeCompact/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1089611735218
+ 5175404554707105141
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/UnexpectedError/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/UnexpectedError/content.txt
new file mode 100644
index 0000000000..aa5dcd7ea0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/UnexpectedError/content.txt
@@ -0,0 +1,4 @@
+|!-CalculateDiscount-!|
+|amount|discount()|
+|-100.00|0.00|
+|1200.00|60.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/UnexpectedError/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/UnexpectedError/properties.xml
new file mode 100644
index 0000000000..736cad5ebb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/UnexpectedError/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1090015655093
+ 6952782694010871122
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/content.txt
new file mode 100644
index 0000000000..3208741146
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/content.txt
@@ -0,0 +1 @@
+|!contents|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/properties.xml
new file mode 100644
index 0000000000..b1ef5a29dc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/AdvancedTables/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20041220154003
+
+
+
+
+
+ 1090015794078
+ 7097353651470894182
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/TestOccupants/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/TestOccupants/content.txt
new file mode 100644
index 0000000000..606a9097fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/TestOccupants/content.txt
@@ -0,0 +1,4 @@
+|!-OccupantList-!|
+|''user''|''login time''|''entry time''|
+|anna|15:45|15:48|
+|luke|16:03|17:14|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/TestOccupants/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/TestOccupants/properties.xml
new file mode 100644
index 0000000000..64251f4e7f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/TestOccupants/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041221132248
+
+
+
+
+ 1102387774447
+ -5855416619472946971
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/content.txt
new file mode 100644
index 0000000000..7990dfd288
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/content.txt
@@ -0,0 +1 @@
+^TestOccupants
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/properties.xml
new file mode 100644
index 0000000000..0d98211aa0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ArchiTecture/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1102387703826
+ -7856328033040350775
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestRentEze/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestRentEze/content.txt
new file mode 100644
index 0000000000..38e8f12263
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestRentEze/content.txt
@@ -0,0 +1,11 @@
+|!-DoRentEze-!|
+
+|''setup''|
+|''rental item''|''count''|''$/hour''|
+|coffee dispenser|10|8.20|
+|hot water dispenser|12|8.00|
+
+|''rental items''|
+|''name''|''count''|''$/hour''|
+|coffee dispenser|10|8.20|
+|hot water dispenser|12|8.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestRentEze/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestRentEze/properties.xml
new file mode 100644
index 0000000000..6a4ccb4da1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestRentEze/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041220165336
+
+
+
+
+ 1103514816206
+ 1664672720236160923
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestTransfer/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestTransfer/content.txt
new file mode 100644
index 0000000000..8d2e975c4d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestTransfer/content.txt
@@ -0,0 +1,5 @@
+|!-DoTransfer-!|
+|''transfer''|some text 2|
+|check|''result''|some text 2|
+|''transfer''|other|
+|check|''result''|other|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestTransfer/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestTransfer/properties.xml
new file mode 100644
index 0000000000..57b09f2e2c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/TestTransfer/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041220165324
+
+
+
+
+ 1099299956940
+ -8692163464229487636
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/content.txt
new file mode 100644
index 0000000000..c8233d27a1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/content.txt
@@ -0,0 +1,2 @@
+^TestTransfer
+^TestRentEze
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/properties.xml
new file mode 100644
index 0000000000..0419d013e2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentalFixtures/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1099451404290
+ 671383349459639245
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp1/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp1/content.txt
new file mode 100644
index 0000000000..a064950bc9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp1/content.txt
@@ -0,0 +1,10 @@
+|!-rent.StartApplication-!|
+
+|''enter rental items''|
+|''name''|''count''|''$/day''|
+|coffee dispenser|10|8.20|
+|hot water dispenser|12|8.00|
+
+|''enter clients''|
+|''name''|''phone''|
+|Joanna|373 7599|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp1/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp1/properties.xml
new file mode 100644
index 0000000000..b112b978cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp1/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081124201807
+
+
+
+
+ 1090033814250
+ -2708696762057795869
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp2/content.txt
new file mode 100644
index 0000000000..ebd4da28be
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp2/content.txt
@@ -0,0 +1,13 @@
+|!-rent.StartApplication-!|
+
+|''enter rental items''|
+|''name''|''count''|''$/day''|
+|coffee dispenser|10|8.20|
+|hot water dispenser|12|8.00|
+
+|''enter clients''|
+|''name''|''phone''|
+|Joanna|373 7599|
+
+|''client''|Joanna|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp2/properties.xml
new file mode 100644
index 0000000000..06b85be9bf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/SetUp2/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081124201807
+
+
+
+
+ 1090033863453
+ -6959550055790265693
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn1/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn1/content.txt
new file mode 100644
index 0000000000..b70449ad6d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn1/content.txt
@@ -0,0 +1,11 @@
+|''rental entry''|
+|''client''|''rental item''|''count''|''days''|
+|Joanna|coffee dispenser|5|1|
+|Joanna|hot water dispenser|2|2|
+
+|''client''|Joanna|''returns''|4|''of''|coffee dispenser|
+|''client''|Joanna|''returns''|2|''of''|hot water dispenser|
+
+|''rental list''|
+|''client''|''rental item''|''count''|''days''|
+|Joanna|coffee dispenser|1|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn1/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn1/properties.xml
new file mode 100644
index 0000000000..6afe5e8d4c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn1/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041221213614
+
+
+
+
+ 1093570057559
+ 6204314738922688751
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn2/content.txt
new file mode 100644
index 0000000000..7464d8f29d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn2/content.txt
@@ -0,0 +1,11 @@
+|''rental entry''|Joanna|
+|''rental item''|''count''|''days''|
+|coffee dispenser|5|1|
+|hot water dispenser|2|1|
+
+|''return''|4||coffee dispenser|
+|''return''|2||hot water dispenser|
+
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''days''|
+|coffee dispenser|1|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn2/properties.xml
new file mode 100644
index 0000000000..602b3890d6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturn2/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041221213638
+
+
+
+
+ 1090033895421
+ -220981978745508658
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturnsInitial/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturnsInitial/content.txt
new file mode 100644
index 0000000000..6ea3af971e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturnsInitial/content.txt
@@ -0,0 +1,41 @@
+|!-fit.ActionFixture-!|
+|start|rent.Application|
+
+|!-rent.RentalItems-!|
+|''name''|''count''|''cost per day''|''add()''|
+|coffee dispenser|10|8.20|true|
+|hot water dispenser|12|8.00|true|
+
+|!-rent.Clients-!|
+|''name''|''phone''|''add()''|
+|Joanna|373 7599|true|
+
+|!-fit.ActionFixture-!|
+|enter|client name|Joanna|
+|enter|item|coffee dispenser|
+|enter|count|5|
+|enter|days|1|
+|press|hire|
+|check|cost|41.00|
+|enter|item|hot water dispenser|
+|enter|count|2|
+|press|hire|
+|check|cost|16.00|
+
+|!-rent.RentalList-!|
+|''client''|''rental item name''|''count''|''days''|
+|Joanna|coffee dispenser|5|1|
+|Joanna|hot water dispenser|2|1|
+
+|!-fit.ActionFixture-!|
+|enter|client name|Joanna|
+|enter|item|coffee dispenser|
+|enter|count|4|
+|press|return|
+|enter|item|hot water dispenser|
+|enter|count|2|
+|press|returns|
+
+|!-rent.RentalList-!|
+|''client''|''rental item name''|''count''|''days''|
+|Joanna|coffee dispenser|1|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturnsInitial/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturnsInitial/properties.xml
new file mode 100644
index 0000000000..23fc40fa77
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestPartialReturnsInitial/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081124201807
+
+
+
+
+ 1106004885296
+ 1073122113676780509
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental1/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental1/content.txt
new file mode 100644
index 0000000000..a1f9af32a9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental1/content.txt
@@ -0,0 +1,8 @@
+|''client''|Joanna|''hires''|5|''of''|coffee dispenser|''for''|1|''days''|
+|''client''|Joanna|''hires''|2|''of''|hot water dispenser|''for''|2|''days''|
+|check|cost|16.00|
+
+|''rental list''|
+|''client''|''rental item''|''count''|''days''|
+|Joanna|coffee dispenser|5|1|
+|Joanna|hot water dispenser|2|2|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental1/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental1/properties.xml
new file mode 100644
index 0000000000..f64f123abd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental1/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041221213600
+
+
+
+
+ 1093570028397
+ -6254816625870721907
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental2/content.txt
new file mode 100644
index 0000000000..c3508f101b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental2/content.txt
@@ -0,0 +1,8 @@
+|''hire''|5||coffee dispenser|''for''|1|''days''|
+|''hire''|2||hot water dispenser|''for''|2|''days''|
+|check|cost|16.00|
+
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''days''|
+|coffee dispenser|5|1|
+|hot water dispenser|2|2|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental2/properties.xml
new file mode 100644
index 0000000000..ad1e6f8f6c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/TestRental2/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041221213630
+
+
+
+
+ 1093570276524
+ -2753841863632318560
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/content.txt
new file mode 100644
index 0000000000..cc64a8adfb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/content.txt
@@ -0,0 +1,8 @@
+^TestPartialReturnsInitial
+^SetUp1
+^TestRental1
+^TestPartialReturn1
+^SetUp2
+^TestRental2
+^TestPartialReturn2
+(These tests are completed in the next chapter, so they don't run.)
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/properties.xml
new file mode 100644
index 0000000000..a8e7b4c309
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CashRentals/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081124201807
+
+
+
+
+ 1103847233183
+ 7746755071904691367
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCredit/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCredit/content.txt
new file mode 100644
index 0000000000..206839c6e9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCredit/content.txt
@@ -0,0 +1,8 @@
+|!-CalculateCredit-!|
+|''months''|''reliable''|''balance''|''allow credit()''|''credit limit()''|
+|14|true|5000.00|true|1000.00|
+|''0''|true|0.00|false|0.00|
+|24|''false''|0.00|false|0.00|
+|18|true|''6000.00''|false|0.00|
+|''12''|true|5500.00|true|1000.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCredit/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCredit/properties.xml
new file mode 100644
index 0000000000..e5e046419b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCredit/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1098409465458
+ -5439349877079203496
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditExercise/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditExercise/content.txt
new file mode 100644
index 0000000000..2627254f1c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditExercise/content.txt
@@ -0,0 +1,6 @@
+|!-CalculateCredit-!|
+|''months''|''reliable''|''balance''|''allow credit()''|''credit limit()''|
+|13|true|5900.00|true|1000.00|
+|12|true|0.00|false|1000.00|
+|24|false|1000.00|false|0.00|
+|18|false|6000.00|true|1000.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditExercise/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditExercise/properties.xml
new file mode 100644
index 0000000000..23138baeaf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditExercise/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1097103566261
+ 1505651269864144901
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditK/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditK/content.txt
new file mode 100644
index 0000000000..8e399e58e9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditK/content.txt
@@ -0,0 +1,8 @@
+|!-CalculateCredit-!|
+|!-월-!|!-신용자격유무-!|!-잔액|신용허용()-!|!-신용한도액()-!|
+|14|true|5000.00|true|1000.00|
+|''0''|true|0.00|false|0.00|
+|24|''false''|0.00|false|0.00|
+|18|true|''6000.00''|false|0.00|
+|''12''|true|5500.00|true|1000.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditK/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditK/properties.xml
new file mode 100644
index 0000000000..8128c4ef61
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestCreditK/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1098223794002
+ 2292447216708190861
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscount/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscount/content.txt
new file mode 100644
index 0000000000..3a39bc93d8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscount/content.txt
@@ -0,0 +1,10 @@
+|!-CalculateDiscount-!|
+|''amount''|''discount()''|
+|0.00|0.00|
+|100.00|0.00|
+|999.00|0.00|
+|1000.00|0.00|
+|1010.00|50.50|
+|1100.00|55.00|
+|1200.00|60.00|
+|2000.00|100.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscount/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscount/properties.xml
new file mode 100644
index 0000000000..e916970653
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscount/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1097103403884
+ 2930974514990139399
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscountExercise/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscountExercise/content.txt
new file mode 100644
index 0000000000..fa080afabe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscountExercise/content.txt
@@ -0,0 +1,6 @@
+|!-CalculateDiscount-!|
+|amount|discount()|
+|1.00|0.00|
+|10.00|0.50|
+|1400.00|75.00|
+|20000.00|200.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscountExercise/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscountExercise/properties.xml
new file mode 100644
index 0000000000..5584f77c2b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestDiscountExercise/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1083361444393
+ 4690772067146454077
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestQuotedStrings/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestQuotedStrings/content.txt
new file mode 100644
index 0000000000..ccc96201e3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestQuotedStrings/content.txt
@@ -0,0 +1,3 @@
+!|CalculateQuoted|
+|input |countSpaces()|countChars()|
+|" + "|8 | 9 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestQuotedStrings/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestQuotedStrings/properties.xml
new file mode 100644
index 0000000000..88dddd2934
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestQuotedStrings/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1084830004071
+ -6548484500114448949
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleLists/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleLists/content.txt
new file mode 100644
index 0000000000..91ef72ad35
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleLists/content.txt
@@ -0,0 +1,3 @@
+|!-CalculateFirstPhoneNumber-!|
+|''phones''|''first()''|
+|(209)373 7453, (209)373 7454|(209)373 7453|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleLists/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleLists/properties.xml
new file mode 100644
index 0000000000..7d5c627bd7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleLists/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1097103620589
+ -8844374795440199919
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleListsNone/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleListsNone/content.txt
new file mode 100644
index 0000000000..fc8933edb3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleListsNone/content.txt
@@ -0,0 +1,4 @@
+|!-CalculateFirstPhoneNumber-!|
+|phones|first()|
+||none|
+|(209)373 7453, (209)373 7454|(209)373 7453|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleListsNone/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleListsNone/properties.xml
new file mode 100644
index 0000000000..e625569905
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/TestSimpleListsNone/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1083361544516
+ 6567214354553646873
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/content.txt
new file mode 100644
index 0000000000..04a927dc77
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/content.txt
@@ -0,0 +1,2 @@
+|!contents|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/properties.xml
new file mode 100644
index 0000000000..337a28b149
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/ColumnFixtureTables/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20041220091006
+
+
+
+
+
+ 1103487006698
+ 3306265622551824185
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CopyRight/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CopyRight/content.txt
new file mode 100644
index 0000000000..f05248798e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CopyRight/content.txt
@@ -0,0 +1,2 @@
+Copyright (c) 2003 Rick Mugridge (rimu), University of Auckland, NZ
+Released under the terms of the GNU General Public License version 2 or later.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CopyRight/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CopyRight/properties.xml
new file mode 100644
index 0000000000..7752d4b503
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CopyRight/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1071035919875
+ -3133647269499349265
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/AllFiles/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/AllFiles/content.txt
new file mode 100644
index 0000000000..95edf6d668
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/AllFiles/content.txt
@@ -0,0 +1,5 @@
+|!-eg.AllFiles-!|
+|!-PatientTests/*.html-!||
+|!-StaffScheduleTests/*.html-!||
+|!-BedOccupancyTests/*.html-!||
+|!-ObservationTests/*.html-!||
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/AllFiles/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/AllFiles/properties.xml
new file mode 100644
index 0000000000..50758a2a2a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/AllFiles/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1077311836250
+ -1991902708080640084
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/SmokeTests/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/SmokeTests/content.txt
new file mode 100644
index 0000000000..a150a08dad
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/SmokeTests/content.txt
@@ -0,0 +1,5 @@
+|!-eg.AllFiles-!|
+|!-PatientTests/*Smoke.html-!||
+|!-StaffScheduleTests/*Smoke.html-!||
+|!-BedOccupancyTests/*Smoke.html-!||
+|!-ObservationTests/*Smoke.html-!||
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/SmokeTests/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/SmokeTests/properties.xml
new file mode 100644
index 0000000000..f632f42187
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/SmokeTests/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1077313000562
+ -8881952876672111361
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/content.txt
new file mode 100644
index 0000000000..4b15686feb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/content.txt
@@ -0,0 +1,2 @@
+^AllFiles
+^SmokeTests
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/properties.xml
new file mode 100644
index 0000000000..5fb33f5da1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CreatingTables/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1077312981781
+ 5715029698075920179
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/ChatGraph/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/ChatGraph/content.txt
new file mode 100644
index 0000000000..348b100702
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/ChatGraph/content.txt
@@ -0,0 +1,2 @@
+|!-UsersAndRooms-!|
+|check|users|!img http://files/ChatGraph.gif|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/ChatGraph/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/ChatGraph/properties.xml
new file mode 100644
index 0000000000..12b0600f61
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/ChatGraph/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050118214653
+
+
+
+
+
+ 1106038013609
+ 4998877226473779808
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/InvoiceTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/InvoiceTable/content.txt
new file mode 100644
index 0000000000..85725150b9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/InvoiceTable/content.txt
@@ -0,0 +1,10 @@
+|!-TaxInvoice-!|
+|Uni of Auckland|Delivered to:|Number:|216017-01|
+|Private Bag 92019|Attn: Sal Mayha|Date:|05/01/04|
+|Auckland|Uni of Auckland|Order:|TC000015473-REPL|
+|||Cust:|UNI34|
+|'' #''|''Part Number''|''Description''|''Dispatch''|''Price''|''Total''|
+|1|CAT 98142-00-GH|L3 Switch 32x1000T|1|6804.00|6804.00|
+|2|CAT 99000-01-PH|Macronetic switch|2|2317.00|2317.00|
+|||||Total:|9121.00|
+|Special Delivery:|AS0555P|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/InvoiceTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/InvoiceTable/properties.xml
new file mode 100644
index 0000000000..8f6402ee23
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/InvoiceTable/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1089446721828
+ 8670704719582029633
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/SokoBan/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/SokoBan/content.txt
new file mode 100644
index 0000000000..98f143e2ca
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/SokoBan/content.txt
@@ -0,0 +1,20 @@
+|!-StartSokoban-!|
+
+|board|
+|!img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|!img !img !img !img http://files/images/wall.jpg|!img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|!img !img !img !img http://files/images/wall.jpg|!img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/shelf.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/box.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/shelf.jpg|!img !img http://files/images/box.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/worker.jpg|!img http://files/images/box.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/shelf.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/box.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/shelf.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/box.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/shelf.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/box.jpg|!img http://files/images/shelf.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img http://files/images/space.jpg|!img !img !img !img http://files/images/space.jpg|!img http://files/images/space.jpg|!img !img http://files/images/wall.jpg|
+|!img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|!img !img !img !img http://files/images/wall.jpg|!img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|!img !img !img !img http://files/images/wall.jpg|!img http://files/images/wall.jpg|!img !img http://files/images/wall.jpg|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/SokoBan/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/SokoBan/properties.xml
new file mode 100644
index 0000000000..bcff111558
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/SokoBan/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050116173631
+
+
+
+
+
+ 1104717955576
+ -1989728620921394516
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/content.txt
new file mode 100644
index 0000000000..a79235b2a1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/content.txt
@@ -0,0 +1,3 @@
+^InvoiceTable
+^ChatGraph
+^SokoBan
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/properties.xml
new file mode 100644
index 0000000000..68f177a246
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/CustomTables/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1100421050371
+ 8198272373258803299
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/AddBondSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/AddBondSetUp/content.txt
new file mode 100644
index 0000000000..838f046cdf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/AddBondSetUp/content.txt
@@ -0,0 +1,14 @@
+|!-rent.StartApplication-!|
+
+|''enter rental items''|
+|''name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''enter clients''|
+|''name''|''phone''|
+|Joanna|373 7599|
+
+|''client''|Joanna|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/AddBondSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/AddBondSetUp/properties.xml
new file mode 100644
index 0000000000..a5ba8b45c4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/AddBondSetUp/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081124201807
+
+
+
+
+ 1096856378612
+ -7350760794861695854
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetDate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetDate/content.txt
new file mode 100644
index 0000000000..4a5ad25e21
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetDate/content.txt
@@ -0,0 +1 @@
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetDate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetDate/properties.xml
new file mode 100644
index 0000000000..d154a9ba84
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetDate/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090041419328
+ -4932836538311190616
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetUp2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetUp2/content.txt
new file mode 100644
index 0000000000..66187be5a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetUp2/content.txt
@@ -0,0 +1,17 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetUp2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetUp2/properties.xml
new file mode 100644
index 0000000000..ed298c1c6a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/SetUp2/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081124201807
+
+
+
+
+
+ 1103511058843
+ -98041718459498383
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCancelTransaction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCancelTransaction/content.txt
new file mode 100644
index 0000000000..f873c670af
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCancelTransaction/content.txt
@@ -0,0 +1,24 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|100||cup|''for''|2|''weeks''|
+|''pay with cash $''|410.00|
+|reject|''cancel transaction''|
+|''refund cash $''|410.00|
+|''cancel transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCancelTransaction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCancelTransaction/properties.xml
new file mode 100644
index 0000000000..1f0e4c38cc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCancelTransaction/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081124201807
+
+
+
+
+
+ 1103512825173
+ -8130616810128926164
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCupsRental/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCupsRental/content.txt
new file mode 100644
index 0000000000..7e9d9e7c6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCupsRental/content.txt
@@ -0,0 +1,31 @@
+ * ''!-SetUp-!''
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|''account limit''|
+|Joanna|373 7599|0.00|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
+!3 ''Rental of cups for 2 weeks:''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|100||cup|''for''|2|''weeks''|
+|''pay with cash $''|410.00|
+|''complete transaction''|
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/06 09:01|2004/05/20 09:01|
+
+|''rental item subset''|
+|''name''|''count''|
+|cup|400|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCupsRental/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCupsRental/properties.xml
new file mode 100644
index 0000000000..37d876a152
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestCupsRental/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081124201807
+
+
+
+
+
+ 1106336746171
+ 2652471853356450518
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestEnsure/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestEnsure/content.txt
new file mode 100644
index 0000000000..d5652c17fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestEnsure/content.txt
@@ -0,0 +1,4 @@
+|''begin transaction for client''| Joanna |''staff''| Darryl|
+|ensure|''rent''|100||cup|''for''|2|''weeks''|
+|ensure|''pay with cash $''|210.00|
+|ensure|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestEnsure/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestEnsure/properties.xml
new file mode 100644
index 0000000000..49206fc189
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestEnsure/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096090224715
+ -2405389512390720163
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental10/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental10/content.txt
new file mode 100644
index 0000000000..c0910548cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental10/content.txt
@@ -0,0 +1,5 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''rent''|100||cup|''for''|2|''weeks''|
+|reject|''complete transaction''|
+|''pay with cash $''|210.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental10/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental10/properties.xml
new file mode 100644
index 0000000000..fe53a08773
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental10/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096857970262
+ 3875765006901580582
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental11/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental11/content.txt
new file mode 100644
index 0000000000..1161502ee3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental11/content.txt
@@ -0,0 +1,6 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|100||cup|''for''|2|''weeks''|
+|''pay with cash $''|410.00|
+|reject|''cancel transaction''|
+|''refund cash $''|410.00|
+|''cancel transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental11/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental11/properties.xml
new file mode 100644
index 0000000000..17a51290a3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental11/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20050119161917
+
+
+
+
+ 1106104757359
+ -5492646974841883832
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental3/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental3/content.txt
new file mode 100644
index 0000000000..0abf9c6ef0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental3/content.txt
@@ -0,0 +1,6 @@
+|''rent''|100||cup|''for''|2|''weeks''|
+|check|cost|210.00|
+
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''weeks''|
+|cup|100|2|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental3/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental3/properties.xml
new file mode 100644
index 0000000000..8efb73ee26
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental3/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090536139471
+ 5610194875711680057
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental4/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental4/content.txt
new file mode 100644
index 0000000000..1476bef4d8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental4/content.txt
@@ -0,0 +1,12 @@
+|''rent''|100||cup|''for''|2|''weeks''|
+|check|cost|210.00|
+
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''weeks''|
+|cup|100|2|
+
+|''rental item list''|
+|''name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|400|0.05|0.45|2.00|0.10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental4/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental4/properties.xml
new file mode 100644
index 0000000000..e3b94dfe8f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental4/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090536171627
+ 1196138245319219693
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental5/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental5/content.txt
new file mode 100644
index 0000000000..0439153cb9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental5/content.txt
@@ -0,0 +1,10 @@
+|''rent''|100||cup|''for''|2|''weeks''|
+|check|cost|210.00|
+
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''weeks''|
+|cup|100|2|
+
+|''rental item subset list''|
+|''name''|''count''|
+|cup|400|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental5/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental5/properties.xml
new file mode 100644
index 0000000000..f6d6ce332e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental5/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090536180955
+ 1174506135203659799
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental6/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental6/content.txt
new file mode 100644
index 0000000000..69bc5c4a7d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental6/content.txt
@@ -0,0 +1,10 @@
+|''rent''|100||cup|''for''|2|''weeks''|
+|check|cost|210.00|
+
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''start date''|''hours''|''days''|''weeks''|
+|cup|100|2004/05/06 09:01|0|0|2|
+
+|''rental item subset list''|
+|''name''|''count''|
+|cup|400|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental6/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental6/properties.xml
new file mode 100644
index 0000000000..ead2b28ab8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental6/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090536189001
+ 8196510164100554631
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental7/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental7/content.txt
new file mode 100644
index 0000000000..f9c2e7f53e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental7/content.txt
@@ -0,0 +1,3 @@
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/06 09:01|2004/05/20 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental7/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental7/properties.xml
new file mode 100644
index 0000000000..00b8ab1823
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental7/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090536003054
+ -9197059465426548798
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental8/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental8/content.txt
new file mode 100644
index 0000000000..e428a5e620
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental8/content.txt
@@ -0,0 +1,6 @@
+|''begin transaction for client''| Joanna |
+|''rent''|100||cup|''for''|2|''weeks''|
+|check|''total is $''|210.00 |
+|''pay with cash $''|210.00|
+|check|''total is $''|0.00 |
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental8/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental8/properties.xml
new file mode 100644
index 0000000000..28c19f5755
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental8/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096090129028
+ -3936642938350806004
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental9/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental9/content.txt
new file mode 100644
index 0000000000..f76dc0dec8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental9/content.txt
@@ -0,0 +1,12 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|100||cup|''for''|2|''weeks''|
+|''pay with cash $''|210.00|
+|''complete transaction''|
+
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/06 09:01|2004/05/20 09:01|
+
+|''rental item subset''|
+|''name''|''count''|
+|cup|400|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental9/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental9/properties.xml
new file mode 100644
index 0000000000..109170625a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestRental9/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096856868823
+ -650574645593338052
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestTransaction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestTransaction/content.txt
new file mode 100644
index 0000000000..3f73d728ff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestTransaction/content.txt
@@ -0,0 +1,4 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''rent''|100||cup|''for''|2|''weeks''|
+|''pay with cash $''|210.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestTransaction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestTransaction/properties.xml
new file mode 100644
index 0000000000..803ad1d302
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/TestTransaction/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1099799716123
+ 6997304733681375748
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/content.txt
new file mode 100644
index 0000000000..4f11c6d63b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/content.txt
@@ -0,0 +1,16 @@
+|^AddBondSetUp|
+|^TestRental3|
+|^TestRental4|
+|^TestRental5|
+|^SetDate|
+|^TestRental6|
+|^TestRental7|
+|^TestRental8|
+|^TestRental9|
+|^TestRental10|
+|^TestTransaction|
+|^SetUp2|
+|^TestCupsRental|
+|^TestRental11|
+|^TestCancelTransaction|
+|^TestEnsure|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/properties.xml
new file mode 100644
index 0000000000..9e5e43021f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/DateRentals/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20041221132152
+
+
+
+
+
+ 1103588512988
+ -4280091233552136392
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairCharge/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairCharge/content.txt
new file mode 100644
index 0000000000..0c3803a6b8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairCharge/content.txt
@@ -0,0 +1,16 @@
+|!-rent.CalculateCharge-!|
+
+|''rates $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''hours''|''days''|''hours()''|''days()''|
+|0|1|0|1|
+|23|0|0|1|
+
+|''rates $''|1.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''hours''|''days''|''hours()''|''days()''|
+|23|0|23|0|
+
+|''rates $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''hours''|''days''|''weeks''|''days()''|''weeks()''|
+|0|4|0|4|0|
+|0|5|0|0|1|
+|0|6|0|0|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairCharge/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairCharge/properties.xml
new file mode 100644
index 0000000000..61c0e00798
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairCharge/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041221131754
+
+
+
+
+ 1103588174421
+ 7638361516274043381
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDuration/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDuration/content.txt
new file mode 100644
index 0000000000..9f0a4e14f3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDuration/content.txt
@@ -0,0 +1,19 @@
+|!-rent.CalculateFairCharge-!|
+
+|''rates $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''duration''||''fairly-charged duration''|
+|1 day||1 day|
+|8 hours||8 hours|
+|9 hours||1 day|
+|23 hours||1 day|
+|3 days 4 hours||3 days 4 hours|
+
+|''rates $''|1.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''duration''||''fairly-charged duration''|
+|23 hours||23 hours|
+
+|''rates $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''duration''||''fairly-charged duration''|
+|4 days||4 days|
+|5 days||1 week|
+|6 days 5 hours||1 week|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDuration/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDuration/properties.xml
new file mode 100644
index 0000000000..999fef7ade
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDuration/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050118210903
+
+
+
+
+
+ 1106035743812
+ 5784669760121368829
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDurationFirstTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDurationFirstTable/content.txt
new file mode 100644
index 0000000000..45a260c0df
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDurationFirstTable/content.txt
@@ -0,0 +1,9 @@
+|!-rent.CalculateFairCharge-!|
+
+|''rates $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''duration''||''fairly-charged duration''|
+|1 day||1 day|
+|8 hours||8 hours|
+|9 hours||1 day|
+|23 hours||1 day|
+|3 days 4 hours||3 days 4 hours|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDurationFirstTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDurationFirstTable/properties.xml
new file mode 100644
index 0000000000..4170a6a005
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/FairChargeDurationFirstTable/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20050118211250
+
+
+
+
+ 1106035970734
+ -8353258307277069748
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefunded/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefunded/content.txt
new file mode 100644
index 0000000000..a843f5f9fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefunded/content.txt
@@ -0,0 +1,35 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
+
+|''set up rentals''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/06 09:01|2004/05/07 09:01|
+
+|''time is now''|2004/05/07 08:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|100||cup|
+|''refund cash $''|10.00|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|
+
+|''rental item subset''|
+|''name''|''count''|
+|cup|500|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefunded/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefunded/properties.xml
new file mode 100644
index 0000000000..edb40d8ce2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefunded/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081124201807
+
+
+
+
+
+ 1103513271444
+ 6387594741691041408
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefundedSub/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefundedSub/content.txt
new file mode 100644
index 0000000000..79fd1e62df
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefundedSub/content.txt
@@ -0,0 +1,10 @@
+|''enter rentals''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/06 09:01|2004/05/07 09:01|
+
+|''time is now''|2004/05/07 08:01|
+
+|''begin transaction for client''| Joanna |''staff''| Darryl|
+|''return''|100||cup|
+|''refund cash $''|10.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefundedSub/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefundedSub/properties.xml
new file mode 100644
index 0000000000..d3438cf200
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsNotRefundedSub/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1097022101211
+ -4033195546396108874
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsRefunded/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsRefunded/content.txt
new file mode 100644
index 0000000000..a319a61eda
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsRefunded/content.txt
@@ -0,0 +1,10 @@
+|''rental entry''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/06 09:01|2004/05/06 12:01|
+
+|''time is now''|2004/05/06 11:00|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return''|100||cup|
+|''refund cash $''|15.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsRefunded/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsRefunded/properties.xml
new file mode 100644
index 0000000000..f37dbccc05
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/OneHourEarlyIsRefunded/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1097022090305
+ -2269698691891356893
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable/content.txt
new file mode 100644
index 0000000000..b8674ca3a3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable/content.txt
@@ -0,0 +1,3 @@
+|!-CalculateRefund-!|
+|''per hour''|''per day''|''per week''|''pay from''|''pay to''|''returned''|''refund()''|
+|0.05|0.45|2.00|2004/05/06 09:01|2004/05/06 12:01|2004/05/06 11:00|5.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable/properties.xml
new file mode 100644
index 0000000000..6466209aee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20050118124047
+
+
+
+
+ 1106005247171
+ -5637148216100574961
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable2/content.txt
new file mode 100644
index 0000000000..37c64d88d2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable2/content.txt
@@ -0,0 +1,6 @@
+|!-CalculateRefund-!|
+|''per hour''|''per day''|''per week''|''hours1''|''days1''|''weeks1''|''hours2''|''days2''|''weeks2''|''refund()''|
+|0.05|0.45|2.00|3|0|0|3|0|0|0.00|
+||||3|0|0|2|0|0|5.00|
+||||0|1|0|23|0|0|0.00|
+||||0|1|0|0|1|0|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable2/properties.xml
new file mode 100644
index 0000000000..4b9dddeaae
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SketchedTable2/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20050118124135
+
+
+
+
+ 1106005295625
+ -2922946753653860441
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTables/content.txt
new file mode 100644
index 0000000000..19abad5534
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTables/content.txt
@@ -0,0 +1,21 @@
+|!-rent.CalculateRefund-!|
+
+|''rate $''|5.00|''/hour''|45.00|''/day''|200.00|''/week''|
+|''hours1''|''hours2''|''refund()''|
+|3|3|0.00|
+|3|2|5.00|
+|5|1|20.00|
+
+|''rate $''|5.00|''/hour''|45.00|''/day''|200.00|''/week''|
+|''hours1''|''days1''|''hours2''|''days2''|''refund()''|
+|0|1|0|1|0.00|
+|0|1|23|0|0.00|
+|0|2|0|1|45.00|
+|0|1|9|0|0.00|
+|0|1|8|0|5.00|
+
+|''rate $''|5.00|''/hour''|45.00|''/day''|200.00|''/week''|
+|''days1''|''weeks1''|''days2''|''weeks2''|''refund()''|
+|0|1|0|1|0.00|
+|0|1|6|0|0.00|
+|0|2|0|1|200.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTables/properties.xml
new file mode 100644
index 0000000000..97fc9fe4f5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTables/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20041220164410
+
+
+
+
+
+ 1103514250382
+ -4230648872352987809
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration/content.txt
new file mode 100644
index 0000000000..cac9ea1596
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration/content.txt
@@ -0,0 +1,37 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
+
+|''refund $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''paid time''|''actual time''||''refund''|
+|3 hours|3 hours||0.00|
+|3 hours|2 hours||5.00|
+|5 hours|1 hours||20.00|
+
+|''refund $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''paid time''|''actual time''||''refund''|
+|1 day|1 day||0.00|
+|1 day|23 hours||0.00|
+|2 days|1 day||45.00|
+|1 day|9 hours||0.00|
+|1 day|8 hours||5.00|
+
+|''refund $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''paid time''|''actual time''||''refund''|
+|1 week|1 week||0.00|
+|1 week|6 days||0.00|
+|2 weeks|1 week||200.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration/properties.xml
new file mode 100644
index 0000000000..fb2cf5eb36
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081124201807
+
+
+
+
+
+ 1103513360172
+ 12299728157022811
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration2/content.txt
new file mode 100644
index 0000000000..100d4bf0f3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration2/content.txt
@@ -0,0 +1,21 @@
+!|rent.CalculateRefund2|
+
+|''refund $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''paid time''|''actual time''||''refund''|
+|3 hours|3 hours||0.00|
+|3 hours|2 hours||5.00|
+|5 hours|1 hours||20.00|
+
+|''refund $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''paid time''|''actual time''||''refund''|
+|1 day|1 day||0.00|
+|1 day|23 hours||0.00|
+|2 days|1 day||45.00|
+|1 day|9 hours||0.00|
+|1 day|8 hours||5.00|
+
+|''refund $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''paid time''|''actual time''||''refund''|
+|1 week|1 week||0.00|
+|1 week|6 days||0.00|
+|2 weeks|1 week||200.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration2/properties.xml
new file mode 100644
index 0000000000..93cb148b68
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDuration2/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20050122105751
+
+
+
+
+
+
+ 1106344666937
+ -1487540448352330074
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDurationPart/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDurationPart/content.txt
new file mode 100644
index 0000000000..34b2582002
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDurationPart/content.txt
@@ -0,0 +1,8 @@
+|!-rent.StartApplication-!|
+
+|''refund $''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''paid time''|''actual time''||''refund''|
+|3 hours|3 hours||0.00|
+|3 hours|2 hours||5.00|
+|5 hours|1 hours||20.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDurationPart/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDurationPart/properties.xml
new file mode 100644
index 0000000000..69063d47b1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/SplitTablesDurationPart/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081124201807
+
+
+
+
+ 1099959612891
+ -3037585191142571208
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithKeywordParameters/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithKeywordParameters/content.txt
new file mode 100644
index 0000000000..3000c13116
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithKeywordParameters/content.txt
@@ -0,0 +1,6 @@
+|''calculate refund $''|0.05|''/hour''|0.45|''/day''|2.00|''/week''|
+|''hours1''|''days1''|''weeks1''|''hours2''|''days2''|''weeks2''|''refund()''|
+|3|0|0|3|0|0|0.00|
+|3|0|0|2|0|0|5.00|
+|0|1|0|23|0|0|0.00|
+|0|1|0|0|1|0|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithKeywordParameters/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithKeywordParameters/properties.xml
new file mode 100644
index 0000000000..aae09d91a2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithKeywordParameters/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090374284343
+ 5163104321195030289
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithParameters/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithParameters/content.txt
new file mode 100644
index 0000000000..b0a4c1f00c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithParameters/content.txt
@@ -0,0 +1,6 @@
+|!-CalculateRefund-!|0.05|0.45|2.00|
+|''hours1''|''days1''|''weeks1''|''hours2''|''days2''|''weeks2''|''refund()''|
+|3|0|0|3|0|0|0.00|
+|3|0|0|2|0|0|5.00|
+|0|1|0|23|0|0|0.00|
+|0|1|0|0|1|0|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithParameters/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithParameters/properties.xml
new file mode 100644
index 0000000000..9ac75547c4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/WithParameters/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090374265813
+ -8435995621388492150
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/content.txt
new file mode 100644
index 0000000000..bc08a56f04
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/content.txt
@@ -0,0 +1,14 @@
+^OneHourEarlyIsRefunded
+^OneHourEarlyIsNotRefundedSub
+^OneHourEarlyIsNotRefunded
+^SketchedTable
+^SketchedTable2
+^WithParameters
+^WithKeywordParameters
+^SplitTables
+^FairCharge
+^FairChargeDuration
+^FairChargeDurationFirstTable
+^SplitTablesDuration
+^SplitTablesDuration2
+^SplitTablesDurationPart
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/properties.xml
new file mode 100644
index 0000000000..714a7fa43e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/EarlyReturn/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050122105719
+
+
+
+
+
+ 1106344639812
+ 2208000211850980860
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/DiscountGroupsSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/DiscountGroupsSetUp/content.txt
new file mode 100644
index 0000000000..8b1b2706cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/DiscountGroupsSetUp/content.txt
@@ -0,0 +1,7 @@
+|!-DiscountGroupsSetUp-!|
+|future value|max balance|min purchase|discount %|
+|low|0.00|0.00|0|
+|medium|0.00|500.00|5|
+|medium|500.00|500.00|3|
+|high|500.00|2000.00|10|
+|high|1000.00|500.00|5|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/DiscountGroupsSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/DiscountGroupsSetUp/properties.xml
new file mode 100644
index 0000000000..523043c151
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/DiscountGroupsSetUp/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1095998895680
+ -5542328112299789571
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCloseRoomFails/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCloseRoomFails/content.txt
new file mode 100644
index 0000000000..225c206026
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCloseRoomFails/content.txt
@@ -0,0 +1,13 @@
+!2 A room can't be removed if someone is in it
+| !-ChatStart-! |
+
+|''connect user''|anna|
+
+|''user''|anna|''creates''|lotr|''room''|
+
+|''user''|anna|''enters''|lotr|''room''|
+|reject|''remove''|lotr|''room''|
+
+|''user''|anna|''leaves''|lotr|''room''|
+|''remove''|lotr|''room''|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCloseRoomFails/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCloseRoomFails/properties.xml
new file mode 100644
index 0000000000..0372c68aba
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCloseRoomFails/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1097006851535
+ 5447078082210024846
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJ/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJ/content.txt
new file mode 100644
index 0000000000..cfa56fa0e9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJ/content.txt
@@ -0,0 +1,7 @@
+|!-CalculateCredit3-!|
+|!-月数-!|!-信頼度-!|!-残高-!||!-クレジットを許可する-!|!-クレジットの限度-!|
+|14|!-真-!|5000.00||!-真-!|1000.00|
+|''0''|!-真-!|0.00||!-偽-!|0.00|
+|24|''!-偽-!''|0.00||!-偽-!|0.00|
+|18|!-真-!|''6000.00''||!-偽-!|0.00|
+|''12''|!-真-!|5500.00||!-真-!|1000.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJ/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJ/properties.xml
new file mode 100644
index 0000000000..7a60cd49d9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJ/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1098239181191
+ -9034401765706484141
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJapanese/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJapanese/content.txt
new file mode 100644
index 0000000000..1929e0eeb1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJapanese/content.txt
@@ -0,0 +1,9 @@
+|!-CalculateCredit4-!|
+
+|!-クレジットを計算する-!|
+|!-月数-!|!-信頼度-!|!-残高-!||!-クレジットを許可する-!|!-クレジットの限度-!|
+|14|!-真-!|5000.00||!-真-!|1000.00|
+|''0''|!-真-!|0.00||!-偽-!|0.00|
+|24|''!-偽-!''|0.00||!-偽-!|0.00|
+|18|!-真-!|''6000.00''||!-偽-!|0.00|
+|''12''|!-真-!|5500.00||!-真-!|1000.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJapanese/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJapanese/properties.xml
new file mode 100644
index 0000000000..7c8e20ed3c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditJapanese/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1098239090503
+ 2752721865597305739
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditK/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditK/content.txt
new file mode 100644
index 0000000000..152ad6e929
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditK/content.txt
@@ -0,0 +1,8 @@
+|!-신용 산정-!|
+|!-월-!|!-신용자격유무-!|!-잔액-!||!-신용허용-!|!-신용한도액-!|
+|14|!-예-!|5000.00||!-예-!|1000.00|
+|0|!-예-!|0.00||!-아니오-!|0.00|
+|24|!-아니오-!|0.00||!-아니오-!|0.00|
+|18|!-예-!|6000.00||!-아니오-!|0.00|
+|12|!-예-!|5500.00||!-예-!|1000.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditK/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditK/properties.xml
new file mode 100644
index 0000000000..81f14c23f1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditK/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1098302293590
+ -4712413506879578717
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditKorean/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditKorean/content.txt
new file mode 100644
index 0000000000..f244afa75f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditKorean/content.txt
@@ -0,0 +1,10 @@
+|!-CalculateCredit4-!|
+
+|!-신용 산정-!|
+|!-월-!|!-신용자격유무-!|!-잔액-!||!-신용허용-!|!-신용한도액-!|
+|14|!-예-!|5000.00||!-예-!|1000.00|
+|0|!-예-!|0.00||!-아니오-!|0.00|
+|24|!-아니오-!|0.00||!-아니오-!|0.00|
+|18|!-예-!|6000.00||!-아니오-!|0.00|
+|12|!-예-!|5500.00||!-예-!|1000.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditKorean/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditKorean/properties.xml
new file mode 100644
index 0000000000..084e189ef1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestCreditKorean/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1098302336996
+ -8757211782805025040
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDisconnect/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDisconnect/content.txt
new file mode 100644
index 0000000000..62905a0848
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDisconnect/content.txt
@@ -0,0 +1,15 @@
+| !-ChatStart-! |
+
+|''connect user''|anna|
+
+|''user''|anna|''creates''|lotr|''room''|
+
+|''user''|anna|''enters''|lotr|''room''|
+
+|''users in room''|lotr|
+|''name''|
+|luke|
+
+|''disconnect user''|anna|
+
+|check|''occupant count''|lotr|0|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDisconnect/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDisconnect/properties.xml
new file mode 100644
index 0000000000..00a4a3b558
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDisconnect/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20070815113556
+
+
+
+
+
+ 1187192156397
+ -2486610678125806879
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscount/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscount/content.txt
new file mode 100644
index 0000000000..0a8e6df9e8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscount/content.txt
@@ -0,0 +1,8 @@
+|!-CalculatedDiscount-!|
+|''$''||''discount''|
+|0.00||0.00|
+|1000.00||0.00|
+|1010.00||50.50|
+|1100.00||55.00|
+|1200.00||60.00|
+|2000.00||100.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscount/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscount/properties.xml
new file mode 100644
index 0000000000..3a30de2259
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscount/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1095991223538
+ -4259722243261850206
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroups/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroups/content.txt
new file mode 100644
index 0000000000..e1a0a6431d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroups/content.txt
@@ -0,0 +1,7 @@
+|!-DiscountGroupsEntry-!|
+|future value|max balance|min purchase|discount %|add()|
+|low|0.00|0.00|0|true|
+|medium|0.00|500.00|5|true|
+|medium|500.00|500.00|3|true|
+|high|500.00|2000.00|10|true|
+|high|1000.00|500.00|5|true|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroups/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroups/properties.xml
new file mode 100644
index 0000000000..40c9cafe9c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroups/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1089709089640
+ 6628935846650040515
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroupsArray/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroupsArray/content.txt
new file mode 100644
index 0000000000..906e3286e8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroupsArray/content.txt
@@ -0,0 +1,8 @@
+|!-DiscountGroupArrayList-!|
+|''future value''|''max owing''|''min purchase''|''discount %''|
+|low|0.00|0.00|0|
+|low|0.00|2000.00|3|
+|medium|500.00|600.00|3|
+|medium|0.00|500.00|5|
+|high|2000.00|2000.00|10|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroupsArray/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroupsArray/properties.xml
new file mode 100644
index 0000000000..0301f27b5d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDiscountGroupsArray/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1088843734894
+ 4874997366064778968
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDoDiscountGroups/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDoDiscountGroups/content.txt
new file mode 100644
index 0000000000..0f37739a72
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDoDiscountGroups/content.txt
@@ -0,0 +1,26 @@
+|Discounts|
+
+|set ups|
+|''future value''|''max balance''|''min purchase''|''discount %''|
+|low|0.00|0.00|0|
+|medium|0.00|500.00|5|
+|medium|500.00|500.00|3|
+|high|500.00|2000.00|10|
+|high|1000.00|500.00|5|
+
+|''calculate with''|low|''future value''|
+|''owing''|''purchase''||''discount''|
+|0.00|1000.00||0.00|
+|1000.00|5000.00||0.00|
+
+|ordered list|
+|''future value''|''max owing''|''min purchase''|''discount %''|
+|low|0.00|0.00|0|
+|medium|0.00|500.00|5|
+|medium|500.00|500.00|3|
+|high|500.00|2000.00|10|
+|high|1000.00|500.00|5|
+
+|subset|
+|''future value''|''max owing''|''min purchase''|''discount %''|
+|low|0.00|0.00|0|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDoDiscountGroups/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDoDiscountGroups/properties.xml
new file mode 100644
index 0000000000..245d25fce3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestDoDiscountGroups/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20041220150154
+
+
+
+
+
+ 1103508114890
+ 4380711467834409173
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestLeaveByDisconnect/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestLeaveByDisconnect/content.txt
new file mode 100644
index 0000000000..e00358ccf5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestLeaveByDisconnect/content.txt
@@ -0,0 +1,12 @@
+!2 A disconnected user leaves all rooms
+| !-ChatStart-! |
+
+|''connect user''|anna|
+
+|''user''|anna|''creates''|lotr|''room''|
+
+|''user''|anna|''enters''|lotr|''room''|
+
+|''disconnect user''|anna|
+
+|''room is empty''|lotr|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestLeaveByDisconnect/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestLeaveByDisconnect/properties.xml
new file mode 100644
index 0000000000..82e310cb1d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestLeaveByDisconnect/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1097006809799
+ 8816180592731440738
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestRoom/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestRoom/content.txt
new file mode 100644
index 0000000000..171df5e0f4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestRoom/content.txt
@@ -0,0 +1,10 @@
+| !-ChatStart-! |
+
+|''connect user''|anna|
+
+|''user''|anna|''creates''|lotr|''room''|
+
+|''user''|anna|''enters''|lotr|''room''|
+
+|''room''|lotr|
+|check|''occupant count''|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestRoom/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestRoom/properties.xml
new file mode 100644
index 0000000000..a6c1610dc0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestRoom/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1097006869848
+ 6485426868977100253
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSetUp/content.txt
new file mode 100644
index 0000000000..c965ac3986
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSetUp/content.txt
@@ -0,0 +1,7 @@
+|set ups|
+|''future value''|''max balance''|''min purchase''|''discount %''|
+|low|0.00|0.00|0|
+|medium|0.00|500.00|5|
+|medium|500.00|500.00|3|
+|high|500.00|2000.00|10|
+|high|1000.00|500.00|5|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSetUp/properties.xml
new file mode 100644
index 0000000000..15f194baf2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSetUp/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20041220150812
+
+
+
+
+ 1103508484752
+ 7099110686233908171
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSubset/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSubset/content.txt
new file mode 100644
index 0000000000..660389bfdf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSubset/content.txt
@@ -0,0 +1,4 @@
+|!-DiscountGroupSubsetList-!|
+|''future value''|''max owing''|''min purchase''|''discount %''|
+|high|2000.00|2000.00|10|
+|medium|0.00|500.00|5|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSubset/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSubset/properties.xml
new file mode 100644
index 0000000000..14fb0eb86a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestSubset/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1084136575708
+ 9087257986554515635
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestUser/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestUser/content.txt
new file mode 100644
index 0000000000..04ba9370c6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestUser/content.txt
@@ -0,0 +1,11 @@
+|!-ChatStart-!|
+
+|''connect''|anna|
+|''creates''|lotr|''room''|
+|''enters''|lotr|''room''|
+
+|''room''|lotr|
+|check|''owner''|anna|
+|''rename''|LOTR|
+
+|check|''occupant count''|LOTR|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestUser/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestUser/properties.xml
new file mode 100644
index 0000000000..a6e4cbe053
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/TestUser/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1097012695020
+ 3623482506674058446
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/content.txt
new file mode 100644
index 0000000000..046309972b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/content.txt
@@ -0,0 +1,3 @@
+|!contents|
+
+^TestSetUp
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/properties.xml
new file mode 100644
index 0000000000..7613a86580
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/FlowTables/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1102200121607
+ -9013501541955762290
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLate/content.txt
new file mode 100644
index 0000000000..bb0f5b5059
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLate/content.txt
@@ -0,0 +1,8 @@
+|!-rent.CalculateLateHours-!|
+|''hours late''|''grace''|''count grace''|''high demand''|''extra hours()''|
+|0|1|yes|10|0|
+|0.9|1|no|10|0|
+|1|1|yes|5|6|
+|1|1|no|12|0|
+|9|1|no|10|18|
+|19|2|no|100|117|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLate/properties.xml
new file mode 100644
index 0000000000..8fa1125d49
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLate/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1096853347163
+ 3566807414116646296
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFive/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFive/content.txt
new file mode 100644
index 0000000000..0066eecb15
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFive/content.txt
@@ -0,0 +1,8 @@
+|calculate late extra|
+|''hours late''|''count grace''|''extra time()''|
+|0|yes|0|
+|0.9|no|0|
+|1|yes|1|
+|1|no|0|
+|9|yes|9|
+|9|no|8|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFive/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFive/properties.xml
new file mode 100644
index 0000000000..a9b42b96e7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFive/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096853129009
+ -5195695182525525731
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFour/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFour/content.txt
new file mode 100644
index 0000000000..190e5e95ab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFour/content.txt
@@ -0,0 +1,6 @@
+|calculate late extra|
+|''hours late''|''extra time()''|
+|0|0|
+|0.9|0|
+|1|1|
+|9|9|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFour/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFour/properties.xml
new file mode 100644
index 0000000000..a7aa026307
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateFour/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096853098103
+ -7155626822349034253
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateOne/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateOne/content.txt
new file mode 100644
index 0000000000..7d3ee2a7e1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateOne/content.txt
@@ -0,0 +1,2 @@
+|calculate late fee|
+|''hire period''|''late''|''hour''|''day''|''week''|''fee()''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateOne/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateOne/properties.xml
new file mode 100644
index 0000000000..292a24e985
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateOne/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096852862182
+ -2631010543751401421
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSeven/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSeven/content.txt
new file mode 100644
index 0000000000..91e1418516
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSeven/content.txt
@@ -0,0 +1,8 @@
+|!-rent.CalculateLateHours-!|
+|''hours late''|''grace''|''count grace''|''high demand''|''extra hours()''|
+|0|1|yes|0|0|
+|0.9|1|no|0|0|
+|1|1|yes|0|1|
+|1|1|no|0|0|
+|9|1|yes|0|9|
+|19|2|no|0|17|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSeven/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSeven/properties.xml
new file mode 100644
index 0000000000..f70839114b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSeven/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1096853339913
+ 4614621852788922485
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSix/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSix/content.txt
new file mode 100644
index 0000000000..f039dd31db
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSix/content.txt
@@ -0,0 +1,9 @@
+|calculate late extra|
+|''hours late''|''grace''|''count grace''|''extra time()''|
+|0|1|yes|0|
+|0.9|1|no|0|
+|1|1|yes|1|
+|1|1|no|0|
+|9|1|yes|9|
+|19|2|no|17|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSix/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSix/properties.xml
new file mode 100644
index 0000000000..90321b59ac
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateSix/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096853142118
+ -2691618851139603225
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateThree/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateThree/content.txt
new file mode 100644
index 0000000000..353c9814f5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateThree/content.txt
@@ -0,0 +1,2 @@
+|calculate late extra|
+|''hire period''|''hours late''|''extra time()''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateThree/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateThree/properties.xml
new file mode 100644
index 0000000000..9dc7e18876
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateThree/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096853072400
+ 8908255723036931588
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateTwo/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateTwo/content.txt
new file mode 100644
index 0000000000..1159e3c53e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateTwo/content.txt
@@ -0,0 +1,2 @@
+|calculate late fee|
+|''hire period''|''hours late''|''per hour''|''per day''|''per week''|''late fee()''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateTwo/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateTwo/properties.xml
new file mode 100644
index 0000000000..eec4c50dc2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/TestLateTwo/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20050118124833
+
+
+
+
+ 1106005713250
+ 7442530544783113550
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/content.txt
new file mode 100644
index 0000000000..bdc37266c0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/content.txt
@@ -0,0 +1,8 @@
+^TestLateOne
+^TestLateTwo
+^TestLateThree
+^TestLateFour
+^TestLateFive
+^TestLateSix
+^TestLateSeven
+^TestLate
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/properties.xml
new file mode 100644
index 0000000000..2cef92d500
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/LateReturns/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20041219201638
+
+
+
+
+
+ 1103440598178
+ -2105419522638437575
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/PageFooter/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/PageFooter/content.txt
new file mode 100644
index 0000000000..54fd689b34
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/PageFooter/content.txt
@@ -0,0 +1 @@
+----[.FrontPage][.FitBook][.BuildBookTables][.ErrorLogs]----
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/PageFooter/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/PageFooter/properties.xml
new file mode 100644
index 0000000000..a551432b2a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/PageFooter/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1089858445593
+ -700435059811998298
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate/content.txt
new file mode 100644
index 0000000000..c6bfa9be2f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate/content.txt
@@ -0,0 +1,5 @@
+|''create template''|
+|''add item''|coffee dispenser|''with multipler''|0.04|
+|''add item''|hot water dispenser|''with multipler''|0.04|
+|''add item''|coffee table|''with multipler''|0.02|
+|''add item''|cup|''with multiplier''|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate/properties.xml
new file mode 100644
index 0000000000..8152b972d3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090640763532
+ -8998147639246899080
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate2/content.txt
new file mode 100644
index 0000000000..214fb3b45b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate2/content.txt
@@ -0,0 +1,5 @@
+|''create template''|coffee break|
+|''item''|coffee dispenser|''for''|20|''people''|
+|''item''|hot water dispenser|''for''|20|''people''|
+|''item''|coffee table|''for''|40|''people''|
+|''item''|cup|''for''|1|''people''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate2/properties.xml
new file mode 100644
index 0000000000..7dc06f62c6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate2/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1091490029499
+ 4850754122034951071
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate3/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate3/content.txt
new file mode 100644
index 0000000000..1937074205
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate3/content.txt
@@ -0,0 +1,5 @@
+|''create template''|coffee breaker|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|0.9|''people''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate3/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate3/properties.xml
new file mode 100644
index 0000000000..e253c7e3e4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplate3/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20050118082518
+
+
+
+
+ 1105989918656
+ -359611289546576362
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplateNoPeople/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplateNoPeople/content.txt
new file mode 100644
index 0000000000..78421d93fb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplateNoPeople/content.txt
@@ -0,0 +1,5 @@
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplateNoPeople/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplateNoPeople/properties.xml
new file mode 100644
index 0000000000..83914aafb7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/CreateTemplateNoPeople/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20050118082425
+
+
+
+
+ 1105989865656
+ -3982486372629017851
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/EnterTemplate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/EnterTemplate/content.txt
new file mode 100644
index 0000000000..1e18fe416c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/EnterTemplate/content.txt
@@ -0,0 +1,5 @@
+|''enter template''|coffee break|
+|''rental item''|''proportion''|
+|cups|1.1|
+|spoons|0.6|
+|drinks table|0.05|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/EnterTemplate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/EnterTemplate/properties.xml
new file mode 100644
index 0000000000..b857f2c01a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/EnterTemplate/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090639654201
+ 2663235919449707260
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate/content.txt
new file mode 100644
index 0000000000..4f668cc1f0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate/content.txt
@@ -0,0 +1,2 @@
+|''create template''|conference|
+|''template''|coffee break|''for''|...|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate/properties.xml
new file mode 100644
index 0000000000..91ae87e9c9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1090642977551
+ -2879328505939640781
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate2/content.txt
new file mode 100644
index 0000000000..0af090cef7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate2/content.txt
@@ -0,0 +1,3 @@
+|''create template''|conference|
+|''use template''|coffee break|
+|''item''|registration desk|''for''|200|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate2/properties.xml
new file mode 100644
index 0000000000..7b7326e2bc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/NestTemplate2/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1091329792107
+ 5913218499017287801
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularBooking/content.txt
new file mode 100644
index 0000000000..0d8cb7de6a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularBooking/content.txt
@@ -0,0 +1 @@
+|''book''|100||cup|''on''|2004/06/01 18:00|''for''|1 day|''every''|1 week|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularBooking/properties.xml
new file mode 100644
index 0000000000..dfcc7868f4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularBooking/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096944599470
+ 8236221389324984032
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateAccepted/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateAccepted/content.txt
new file mode 100644
index 0000000000..fc3613be35
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateAccepted/content.txt
@@ -0,0 +1,45 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
+
+|''template entry''|coffee break|
+|''item''|''for''|
+|coffee dispenser|20|
+|hot water dispenser|20|
+|coffee table|40|
+|cup|0.9|
+
+|''booked template entry''|Joanna|
+|''template''|''people''|''from'' |''to'' |''repeat''|
+|coffee break|21 |2004/06/01 18:00 |2004/06/02 18:00| 1 week |
+
+|''time is now''| 2004/06/01 18:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''accept booking''|coffee break|''for''|21|''on''|2004/06/01 18:00|''for''|1 day|''every''|1 week|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|hot water dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|coffee table|1|2004/05/06 09:01|2004/05/07 09:01|
+|cup|24|2004/05/06 09:01|2004/05/07 09:01|
+
+|''booked template list''|Joanna|
+|''template''|''people''|''from'' |''to'' |''repeat''|
+|coffee break|21 |2004/06/02 18:00 |2004/06/03 18:00| 1 week |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateAccepted/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateAccepted/properties.xml
new file mode 100644
index 0000000000..bdf96d5ab3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateAccepted/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081124201807
+
+
+
+
+ 1103514399977
+ 3071147612673866662
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBooking/content.txt
new file mode 100644
index 0000000000..3a79c998ac
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBooking/content.txt
@@ -0,0 +1,7 @@
+|''begin trans...''| Joanna |''staff''| Bill|
+|''book''|coffee break|''for''|40|''on''|2004/06/01 18:00|''for''|1 day|''every''|1 week|
+|''complete transaction''|
+
+|''booked template list''|Joanna|
+|''template''|''people''|''from'' |''to'' |''repeat''|
+|coffee break|40 |2004/06/01 18:00 |2004/06/02 18:00| 1 week |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBooking/properties.xml
new file mode 100644
index 0000000000..1227114b71
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBooking/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096944641861
+ 3370080018946564631
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBookingPartial/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBookingPartial/content.txt
new file mode 100644
index 0000000000..65e2fc99cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBookingPartial/content.txt
@@ -0,0 +1 @@
+|''book''|coffee break|''for''|40|''on''|2004/06/01 18:00|''for''|1 day|''every''|1 week|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBookingPartial/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBookingPartial/properties.xml
new file mode 100644
index 0000000000..1e42ffa5f7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/RegularTemplateBookingPartial/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096944520406
+ -8589597500978150659
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplate/content.txt
new file mode 100644
index 0000000000..74c3b1c9cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplate/content.txt
@@ -0,0 +1,12 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''fill template''|coffee break|''for''|40|''people for''|1 day|
+|''pay with cash $''|65.40|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|hot water dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|coffee table|1|2004/05/06 09:01|2004/05/07 09:01|
+|cup|40|2004/05/06 09:01|2004/05/07 09:01|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplate/properties.xml
new file mode 100644
index 0000000000..b340e60280
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplate/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096943453432
+ -7773942475598795814
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateRounding/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateRounding/content.txt
new file mode 100644
index 0000000000..a73b481f5e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateRounding/content.txt
@@ -0,0 +1,12 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''fill template''|coffee breaker|''for''|21|''people for''|1 day|
+|''pay with cash $''|65.40|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|hot water dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|coffee table|1|2004/05/06 09:01|2004/05/07 09:01|
+|cup|24|2004/05/06 09:01|2004/05/07 09:01|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateRounding/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateRounding/properties.xml
new file mode 100644
index 0000000000..412aa71a96
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateRounding/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096943647161
+ 9100074747883518813
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateToBook/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateToBook/content.txt
new file mode 100644
index 0000000000..c11b684b51
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateToBook/content.txt
@@ -0,0 +1,2 @@
+|''transaction''|
+|''fill template''|coffee break|''for''|40|''people on''|2004/06/01 18:00|''for''|1 day|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateToBook/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateToBook/properties.xml
new file mode 100644
index 0000000000..94a0013725
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/UseTemplateToBook/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096943481963
+ 7404037050714082702
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/content.txt
new file mode 100644
index 0000000000..2a5ed1f66b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/content.txt
@@ -0,0 +1,16 @@
+^CreateTemplate
+^CreateTemplate2
+^UseTemplate
+^UseTemplateToBook
+^EnterTemplate
+^NestTemplate
+^NestTemplate2
+^CreateTemplateNoPeople
+^CreateTemplate3
+^UseTemplateRounding
+^RegularBooking
+^RegularTemplateBookingPartial
+^RegularTemplateBooking
+^RegularTemplateAccepted
+
+!path C:\Documents and Settings\rick\My Documents\work\fitnesse\Examples\PseudoRPS\build
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/properties.xml
new file mode 100644
index 0000000000..5c6bc58a6e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RentalTemplate/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20050103170759
+
+
+
+
+ 1103514694951
+ 312789850304008872
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/CorrectDiscountGroups/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/CorrectDiscountGroups/content.txt
new file mode 100644
index 0000000000..302c25e5e7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/CorrectDiscountGroups/content.txt
@@ -0,0 +1,7 @@
+|!-DiscountGroupList-!|
+|''max owing''|''min purchase''|''future value''|''discount percent''|
+|2000.00|2000.00|high|10|
+|0.00|500.00|medium|5|
+|500.00|600.00|medium|3|
+|0.00|0.00|low|0|
+|0.00|2000.00|low|3|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/CorrectDiscountGroups/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/CorrectDiscountGroups/properties.xml
new file mode 100644
index 0000000000..c487b8007f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/CorrectDiscountGroups/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050118095310
+
+
+
+
+
+ 1105995190828
+ 4483693013220042532
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyExercise/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyExercise/content.txt
new file mode 100644
index 0000000000..131fa3e308
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyExercise/content.txt
@@ -0,0 +1,12 @@
+|!-CardHandList-!|
+|''suit''|''card''|
+|heart|ace|
+|heart|queen|
+|diamond|king|
+|diamond|7|
+|club|king|
+|club|jack|
+|club|10|
+|club|9|
+|club|4|
+|spade|ace|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyExercise/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyExercise/properties.xml
new file mode 100644
index 0000000000..b0b198cd69
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyExercise/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1092006917466
+ 6718807127937712093
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyTwoExercise/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyTwoExercise/content.txt
new file mode 100644
index 0000000000..368ed8aa9b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyTwoExercise/content.txt
@@ -0,0 +1,6 @@
+|!-CalculateMoney-!|
+|''money''|''multiplier''|''result()''|
+|0.00|5|0.00|
+|12.00|5|60.00|
+|24.00|1|24.00|
+|100|15|1500.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyTwoExercise/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyTwoExercise/properties.xml
new file mode 100644
index 0000000000..39c2b58ba2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/IdentifyTwoExercise/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1092006930887
+ -2823014788647887087
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestArrayWrong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestArrayWrong/content.txt
new file mode 100644
index 0000000000..0167e2b000
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestArrayWrong/content.txt
@@ -0,0 +1,7 @@
+|!-DiscountGroupArrayList-!|
+|''futureValue''|''maxOwing''|''minPurchase''|''discountPercent''|
+|low|0.00|0.00|0|
+|low|0.00|2000.00|3|
+|medium|500.00|600.00|3|
+|high|2000.00|2000.00|10|
+|medium|0.00|500.00|5|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestArrayWrong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestArrayWrong/properties.xml
new file mode 100644
index 0000000000..423d77f61c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestArrayWrong/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1084136647392
+ 5226992773254598637
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupOrderedSet/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupOrderedSet/content.txt
new file mode 100644
index 0000000000..67be8090c9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupOrderedSet/content.txt
@@ -0,0 +1,8 @@
+|!-DiscountGroupOrderedList-!|
+|''order''|''future value''|''max owing''|''min purchase''|''discount percent''|
+|1|low|0.00|0.00|0|
+|2|low|0.00|2000.00|3|
+|3|medium|500.00|600.00|3|
+|4|medium|0.00|500.00|5|
+|5|high|2000.00|2000.00|10|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupOrderedSet/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupOrderedSet/properties.xml
new file mode 100644
index 0000000000..431f2634e6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupOrderedSet/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050118095340
+
+
+
+
+
+ 1105995220718
+ 3789582036433309737
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroups/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroups/content.txt
new file mode 100644
index 0000000000..34e9ff9380
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroups/content.txt
@@ -0,0 +1,7 @@
+|!-DiscountGroupList-!|
+|''future value''|''max owing''|''min purchase''|''discount percent''|
+|low|0.00|0.00|0|
+|medium|500.00|500.00|3|
+|medium|0.00|500.00|5|
+|high|1000.00|500.00|5|
+|high|2000.00|2000.00|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroups/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroups/properties.xml
new file mode 100644
index 0000000000..7953de1d29
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroups/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050118095351
+
+
+
+
+
+ 1105995231578
+ -7739721236872960887
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsBrief/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsBrief/content.txt
new file mode 100644
index 0000000000..db8a949c44
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsBrief/content.txt
@@ -0,0 +1,7 @@
+|!-DiscountGroupArrayList-!|
+|''discount percent''|''future value''|
+|0|low|
+|3|low|
+|3|medium|
+|5|medium|
+|10|high|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsBrief/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsBrief/properties.xml
new file mode 100644
index 0000000000..0e5df5c466
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsBrief/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050118095401
+
+
+
+
+
+ 1105995241921
+ -1971807271429235840
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsExercise/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsExercise/content.txt
new file mode 100644
index 0000000000..61cfd3333b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsExercise/content.txt
@@ -0,0 +1,6 @@
+|!-DiscountGroupList-!|
+|''future value''|''max owing''|''min purchase''|''discount percent''|
+|low|0.00|0.00|0|
+|medium|500.00|600.00|3|
+|medium|0.00|500.00|5|
+|low|0.00|500.00|5|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsExercise/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsExercise/properties.xml
new file mode 100644
index 0000000000..6908235af6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestDiscountGroupsExercise/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050118095411
+
+
+
+
+
+ 1105995251250
+ -4948750630152779546
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestNoOccupants/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestNoOccupants/content.txt
new file mode 100644
index 0000000000..60b5242900
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestNoOccupants/content.txt
@@ -0,0 +1,2 @@
+|!-OccupantList-!|
+|''user''|''room''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestNoOccupants/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestNoOccupants/properties.xml
new file mode 100644
index 0000000000..3be8f50665
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestNoOccupants/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1092006842593
+ 3449744166187342610
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupants/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupants/content.txt
new file mode 100644
index 0000000000..6561712758
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupants/content.txt
@@ -0,0 +1,4 @@
+|!-OccupantList-!|
+|''user''|''room''|
+|anna|lotr|
+|luke|lotr|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupants/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupants/properties.xml
new file mode 100644
index 0000000000..4f5f966af3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupants/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1092006828296
+ 2296662917701875011
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsExercise/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsExercise/content.txt
new file mode 100644
index 0000000000..fb9d46cc01
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsExercise/content.txt
@@ -0,0 +1,5 @@
+|!-OccupantList-!|
+|''user''|''room''|
+|anna|lotr|
+|luke|Lotr|
+|warren|shrek|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsExercise/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsExercise/properties.xml
new file mode 100644
index 0000000000..88c5496621
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsExercise/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1092006853952
+ -8982059963632729202
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsInRoom/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsInRoom/content.txt
new file mode 100644
index 0000000000..6816fec16f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsInRoom/content.txt
@@ -0,0 +1,4 @@
+|!-OccupantListInRoom-!|lotr|
+|''user''|
+|anna|
+|luke|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsInRoom/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsInRoom/properties.xml
new file mode 100644
index 0000000000..6b7125dfaa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsInRoom/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1089674305531
+ 5238529625110304602
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsWrong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsWrong/content.txt
new file mode 100644
index 0000000000..ac9de70d0f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsWrong/content.txt
@@ -0,0 +1,4 @@
+|!-OccupantList-!|
+|''user''|''room''|
+|anna|shrek|
+|luke|lotr|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsWrong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsWrong/properties.xml
new file mode 100644
index 0000000000..9abf250bbb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestOccupantsWrong/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1092006868249
+ -4837595703700463015
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestSomeElements/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestSomeElements/content.txt
new file mode 100644
index 0000000000..0a14dc1ebc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestSomeElements/content.txt
@@ -0,0 +1,4 @@
+|!-DiscountGroupOrderedSubsetList-!|
+|''order''|''futureValue''|''maxOwing''|''minPurchase''|''discountPercent''|
+|1|low|0.00|0.00|0|
+|5|high|2000.00|2000.00|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestSomeElements/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestSomeElements/properties.xml
new file mode 100644
index 0000000000..c577d2baa5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/TestSomeElements/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1084136669798
+ 6013834181592718870
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/content.txt
new file mode 100644
index 0000000000..04a927dc77
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/content.txt
@@ -0,0 +1,2 @@
+|!contents|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/properties.xml
new file mode 100644
index 0000000000..4f7c9140a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/RowFixtureTables/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1095043689386
+ -4187137926954459676
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/StrictCopyRight/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/StrictCopyRight/content.txt
new file mode 100644
index 0000000000..9de4d1fce5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/StrictCopyRight/content.txt
@@ -0,0 +1 @@
+Copyright (c) 2003 Rick Mugridge (rimu), University of Auckland, NZ
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/StrictCopyRight/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/StrictCopyRight/properties.xml
new file mode 100644
index 0000000000..7db0714d5a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/StrictCopyRight/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1071035997796
+ 7053425932806603729
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainTwisters/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainTwisters/content.txt
new file mode 100644
index 0000000000..cc391cbb53
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainTwisters/content.txt
@@ -0,0 +1 @@
+|''book''| 5 || coffee pot |''from''| 2004/05/13 11:01 |''to''| 2004/05/14 09:01 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainTwisters/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainTwisters/properties.xml
new file mode 100644
index 0000000000..7846491dd3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainTwisters/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1097786786059
+ 4587262957003770652
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainUntwisted/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainUntwisted/content.txt
new file mode 100644
index 0000000000..5db1fed83f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainUntwisted/content.txt
@@ -0,0 +1 @@
+|''book''| 5 || coffee pot |''on''| 2004/05/13 11:01 |''for''| 22 hours|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainUntwisted/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainUntwisted/properties.xml
new file mode 100644
index 0000000000..05262fd991
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/BrainUntwisted/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1097786795653
+ -1778561120530567287
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ColumnForAction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ColumnForAction/content.txt
new file mode 100644
index 0000000000..1606830f9a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ColumnForAction/content.txt
@@ -0,0 +1,4 @@
+|!-hire.ChangeRentals-!|
+|''rental item''|''count''|''days''|''returns()''|''running total()''|
+|coffee urn|5|1|true|-100.00|
+|hot water urn|2|1|true|-140.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ColumnForAction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ColumnForAction/properties.xml
new file mode 100644
index 0000000000..0a77c524e4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ColumnForAction/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1097812781288
+ 4416288794835496795
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/CombinedTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/CombinedTables/content.txt
new file mode 100644
index 0000000000..7681ad88d8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/CombinedTables/content.txt
@@ -0,0 +1,6 @@
+ * ''Check the booking has been made''
+|''bookings for''|Joanna|
+|rental item|count|''start date''|''end date''|
+|cup|40|2004/06/01 18:00|2004/06/02 18:00|
+|table|5|2004/06/01 18:00|2004/06/02 18:00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/CombinedTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/CombinedTables/properties.xml
new file mode 100644
index 0000000000..70608b4b62
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/CombinedTables/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088170203442
+ 2248966238844563709
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/content.txt
new file mode 100644
index 0000000000..f3efc4d352
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/content.txt
@@ -0,0 +1,22 @@
+|''create template''|wedding|
+|''add item''|cup|''with multiplier''|1.0|
+|''add item''|table|''with multipler''|0.125|
+ * ''Make a booking off that template:''
+|''begin transaction for client''| Joanna |''staff''| Bob |
+
+|''transaction''|
+|''select template''|wedding|''for''|40|''people on''|2004/06/01 18:00|''for''|0|''weeks''|1|''days''|0|''hours''|
+
+|''complete transaction''|
+ * ''Check the booking has been made''
+|''bookings for''|Joanna|
+|rental item|count|
+|cup|40|
+|table|5|
+
+|''bookings for''|Joanna|
+|rental item|''start date''|''end date''|
+|cup|2004/06/01 18:00|2004/06/02 18:00|
+|table|2004/06/01 18:00|2004/06/02 18:00|
+
+^CombinedTables
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/properties.xml
new file mode 100644
index 0000000000..4967a3592a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/CombineTables/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088170235799
+ 6592656478697151393
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsMoreSimilar/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsMoreSimilar/content.txt
new file mode 100644
index 0000000000..f619c80f46
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsMoreSimilar/content.txt
@@ -0,0 +1,9 @@
+|''chat server''|
+
+||anna|''connects''|
+
+||anna|''creates''|lotr|''room''|
+
+||anna|''enters''|lotr|''room''|
+
+|reject||anna|''removes''|lotr|''room''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsMoreSimilar/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsMoreSimilar/properties.xml
new file mode 100644
index 0000000000..7cb34b6ea9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsMoreSimilar/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096946514874
+ 236342259784962566
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/UseBusinessForm/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/UseBusinessForm/content.txt
new file mode 100644
index 0000000000..2a2ddb5315
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/UseBusinessForm/content.txt
@@ -0,0 +1,7 @@
+|transaction form|
+|''Quantity''| ''Rental Item'' |''hours''| ''days''| ''weeks''| ''Cost'' |
+| 3 | coffee urn | 0 | 2 | 0 | 222.00 |
+| 4 | coffee urn | 0 | 3 | 0 | 344.00 |
+| 7 | table | 0 | 3 | 0 | 1568.00 |
+||
+|''Total $''|||||2134.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/UseBusinessForm/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/UseBusinessForm/properties.xml
new file mode 100644
index 0000000000..d8f02ed59e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/UseBusinessForm/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088199772259
+ -8294456270530240483
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/content.txt
new file mode 100644
index 0000000000..14748fafe5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/content.txt
@@ -0,0 +1,9 @@
+|transaction|
+|check|''hire''| 3 || coffee urn |''for''| 0 |''hours''| 2 |''days''| 0 |''weeks''| 222.00 |
+|check|''hire''| 4 || coffee urn |''for''| 0 |''hours''| 3 |''days''| 0 |''weeks''| 344.00 |
+|check|''hire''| 7 || table |''for''| 0 |''hours''| 3 |''days''| 0 |''weeks''| 1568.00 |
+
+|transaction|
+|''pay with cash $''|2134.00 |
+
+^UseBusinessForm
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/properties.xml
new file mode 100644
index 0000000000..ce46b5bf16
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/UseCustomActions/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088199748135
+ 4132413234331162457
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/content.txt
new file mode 100644
index 0000000000..4e86aa02ab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/content.txt
@@ -0,0 +1,28 @@
+|transaction|
+|enter|count| 3 |
+|enter|rental item| coffee urn |
+|enter|hours| 0 |
+|enter|days| 2 |
+|enter|weeks| 0 |
+|press|hire|
+|check|total|222.00|
+ * Don't need to enter hours and weeks again:
+|transaction|
+|enter|count| 4 |
+|enter|rental item| coffee urn |
+|enter|days| 3 |
+|press|hire|
+|check|total|344.00|
+
+|transaction|
+|enter|count| 7 |
+|enter|rental item| table |
+|enter|days| 3 |
+|press|hire|
+|check|total|1568.00|
+
+|transaction|
+|enter|cash|3134.00|
+|press|pay|
+
+^UseCustomActions
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/properties.xml
new file mode 100644
index 0000000000..8780c99059
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/OrganiseTable/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088171399923
+ -6659178628547335395
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/UseDoFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/UseDoFixture/content.txt
new file mode 100644
index 0000000000..f6e409e3e9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/UseDoFixture/content.txt
@@ -0,0 +1,5 @@
+|transaction|
+|check|''hire''| 3 || coffee urn |''for''| 0 |''hours''| 2 |''days''| 0 |''weeks''| 222.00 |
+|check|''hire''| 4 || coffee urn |''for''| 0 |''hours''| 3 |''days''| 0 |''weeks''| 344.00 |
+|check|''hire''| 7 || table |''for''| 0 |''hours''| 3 |''days''| 0 |''weeks''| 1568.00 |
+|''pay with cash $''| 2134.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/UseDoFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/UseDoFixture/properties.xml
new file mode 100644
index 0000000000..7b34b4c6b0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/UseDoFixture/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088170688600
+ -4189441881309092931
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/content.txt
new file mode 100644
index 0000000000..b50701004b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/content.txt
@@ -0,0 +1,24 @@
+|transaction|
+|enter|count| 3 |
+|enter|rental item| coffee urn |
+|enter|hours| 0 |
+|enter|days| 2 |
+|enter|weeks| 0 |
+|press|hire|
+|check|total|222.00|
+|enter|count| 4 |
+|enter|rental item| coffee urn |
+|enter|hours| 0 |
+|enter|days| 3 |
+|enter|weeks| 0 |
+|press|hire|
+|check|total|344.00|
+|enter|count| 7 |
+|enter|rental item| table |
+|enter|hours| 0 |
+|enter|days| 3 |
+|enter|weeks| 0 |
+|press|hire|
+|check|total|1568.00|
+|enter|cash|3134.00|
+|press|pay|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/properties.xml
new file mode 100644
index 0000000000..5869bf9de7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfActions/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1098053518741
+ -8822501206366977095
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarSetUp/content.txt
new file mode 100644
index 0000000000..f1afc1e86c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarSetUp/content.txt
@@ -0,0 +1,10 @@
+|''chat server''|
+
+||anna|''connects''|
+
+||anna|''creates''|lotr|''room''|
+
+||anna|''removes''|lotr|''room''|
+
+|''rooms list''|
+|''name''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarSetUp/properties.xml
new file mode 100644
index 0000000000..ee3858373e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarSetUp/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1097443756270
+ 9201711475021031355
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/BusinessRule/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/BusinessRule/content.txt
new file mode 100644
index 0000000000..a23a451731
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/BusinessRule/content.txt
@@ -0,0 +1,32 @@
+!3 Charge for a larger time period if it's better for the customer
+''Eg, Charge for one week instead of 6 days if it's less. We assume a single item rented here:''
+
+|!-hire.CalculateChargeFairly-!|
+|''$/hour''|''$/day''|''hours''|''days''||''cost in $''|
+| 1.00 | 5.00 | 3 | 0 || 3.00 |
+| | | 4 | || 4.00 |
+| | | 5 | || 5.00 |
+| | | 6 | || 5.00 |
+| | | 11 | || 5.00 |
+| 1.00 | 5.00 | 3 | 1 || 8.00 |
+| | | 4 | || 9.00 |
+| | | 5 | ||10.00 |
+| | | 6 | ||10.00 |
+| | | 11 | ||10.00 |
+
+|!-hire.CalculateChargeFairly-!|
+|''$/hour'' |''$/day'' |''hours''|''days''||''cost in $''|
+| 1.00 | 2.00 | 1 | 0 || 1.00 |
+| | | 3 | || 2.00 |
+
+|!-hire.CalculateChargeFairly-!|
+|''$/day'' |''$/week'' |''days''|''weeks''||''cost in $''|
+| 1.00 | 5.00 | 3 | 0 || 3.00 |
+| | | 4 | || 4.00 |
+| | | 5 | || 5.00 |
+| | | 6 | || 5.00 |
+| 1.00 | 5.00 | 3 | 1 || 8.00 |
+| | | 4 | || 9.00 |
+| | | 5 | ||10.00 |
+| | | 6 | ||10.00 |
+''Also need to use this fair charging approach when calculating how much extra to charge or what to refund, so both parties are treated fairly.''
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/BusinessRule/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/BusinessRule/properties.xml
new file mode 100644
index 0000000000..dcccc3ec34
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/BusinessRule/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088206264264
+ -3222695890386764957
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/content.txt
new file mode 100644
index 0000000000..a8ad84ff98
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/content.txt
@@ -0,0 +1,5 @@
+.FitBook.XpProjectInFlow.XpProjectOne.EarlyReturn
+ * Collapse lots of workflow into one or two, with business rules extracted:
+^BusinessRule
+ * This makes it easier to see that the various cases are covered.
+ * And it's easier to understand what the business rule is about.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/properties.xml
new file mode 100644
index 0000000000..0395e8d9ae
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/LotsOfSimilarTests/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088207165090
+ -2682317273262542939
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbers/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbers/content.txt
new file mode 100644
index 0000000000..e5a7a74d1a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbers/content.txt
@@ -0,0 +1,7 @@
+|!-DiscountGroupList-!|
+|''value''|''max''|''min''|''%''|
+|1|0.00|0.00|0|
+|2|500.00|500.00|3|
+|2|0.00|500.00|5|
+|3|1000.00|500.00|5|
+|3|2000.00|2000.00|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbers/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbers/properties.xml
new file mode 100644
index 0000000000..77c62b6af0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbers/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1097732525363
+ 4214042932154313748
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbersFixed/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbersFixed/content.txt
new file mode 100644
index 0000000000..6bee53afa9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbersFixed/content.txt
@@ -0,0 +1,7 @@
+|!-DiscountGroupList-!|
+|''future value''|''max owing''|''min purchase''|''discount %''|
+|low|0.00|0.00|0|
+|medium|500.00|500.00|3|
+|medium|0.00|500.00|5|
+|high|1000.00|500.00|5|
+|high|2000.00|2000.00|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbersFixed/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbersFixed/properties.xml
new file mode 100644
index 0000000000..1a1e47f167
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/MagicNumbersFixed/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096759020080
+ 6432118652105132236
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ManyListRows/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ManyListRows/content.txt
new file mode 100644
index 0000000000..5c4c23cc7c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ManyListRows/content.txt
@@ -0,0 +1,6 @@
+|''rental items list''|
+| ''name'' | ''count'' |''hourly rate''|''daily rate''|''weekly rate''|''deposit'' |
+| coffee urn | 10 | 1.50 | 12.00 | 60.00 | 50.00 |
+| table | 20 | 6.00 | 48.00 | 200.00 | 80.00 |
+| coffee pot | 20 | 1.50 | 12.00 | 60.00 | 0.00 |
+| chair | 20 | 6.00 | 48.00 | 200.00 | 0.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ManyListRows/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ManyListRows/properties.xml
new file mode 100644
index 0000000000..bb7d77e7ea
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ManyListRows/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1098060793216
+ -5828034269989440716
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OneOrZeroElements/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OneOrZeroElements/content.txt
new file mode 100644
index 0000000000..213b6016ff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OneOrZeroElements/content.txt
@@ -0,0 +1,3 @@
+|''booked template entry''|Joanna|
+|''template''|''people''|''from'' |''to'' |''repeat''|
+|coffee break|21 |2004/06/01 18:00 |2004/06/02 18:00| 1 week |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OneOrZeroElements/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OneOrZeroElements/properties.xml
new file mode 100644
index 0000000000..a557b995d1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OneOrZeroElements/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1098056689562
+ 3571750252754174938
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OrganiseTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OrganiseTable/content.txt
new file mode 100644
index 0000000000..4059a8c5ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OrganiseTable/content.txt
@@ -0,0 +1,24 @@
+|!-hire.CalculateChargeFairly-!|
+|''$/hour''|''$/day''|''hours''|''days''||''cost in $''|
+| 1.00 | 5.00 | 3 | 0 || 3.00 |
+| 1.00 | 5.00 | 4 | || 4.00 |
+| 1.00 | 5.00 | 5 | || 5.00 |
+| 1.00 | 5.00 | 6 | || 5.00 |
+| 1.00 | 5.00 | 11 | || 5.00 |
+| 1.00 | 5.00 | 3 | 1 || 8.00 |
+| 1.00 | 5.00 | 4 | || 9.00 |
+| 1.00 | 5.00 | 5 | ||10.00 |
+| 1.00 | 5.00 | 6 | ||10.00 |
+| 1.00 | 5.00 | 11 | ||10.00 |
+| 1.00 | 2.00 | 1 | 0 || 1.00 |
+| 1.00 | 5.00 | 3 | || 2.00 |
+| 1.00 | 5.00 | 3 | 0 || 3.00 |
+| 1.00 | 5.00 | 4 | || 4.00 |
+| 1.00 | 5.00 | 5 | || 5.00 |
+| 1.00 | 5.00 | 6 | || 5.00 |
+| 1.00 | 5.00 | 3 | 1 || 8.00 |
+| 1.00 | 5.00 | 4 | || 9.00 |
+| 1.00 | 5.00 | 5 | ||10.00 |
+| 1.00 | 5.00 | 6 | ||10.00 |
+
+.FitBook.TableDesign.LotsOfSimilarTests.BusinessRule
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OrganiseTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OrganiseTable/properties.xml
new file mode 100644
index 0000000000..4744ea24f9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/OrganiseTable/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088208502022
+ 5452223975545388818
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceColumns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceColumns/content.txt
new file mode 100644
index 0000000000..d70ea29b75
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceColumns/content.txt
@@ -0,0 +1,6 @@
+|''rental items list''|
+| ''name'' | ''count'' |
+| coffee urn | 10 |
+| table | 20 |
+| coffee pot | 20 |
+| chair | 20 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceColumns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceColumns/properties.xml
new file mode 100644
index 0000000000..7c8ae054fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceColumns/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1098060780607
+ 8190134937850610221
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithArgs/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithArgs/content.txt
new file mode 100644
index 0000000000..f9c2e7f53e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithArgs/content.txt
@@ -0,0 +1,3 @@
+|''rentals for client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/06 09:01|2004/05/20 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithArgs/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithArgs/properties.xml
new file mode 100644
index 0000000000..afd0845fab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithArgs/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1098060486772
+ -6385993260863075548
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithSubset/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithSubset/content.txt
new file mode 100644
index 0000000000..55e92c0371
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithSubset/content.txt
@@ -0,0 +1,3 @@
+|''rental item subset''|
+|''name''|''count''|
+|coffee urn|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithSubset/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithSubset/properties.xml
new file mode 100644
index 0000000000..ced37ae82e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ReduceListWithSubset/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1098060650570
+ 3751353762152882039
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/UseEntryFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/UseEntryFixture/content.txt
new file mode 100644
index 0000000000..edb94f2f5d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/UseEntryFixture/content.txt
@@ -0,0 +1,5 @@
+ * ''Special setup of staff members:''
+|''enter staff''|
+|''name'' |''phone'' |
+| Bob | (09) 555 9876 |
+| Bill | (09) 555 1234 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/UseEntryFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/UseEntryFixture/properties.xml
new file mode 100644
index 0000000000..ab4c60ca21
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/UseEntryFixture/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088170552124
+ 2076828339516810899
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/content.txt
new file mode 100644
index 0000000000..49b3e89ddd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/content.txt
@@ -0,0 +1,7 @@
+ * ''Special setup of staff members:''
+|''enter staff''|
+|''name'' |''phone'' | add() |
+| Bob | (09) 555 9876 | true |
+| Bill | (09) 555 1234 | true |
+
+^UseEntryFixture
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/properties.xml
new file mode 100644
index 0000000000..91d38fcf4d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantAdd/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088170536101
+ -4328806221520931280
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValues/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValues/content.txt
new file mode 100644
index 0000000000..fda7958ca1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValues/content.txt
@@ -0,0 +1,5 @@
+|!-CalculateDiscounts-!|
+|''future value''|''owing''|''purchase''|''discount()''|
+|low|0.00|0.00|0.00|
+|low|0.00|1000.00|0.00|
+|low|1000.00|5000.00|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValues/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValues/properties.xml
new file mode 100644
index 0000000000..6cac308d62
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValues/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1096764190875
+ 5890831222778325383
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed1/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed1/content.txt
new file mode 100644
index 0000000000..939ba933d3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed1/content.txt
@@ -0,0 +1,5 @@
+|!-CalculateDiscounts-!|
+|''future value''|''owing''|''purchase''|''discount()''|
+|low|0.00|0.00|0.00|
+||0.00|1000.00|0.00|
+||1000.00|5000.00|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed1/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed1/properties.xml
new file mode 100644
index 0000000000..53b3924fba
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed1/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1096764215451
+ 7255469559886778887
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed2/content.txt
new file mode 100644
index 0000000000..bc73eacfb9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed2/content.txt
@@ -0,0 +1,5 @@
+|''calculate discounts with''|low|''future value''|
+|''owing''|''purchase''|''discount()''|
+|0.00|0.00|0.00|
+|0.00|1000.00|0.00|
+|1000.00|5000.00|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed2/properties.xml
new file mode 100644
index 0000000000..6347d6118e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantColumnValuesFixed2/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096764286242
+ 8282976329781628774
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumn/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumn/content.txt
new file mode 100644
index 0000000000..ec7699b352
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumn/content.txt
@@ -0,0 +1,9 @@
+|!-CalculateCredit-!|
+|months|reliable|balance|allowCredit()|creditLimit()|
+|14|true|5000.00|true|1000.00|
+|''0''|true|0.00|false|0.00|
+|24|''false''|0.00|false|0.00|
+|18|true|''6000.00''|false|0.00|
+|''12''|true|5500.00|true|1000.00|
+
+^RedundantResultColumnRemoved
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumn/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumn/properties.xml
new file mode 100644
index 0000000000..f777643503
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumn/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088170305849
+ 2429246128481567327
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumnRemoved/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumnRemoved/content.txt
new file mode 100644
index 0000000000..acb919eb35
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumnRemoved/content.txt
@@ -0,0 +1,8 @@
+|!-CalculateCredit-!|
+|months|reliable|balance|creditLimit()|
+|14|true|5000.00|1000.00|
+|''0''|true|0.00|0.00|
+|24|''false''|0.00|0.00|
+|18|true|''6000.00''|0.00|
+|''12''|true|5500.00|1000.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumnRemoved/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumnRemoved/properties.xml
new file mode 100644
index 0000000000..dc25db85bf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/RedundantResultColumnRemoved/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088170328702
+ 8334753848531787725
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SettingUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SettingUp/content.txt
new file mode 100644
index 0000000000..40d86f2ec0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SettingUp/content.txt
@@ -0,0 +1,4 @@
+|''set up booked list''|Joanna|
+|''rental item'' |''count'' |''from'' |''to'' |
+|coffee dispenser|2 |2004/06/01 18:00 |2004/06/02 18:00|
+|cup|40 |2004/06/01 18:00 |2004/06/02 18:00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SettingUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SettingUp/properties.xml
new file mode 100644
index 0000000000..402850f63b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SettingUp/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1097810372545
+ -4482922039493940204
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ShareIt/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ShareIt/content.txt
new file mode 100644
index 0000000000..d126bea230
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ShareIt/content.txt
@@ -0,0 +1,5 @@
+|''chat server''|
+
+||anna|''connects''|
+
+||anna|''creates''|lotr|''room''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ShareIt/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ShareIt/properties.xml
new file mode 100644
index 0000000000..708d41e1df
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/ShareIt/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1096946467446
+ -7887221540002176089
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SplitValues/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SplitValues/content.txt
new file mode 100644
index 0000000000..de6977f0e6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SplitValues/content.txt
@@ -0,0 +1,5 @@
+|''$''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''hours''|''days''|''weeks''|''days()''|''weeks()''|
+|0|4|0|4|0|
+|0|5|0|0|1|
+|5|6|0|0|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SplitValues/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SplitValues/properties.xml
new file mode 100644
index 0000000000..3534b9a916
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/SplitValues/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1098052915542
+ -4498989825110711422
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/SubsetRowsToo/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/SubsetRowsToo/content.txt
new file mode 100644
index 0000000000..84cbc6cc77
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/SubsetRowsToo/content.txt
@@ -0,0 +1,11 @@
+|''enter hire item types''|
+| ''name'' | ''initial #'' |''hourly rate''|''daily rate''|''weekly rate''|''deposit'' |
+| coffee urn | 20 | 1.50 | 12.00 | 60.00 | 50.00 |
+| table | 20 | 6.00 | 48.00 | 200.00 | 80.00 |
+| coffee pot | 20 | 1.50 | 12.00 | 60.00 | 0.00 |
+| chair | 20 | 6.00 | 48.00 | 200.00 | 0.00 |
+ * Hire 10 coffee pots
+ * ....
+|''rental items subset''|
+| ''name'' | ''current #'' |
+| coffee urn | 10 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/SubsetRowsToo/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/SubsetRowsToo/properties.xml
new file mode 100644
index 0000000000..da246373b1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/SubsetRowsToo/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088171985495
+ -1374607799045556969
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/content.txt
new file mode 100644
index 0000000000..52aa2e00a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/content.txt
@@ -0,0 +1,16 @@
+|''enter hire item types''|
+| ''name'' | ''initial #'' |''hourly rate''|''daily rate''|''weekly rate''|''deposit'' |
+| coffee urn | 20 | 1.50 | 12.00 | 60.00 | 50.00 |
+| table | 20 | 6.00 | 48.00 | 200.00 | 80.00 |
+| coffee pot | 20 | 1.50 | 12.00 | 60.00 | 0.00 |
+| chair | 20 | 6.00 | 48.00 | 200.00 | 0.00 |
+ * Hire 10 coffee pots
+ * ....
+|''rental items list''|
+| ''name'' | ''current #'' |
+| coffee urn | 10 |
+| table | 20 |
+| coffee pot | 20 |
+| chair | 20 |
+
+^SubsetRowsToo
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/properties.xml
new file mode 100644
index 0000000000..fc5d4679a9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/SubsetColumns/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1088171973417
+ 7504078644116839988
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/content.txt
new file mode 100644
index 0000000000..8162dba31f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/content.txt
@@ -0,0 +1,18 @@
+!2 Test essentials, to focus and reduce dependencies and thus maintenance cost
+
+|''enter hire item types''|
+| ''name'' | ''initial #'' |''hourly rate''|''daily rate''|''weekly rate''|''deposit'' |
+| coffee urn | 20 | 1.50 | 12.00 | 60.00 | 50.00 |
+| table | 20 | 6.00 | 48.00 | 200.00 | 80.00 |
+| coffee pot | 20 | 1.50 | 12.00 | 60.00 | 0.00 |
+| chair | 20 | 6.00 | 48.00 | 200.00 | 0.00 |
+ * Hire 10 coffee pots
+ * ....
+|''rental items list''|
+| ''name'' | ''current #'' |''hourly rate''|''daily rate''|''weekly rate''|''deposit'' |
+| coffee urn | 10 | 1.50 | 12.00 | 60.00 | 50.00 |
+| table | 20 | 6.00 | 48.00 | 200.00 | 80.00 |
+| coffee pot | 20 | 1.50 | 12.00 | 60.00 | 0.00 |
+| chair | 20 | 6.00 | 48.00 | 200.00 | 0.00 |
+
+^SubsetColumns
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/properties.xml
new file mode 100644
index 0000000000..7059a39a82
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/TestSubset/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1088171925569
+ 4905918998413844716
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/UnsplitValues/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/UnsplitValues/content.txt
new file mode 100644
index 0000000000..e74a803f09
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/UnsplitValues/content.txt
@@ -0,0 +1,5 @@
+|''$''|5.00|''per hour''|45.00|''per day''|200.00|''per week''|
+|''duration''||''fair''|
+|4 days||4 days|
+|5 days||1 week|
+|6 days 5 hours||1 week|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/UnsplitValues/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/UnsplitValues/properties.xml
new file mode 100644
index 0000000000..48591f6d1d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/UnsplitValues/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1098052571825
+ -2131518712761014227
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/content.txt
new file mode 100644
index 0000000000..9efb1c4ba5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/content.txt
@@ -0,0 +1,36 @@
+!2 Table Smells
+^MagicNumbers ... have the fixture map ^MagicNumbersFixed
+^BrainTwisters .. ^BrainUntwisted
+^SettingUp
+^ColumnForAction
+^SplitValues ... ^UnsplitValues
+^OneOrZeroElements
+^ManyListRows ... ^ReduceColumns ... ^ReduceListWithArgs .. ^ReduceListWithSubset
+
+!2 Still to organise
+ * Redundancy adds noise and slows evolution
+ * Clear intent enables communication
+ * Organisation enables communication
+ * Mixed messages are missed: say one thing clearly
+ * Premature or unnecessary commitment (tests carry into new technology)
+^CombineTables ... two tables better as one
+^RedundantResultColumn ... don't say it twice ^RedundantResultColumnRemoved
+^RedundantColumnValues ... all the same values in a given column ^RedundantColumnValuesFixed1 and ^RedundantColumnValuesFixed2
+^RedundantAdd ... repeated value shows
+^LotsOfActions ... can be expressed more succinctly
+^IntentUnclear ... so comments and clear examples are needed
+^TestSubset ... to focus on essentials and reduce dependencies
+^TestSelectedSubset ... select with arguments to focus
+^OrganiseTable ... so it's easier to see what the main cases are, and which are missing
+^SplitTableThatMixesTests ... for orthogonal concerns
+^SplitBusinessRulesAndValidation ... a specific orthogonality issue
+^LotsOfSimilarTests ... show that a more abstract business rule needs to emerge
+^LongSetUp ... so compact it with ''!-EntryFixture-!''
+^LotsOfSimilarSetUp and ^LotsMoreSimilar ... so share it ^ShareIt
+^SetUpThroughActions ... better to turn it into entry setup
+^TestThroughUi ... so back off and test UI separately
+^TestUi ... again, avoid unnecessary commitment to particular technology
+^UnclearWorkFlowPhases ... clearly separate setup, change state, and check
+^HardToFollowChanges ... show screen dump, HTML when things go wrong
+^TextIsAwkward ... use graphics
+^MediateChangeWithFixture ... so many application changes don't break the tests
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/properties.xml
new file mode 100644
index 0000000000..0f0be33ce4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableDesign/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081124201807
+
+
+
+
+ 1098060697238
+ 6580146710060722781
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/FitSummary/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/FitSummary/content.txt
new file mode 100644
index 0000000000..e7a7e0ce64
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/FitSummary/content.txt
@@ -0,0 +1 @@
+|fit.Summary|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/FitSummary/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/FitSummary/properties.xml
new file mode 100644
index 0000000000..09b14029e0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/FitSummary/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1082594909968
+ 2799429901783787821
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestConnectAndDisconnect/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestConnectAndDisconnect/content.txt
new file mode 100644
index 0000000000..bdfb4566be
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestConnectAndDisconnect/content.txt
@@ -0,0 +1,23 @@
+ * Start the chat server:
+|!-fit.ActionFixture-!|
+|start|!-ChatServer2-!|
+ * Anna connects, creates a new room and enters it:
+|!-fit.ActionFixture-!|
+|enter|user|anna|
+|press|connect|
+|enter|room|lotr|
+|press|new room|
+|press|enter room|
+ * Anna is the only occupant of lotr:
+|!-OccupantList2-!|
+|room|user|
+|lotr|anna|
+ * Anna disconnects:
+|!-fit.ActionFixture-!|
+|press|disconnect|
+ * So there are now no occupants:
+|!-OccupantList2-!|
+|room|user|
+
+|fit.Summary|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestConnectAndDisconnect/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestConnectAndDisconnect/properties.xml
new file mode 100644
index 0000000000..da37fc53fa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestConnectAndDisconnect/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1092021651287
+ 6989787080696496135
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestDiscountGroup/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestDiscountGroup/content.txt
new file mode 100644
index 0000000000..6baf04ace3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestDiscountGroup/content.txt
@@ -0,0 +1,28 @@
+!3 Test discounts against configured Discount Groups:
+|!-DiscountGroupsEntry-!|
+|future value|max balance|min purchase|discount percent|add()|
+|low|0.00|0.00|0|true|
+|medium|0.00|500.00|5|true|
+|medium|500.00|500.00|3|true|
+|high|500.00|2000.00|10|true|
+|high|1000.00|500.00|5|true|
+ * Low Future Value:
+|!-CalculateDiscounts-!|
+|future value|owing|purchase|discount()|
+|low|0.00|1000.00|0.00|
+||1000.00|5000.00|0.00|
+ * Medium Future Value:
+|!-CalculateDiscounts-!|
+|future value|owing|purchase|discount()|
+|medium|0.00|400.00|0.00|
+||0.00|600.00|30.00|
+||2000.00|1000.00|0.00|
+ * High Future Value:
+|!-CalculateDiscounts-!|
+|future value|owing|purchase|discount()|
+|high|0.00|400.00|0.00|
+||0.00|600.00|30.00|
+||1100.00|500.00|0.00|
+||1000.00|500.00|25.00|
+||2000.00|2000.00|0.00|
+||400.00|2000.00|200.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestDiscountGroup/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestDiscountGroup/properties.xml
new file mode 100644
index 0000000000..2ba2ab71ce
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestDiscountGroup/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050118111328
+
+
+
+
+
+ 1106000008312
+ 2909238778514483859
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestInitial/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestInitial/content.txt
new file mode 100644
index 0000000000..1cbc58dae1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestInitial/content.txt
@@ -0,0 +1,5 @@
+|!-fit.ActionFixture-!|
+|start|!-ChatServer2-!|
+
+|!-OccupantList2-!|
+|room|user|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestInitial/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestInitial/properties.xml
new file mode 100644
index 0000000000..e83832247a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestInitial/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1092021514731
+ -4789601540864922199
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestTwoInLotr/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestTwoInLotr/content.txt
new file mode 100644
index 0000000000..f6cf274a93
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestTwoInLotr/content.txt
@@ -0,0 +1,27 @@
+|!-fit.ActionFixture-!|
+|start|!-ChatServer2-!|
+ * Anna connects, creates a new room, and enters it.
+|!-fit.ActionFixture-!|
+|enter|user|anna|
+|press|connect|
+|enter|room|lotr|
+|press|new room|
+|press|enter room|
+ * Luke also enters that room.
+|!-fit.ActionFixture-!|
+|enter|user|luke|
+|press|connect|
+|press|enter room|
+ * Both Anna and Luke are in the room
+|!-OccupantList2-!|
+|room|user|
+|lotr|anna|
+|lotr|luke|
+ * Anna disconnects
+|!-fit.ActionFixture-!|
+|enter|user|anna|
+|press|disconnect|
+ * So only Luke remains
+|!-OccupantList2-!|
+|room|user|
+|lotr|luke|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestTwoInLotr/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestTwoInLotr/properties.xml
new file mode 100644
index 0000000000..6fa7a93078
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/TestTwoInLotr/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1092021768407
+ 914693299835553489
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/content.txt
new file mode 100644
index 0000000000..9c311772a8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/content.txt
@@ -0,0 +1,11 @@
+Chat Room Changes:
+
+^TestInitial
+^TestConnectAndDisconnect
+^TestTwoInLotr
+
+^FitSummary
+
+Discount Group Changes:
+
+^TestDiscountGroup
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/properties.xml
new file mode 100644
index 0000000000..8253ddfd53
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TableSequences/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1084750755944
+ 5294553805878345311
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/TestDiscount/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/TestDiscount/content.txt
new file mode 100644
index 0000000000..6e7e5aba6f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/TestDiscount/content.txt
@@ -0,0 +1,10 @@
+|!-CalculateDiscountMoney-!|
+|amount|discount()|
+|$999.99|$0.00|
+|$1000.00|$0.00|
+|$1000.01|$50.00|
+|$1001.33|$50.07|
+|$1010.00|$50.50|
+|$1100.00|$55.00|
+|$1200.00|$60.00|
+|$2000.00|$100.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/TestDiscount/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/TestDiscount/properties.xml
new file mode 100644
index 0000000000..81b7a8e365
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/TestDiscount/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20050103174855
+
+
+
+
+
+ 1104727735989
+ -3234310978540373285
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/content.txt
new file mode 100644
index 0000000000..1ab1105b55
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/content.txt
@@ -0,0 +1 @@
+^TestDiscount
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/properties.xml
new file mode 100644
index 0000000000..bb35c3e72c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/TypeAdapter/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20041221175538
+
+
+
+
+
+ 1103604938957
+ 8164153076102267340
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitBook/content.txt
new file mode 100644
index 0000000000..1278f8cfec
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/content.txt
@@ -0,0 +1,30 @@
+Example storytests from the ${fitBook}.
+
+Some of these fail, giving:
+ * 39 right, 19 wrong, 2 ignored, and 9 exceptions
+
+* ^ColumnFixtureTables
+* ^ActionFixtureTables
+* ^RowFixtureTables
+* ^TableSequences
+* ^CreatingTables
+* ^FlowTables
+* ^CustomTables
+* ^AdvancedTables
+
+* ^LateReturns
+* ^CashRentals
+* ^DateRentals
+* ^EarlyReturn
+* ^RentalTemplate
+* ^TableDesign
+
+* ^CashRentalFixtures
+
+* ^ArchiTecture
+* ^TypeAdapter
+
+!path fitlibrary.jar
+!path lib/rentEz.jar
+!path lib/fitbook.jar
+!define TEST_RUNNER {fitlibrary.suite.FitLibraryServer}
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitBook/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitBook/properties.xml
new file mode 100644
index 0000000000..4b381b15a7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitBook/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1225603828828
+ 169218437081194972
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitLibraryRunner/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitLibraryRunner/content.txt
new file mode 100644
index 0000000000..94bfbcce06
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitLibraryRunner/content.txt
@@ -0,0 +1,20 @@
+FitLibraryRunner is a batch runner for ''!-FitNesse-!'' storytests.
+
+It's ideal for use in an automated build:
+
+ * It does not need ''!-FitNesse-!'' running to run the storytests, as it accesses the pages directly.
+
+Run it as follows:
+{{{ java -cp fitlibraryRunner.jar fitlibrary.batch.FitLibraryRunner -suiteName suiteName [-fitNesseDiry fitNesseDiry] [-resultsDiry resultsDiry] [-showPasses true] [-port port] [-retries retryCount]
+}}}
+By default, the arguments are as follows:
+
+|!3 ''Argument''|!3 ''Default value''|!3 ''Description''|
+|''suiteName ''| |''The name of the page at the top of the suite. Eg !-FitLibrary.SpecifiCations-!''|
+|''fitNesseDiry''|fitNesseDiry|''The directory/folder where the !-FitNesse-! system is to be found, with !-FitNesseRoot-! within that''|
+|''resultsDiry''|runnerResults|''The directory/folder where the html for the results of the bacth run are to be placed''|
+|''showPasses''|false|''If true, write reports for all storytests that have been run. If false, only show that ones that have errors.''|
+|''port''|80|''The internal port number that is passed to !-FitNesse-!. This is needed if any storytests use the FITNESSE_PORT variable.''|
+|''retries''|0|''How many times to retry running a storytest if it fails.''|
+
+FitLibraryRunner is based on Gojko Adzic's Trinidad, but runs the storytests in parallel with loading them from the file system, so it's quicker.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitLibraryRunner/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitLibraryRunner/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitLibraryRunner/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitRunnerReleaseReadMe/content.txt b/fitnesse/FitNesseRoot/FitLibrary/FitRunnerReleaseReadMe/content.txt
new file mode 100644
index 0000000000..fea089b2fc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitRunnerReleaseReadMe/content.txt
@@ -0,0 +1,31 @@
+!1 ''!-FitLibraryForFit-!''
+This contains the latest release of ''!-FitLibrary-!'' with ''!-FolderRunner-!''.
+!3 Note
+ * This ''!-FitLibrary-!'' release contains all the ''Fit'' code, ready built in.
+ * It does '''not''' work with the ''Fit'' version from http://fit.c2.com
+!2 Tests, User Guide, etc
+The User Guide, Specifications and Tests for ''!-FitLibrary-!'' are organised in three folders:
+!-(1) tests
-!This contains:
+ * The !-FitLibrary.UserGuide-!, the user documentation for ''!-FitLibrary-!'' and ''!-FolderRunner-!''.
+ * The !-FitLibrary.Specifications-!.
+ * The !-FitLibrary.Glossary-!, which is used in the !-FitLibrary.UserGuide-! and !-FitLibrary.Specifications-!.
+You can run ''!-FolderRunner-!'' on all of these to get reports, including the User Guide. Double-click on either:
+ * ''runTests.bat''. This uses ''Ant'' to run ''!-FitLibrary-!'' on all the test files in the directory ''tests'' and writes the reports into !-reports-!. It provides a simple GUI frontend to show progress. However, if you don't have ''Ant'' installed, double-click on either of the following.
+ * The ''fitlibraryRunner.jar''.
+ * The ''fitlibraryRunnerXls.jar''. This is the same as ''fitlibraryRunner.jar'', but includes spreadsheet handling.
+Some of the specifications used to assume that ''Dot'' was installed (''Dot'' is available at http://www.graphviz.org).
+!-(2) spreadsheetTests
-! * This contains tests that mix spreadsheet and html files.
+ * To run them, double-click on ''runSpreadsheet.bat''. This runs ''Ant'' with the ''runSpreadsheet'' target, which produces the reports in ''spreadsheetReports''
+!-(3) suiteTests
-! * This contains tests that use !-suite fixture-!.
+ * To run them, double-click on ''runSuite.bat''. This runs ''Ant'' with the ''runSuite'' target, which runs ''!-FolderRunner-!'' twice and produces the reports in ''suiteTests/reports'' and ''suiteTests/otherReports''
+!2 src
+The ''src'' directory contains the following:
+ * ''bookExamplesSrc.zip'', the Fit Book examples
+ * ''fitFromFitNesseSrc.zip'', the source for Fit from ''!-FitNesse-!'' that used in ''!-FitLibrary-!''. (This version does '''not''' use the Fit version from http://fit.c2.com.)
+ * ''!-FitLibrarySrc.jar-!'', the source for ''!-FitLibrary-!''.
+!2 lib
+The ''lib'' directory contains two (possily out-of-date) jar files that may be useful: ''junit.jar'' and ''poi.jar''. The latter supports the reading of Excel spreadsheet files and is used by ''!-FolderRunner-!'' when running storytests that are in spreadsheet files.
+!2 Any Suggestions?
+Any suggestions for improvements in this release are most welcome.
+
+Rick Mugridge, http://www.RimuResearch.com.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/FitRunnerReleaseReadMe/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/FitRunnerReleaseReadMe/properties.xml
new file mode 100644
index 0000000000..df9f4a8ada
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/FitRunnerReleaseReadMe/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20070110133614
+
+
+
+
+
+
+ 1168389374640
+ -6726970342394790459
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionMethod/content.txt
new file mode 100644
index 0000000000..8b4e899f99
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionMethod/content.txt
@@ -0,0 +1,4 @@
+${programmers}
+An ${actionMethod} is a method that's called for a ${action}.
+
+In Java, the method names is derived from the ${keywords} of the action.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionMethod/properties.xml
new file mode 100644
index 0000000000..17a140d055
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118161059
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232248259140
+ 1911834708828471718
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionsPhase/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionsPhase/content.txt
new file mode 100644
index 0000000000..1311df9a78
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionsPhase/content.txt
@@ -0,0 +1,3 @@
+The ${actions} of ${workflow} follows from the ${setup}. It consists of one or more ${action}s that (may) impact on the ${sut}.
+!3 Examples
+ * See .FitLibrary.UserGuide.FitLibraryByExample.WorkFlow
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionsPhase/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionsPhase/properties.xml
new file mode 100644
index 0000000000..1b7476e399
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ActionsPhase/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164556
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250356468
+ 769304805327484974
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AfterPhase/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AfterPhase/content.txt
new file mode 100644
index 0000000000..a6ff3d9d99
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AfterPhase/content.txt
@@ -0,0 +1,5 @@
+In a ${checks} of a ${workflow} ${storytest}, we specify how the ${sut} should've changed (or not) due to the ${action}s in the ${actions}.
+
+From a testing perspective, these are the ''checks'' that are carried out.
+!3 Examples
+ * See .FitLibrary.UserGuide.FitLibraryByExample.WorkFlow
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AfterPhase/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AfterPhase/properties.xml
new file mode 100644
index 0000000000..58dd10656f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AfterPhase/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164759
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250479578
+ -3657882916423146788
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ArrayTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ArrayTraverse/content.txt
new file mode 100644
index 0000000000..75c80633d0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ArrayTraverse/content.txt
@@ -0,0 +1,5 @@
+${programmers}
+This ${traverse} checks a given array against a table.
+!3 Examples
+ * .FitLibrary.UserGuide.FitLibraryByExample.SimpleArray
+ * .FitLibrary.SpecifiCations.CollectionSpecifications.ArrayTraverse
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ArrayTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ArrayTraverse/properties.xml
new file mode 100644
index 0000000000..b26545560d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ArrayTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164313
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250193515
+ -3101255992166859353
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AutoWrapping/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AutoWrapping/content.txt
new file mode 100644
index 0000000000..a496f66487
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AutoWrapping/content.txt
@@ -0,0 +1,11 @@
+${programmers}
+#
+In many cases, ${fitLibrary} will automatically choose a suitable ${traverse} to interpret a value that's:
+
+ * Returned from a ${actionMethod} for a ${workflow} action
+ * Returned from a ${ruleMethod} for the ${expected} value of a ${rule}
+
+However, while an ${entity} will be auto-wrapped, a ${valueObject}, such as a primitive value, will not be.
+
+ * That's because a ${valueObject} resulting from an action may be checked against an ${expected} string value
+ * So if you want to apply a ${valueObject} to the rest of a ${workflow} table, you need to explicitly wrap it, using a ${selector}.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AutoWrapping/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AutoWrapping/properties.xml
new file mode 100644
index 0000000000..8e000f0e33
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/AutoWrapping/properties.xml
@@ -0,0 +1,13 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250365656
+ 8627098111769508079
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BeforePhase/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BeforePhase/content.txt
new file mode 100644
index 0000000000..4975592623
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BeforePhase/content.txt
@@ -0,0 +1,7 @@
+The ${setup} of a ${workflow} ${storytest} specifies the state or information of the ${sut} prior to any actions being carried.
+ * This serves to precisely define the context for the ${action}s that follow.
+ * The ${setup} simply defines the data without validation, rather than carrying out a sequence of actions to cause the ${sut} to be put into the required state.
+
+From a testing perspective, this is the ''setup'' phase.
+!3 Examples
+ * See .FitLibrary.UserGuide.FitLibraryByExample.WorkFlow
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BeforePhase/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BeforePhase/properties.xml
new file mode 100644
index 0000000000..a28555e7ad
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BeforePhase/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118161122
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232248282968
+ 4182628791786825482
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BusinessRule/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BusinessRule/content.txt
new file mode 100644
index 0000000000..b10127d009
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BusinessRule/content.txt
@@ -0,0 +1,5 @@
+A ${rule} defines for the business domain:
+ * Calculation rules - examples that show how values are calculated
+ * Eg, the discount
+ * Constraint rules - examples that show what's permitted (or not):
+ * Eg, validation rules for a property, several properties, or on the elements of a collection
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BusinessRule/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BusinessRule/properties.xml
new file mode 100644
index 0000000000..bd67dc0d6e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/BusinessRule/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164426
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250266890
+ -6091832876986412334
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUp/content.txt
new file mode 100644
index 0000000000..9186629ad3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUp/content.txt
@@ -0,0 +1 @@
+See .FitLibrary.UserGuide.FitLibraryByExample.SetUpFixture for details.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUp/properties.xml
new file mode 100644
index 0000000000..bcdfda0483
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164405
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250245593
+ 9092260421615797204
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUpTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUpTraverse/content.txt
new file mode 100644
index 0000000000..89dcd9df94
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUpTraverse/content.txt
@@ -0,0 +1,4 @@
+A ${collectionSetUpTraverse} is used to set up (create) a list.
+!3 Examples
+ * See ..FitLibrary.UserGuide.FitLibraryByExample.DoFixture.SetUpFixture
+ * See .FitLibrary.SpecifiCations.CollectionSpecifications.CollectionSetUpTraverse
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUpTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUpTraverse/properties.xml
new file mode 100644
index 0000000000..2971983f80
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/CollectionSetUpTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060914101955
+ true
+ true
+ true
+ true
+ true
+ true
+ 1158225595441
+ 2368283823385107908
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ColumnLabel/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ColumnLabel/content.txt
new file mode 100644
index 0000000000..c2c66606d1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ColumnLabel/content.txt
@@ -0,0 +1,5 @@
+A table that is used to check or setup a collection of elements has a row that includes ${label}s for each of the columns of the table, with one row for each element of the collection.
+
+!3 Examples
+ * .FitLibrary.UserGuide.FitLibraryByExample.OrderedList
+ * .FitLibrary.UserGuide.FitLibraryByExample.DoFixture.SetUpFixture
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ColumnLabel/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ColumnLabel/properties.xml
new file mode 100644
index 0000000000..cd0b1402a7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ColumnLabel/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060914102039
+ true
+ true
+ true
+ true
+ true
+ true
+ 1158225639284
+ 4607581216440801601
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoFixture/content.txt
new file mode 100644
index 0000000000..df1a36d269
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoFixture/content.txt
@@ -0,0 +1,10 @@
+This interprets tables of ${workflow}.
+
+Workflow storytests specify the step-by-step processing of a business process, or part of such a process. Such storytests are best expressed in a more abstract form than the actions through a user interface.
+
+An extended form of ${doFixture} is ${domainFixture}.
+
+See:
+ * .FitLibrary.UserGuide.FitLibraryByExample.WorkFlow (where ${doFixture} is used in the middle, actions, phase)
+!3 Note
+This is supported by ${doTraverse}
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoFixture/properties.xml
new file mode 100644
index 0000000000..9ea8326beb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoFixture/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20070216092834
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167423295031
+ 4156591916647767183
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoTraverse/content.txt
new file mode 100644
index 0000000000..c4eed8cc34
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoTraverse/content.txt
@@ -0,0 +1,10 @@
+This ${traverse} interprets tables of ${workflow}.
+
+Workflow storytests specify the step-by-step processing of a business process, or part of such a process. Such storytests are best expressed in a more abstract form than the actions through a user interface.
+
+An extended form of ${doTraverse} is ${domainTraverse}.
+
+See:
+ * .FitLibrary.UserGuide.FitLibraryByExample.WorkFlow
+!3 Note
+This supports the functionality of ${doFixture}
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoTraverse/properties.xml
new file mode 100644
index 0000000000..c0f1248832
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DoTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20070216092834
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167423107218
+ -8882716639644324519
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainAdapter/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainAdapter/content.txt
new file mode 100644
index 0000000000..17abf393f1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainAdapter/content.txt
@@ -0,0 +1,10 @@
+${programmers}
+A DomainAdapter is an object that acts as an adapter between FitLibrary and an application object.
+
+A DomainAdapter provides a method to access the associated application object (the so-called ObjectUnderTest). When FitLibrary looks for a method in the ObjectUnderTest, it first checks if the method is in the DomainAdapter. If it is, it calls that method. If the method doesn't appear in the DomainObject, then FitLibrary checks for the method in the ObjectUnderTest.
+
+Using a DomainAdapter means that you don't need to subclass a ${fitLibrary} ${traverse} or ${fixture}. This has the advantage that:
+ * Your DomainAdapter can be part of your own class hierarchy.
+ * You are much more independent from the implementation details of ${fitLibrary}.
+ * You no longer see the internal methods of the ${fixture} in your IDE, as you did when you had to subclass a ${fixture}.
+Note that the classes ''Fixture'' and ''Traverse'' are subtypes of ''!-DomainAdapter-!''
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainAdapter/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainAdapter/properties.xml
new file mode 100644
index 0000000000..230bbbc744
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainAdapter/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118161112
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232248272015
+ -5818365799020530723
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainDrivenDesign/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainDrivenDesign/content.txt
new file mode 100644
index 0000000000..f8107562ff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainDrivenDesign/content.txt
@@ -0,0 +1,5 @@
+''Domain-Driven Design, Tackling Complexity in the Heart of Software'', Eric Evans, Addison-Wesley, 2004
+
+This discusses all of the following:
+ * ValueObject
+ * DomainEntity
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainDrivenDesign/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainDrivenDesign/properties.xml
new file mode 100644
index 0000000000..a623f4daf7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainDrivenDesign/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164531
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250331484
+ 7139165370809914195
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainEntity/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainEntity/content.txt
new file mode 100644
index 0000000000..c6e96abcd6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainEntity/content.txt
@@ -0,0 +1,11 @@
+An instance of an ''Entity'' is distinct from all other domain objects, even if the contents of the Entity are exactly the same as another one. Contrast this to a ValueObject.
+
+In storytests, we want to be able to refer to an existing ''Entity'', as well as to create a new one and to match the contents of an existing one.
+
+This is awkward if the ''Entity'' class doesn't have a visible key (the actual key may be auto-generated by the database). So in storytests, we make sure that the ''Entities'' we're dealing with do differ in some way so that we can distinguish them. Thus we effectively introduce a temporary key for the purposes of a storytest. Then we are able to refer to an existing ''Entity'' by using a real or temporary key.
+
+For a good introduction to the notion of ''Entity'', see DomainDrivenDesign.
+!3 Programming
+An ''Entity'' key is specified with a String. When an ''Entity'' is expected in a table cell and that cell contains a String, ${fitLibrary} treats the String as a key and calls a ${finder} method to lookup the corresponding Entity by the given key. So how do we know whether such a String is a key, rather than a direct representation of the ''Entity'', as is the case with a ValueObject?
+
+${fitLibrary} follows the convention that an ''Entity'' will '''not''' have a ''public static Object parse(String)'' method (as compared to a ValueObject that often will). This does rule out an ''Entity'' that is a single value that can be represented in a String, unfortunately.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainEntity/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainEntity/properties.xml
new file mode 100644
index 0000000000..1820510332
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainEntity/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164507
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250307343
+ -6735799736235536989
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainFixture/content.txt
new file mode 100644
index 0000000000..64988b2b64
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainFixture/content.txt
@@ -0,0 +1,27 @@
+${domainFixture} is an extension of ${doFixture} that more explicitly supports the 3 phases of ${workflow}:
+ * ${setup}: defines the ''given'' state of the ${sut} before the actions are carried out
+ * This will usually be brief compared to the sequence of actions that would need to be carried out to bring the ${sut} from its initial state into the required state
+ * ${actions}: defines the actions that are carried out (by a user or some other system or by a scheduled task)
+ * One or more of these may also carry out checks:
+ * Whether the result of an action is as expected
+ * Whether an action was rejected as invalid, as expected
+ * ${checks}: defines the ''expected'' state of the ${sut} after the actions have been carried out
+A ${domainFixture} ${storytest} is organised into these three phases.
+ * They are separated with a horizontal line, using
+{{{
+
}}}
+Alternatively:
+ * The end of the ${setup} phase and thus the start of the ${actions} phase is signalled with the following table:
+|''actions''|
+ * The end of the ${actions} phase and thus the start of the ${checks} phase is signalled with the following table:
+|''checks''|
+
+If there are no Actions, the ''checks'' table can be used to signal a switch from the setup phase directly into the Checks phase.
+
+!3 For Programmers
+In each of the phases the following apply at run time:
+ * In the ${setup}, each table defines a property-value pair. A ${setter} method is called with the value.
+ * In the ${actions}, ${domainFixture} acts the same as ${doFixture}
+ * In the ${checks}, each table defines a property-value pair. A ${getter} method is called to retrieve the value and that's matched against the expected value.
+
+DomainTraverse provides the actual implementation.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainFixture/properties.xml
new file mode 100644
index 0000000000..b133d66488
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainFixture/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20081124201811
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167424069671
+ 1038328658899206129
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObject/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObject/content.txt
new file mode 100644
index 0000000000..9a82ba3a43
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObject/content.txt
@@ -0,0 +1,25 @@
+!3 ${domainObject}s
+Examples of ''domain objects'':
+ * Company, User, Account, Project, !-RentalItem-!, Invoice, Container, Vehicle, Ship, Flight
+ * Payment, !-AlertSignal-!, Agreement, Document, Meter, Instrument, Debt, Tender, Contract
+ * !-GoldFuture-!, !-PurchaseAgreement-!, !-LegalDefinition-!, !-SecondParty-!, !-PaymentArrangement-!
+A ''domain object'' is an object from the application/business/organisation domain.
+ * A ''domain object'' is relevant to Customers, Business Analysts, Product Managers and others with a business perspective
+ * A ''domain object'' may be well understood in the business, using a clear term
+ * A ''domain object'' may be invented during the development of a system, as the need for a new abstraction or conceptualisation arises. This could arise from refactorings carried out by the programmers, after discussions with the business-oriented people on a team
+ * What counts as a ''domain object'' depends on the particular business perspective
+ * You can't say whether something is a ''domain object'' without taking account of the context of the application
+ * For examples, people who do on-site installation may have access to ''domain object'' that the usual users are unaware of
+See ${ddd} for some great discussions of the complexity and variability of ''domain objects''. This distinguishes between a ${entity} and a ${valueObject}.
+!3 ''domain objects'' and ${storytest}s
+Storytests can check and set up domain object values. For examples of checking the properties of ''domain objects'', see the following:
+ * [[''!-SimpleProperties-!''][.FitLibrary.SpecifiCations.DomainObject.DomainObjectChecking.SimpleProperties]]
+ * [[''!-ListProperties-!''][.FitLibrary.SpecifiCations.DomainObject.DomainObjectChecking.ListProperties]]
+ * [[''!-ObjectProperties-!''][.FitLibrary.SpecifiCations.DomainObject.DomainObjectChecking.ObjectProperties]]
+For examples of setting up domain objects, see:
+ * [[''!-DomainObjectSetUp-!''][.FitLibrary.SpecifiCations.DomainObject.DomainObjectInjection.SetUpSucceeds]]
+Note:
+ * The above examples are a part of the specifications (${storytest}s) for ${fitLibrary} itself.
+ * These ${storytest}s are different from the ones you'll be using
+ * They show embedded tables for both a ${storytest} and the report that's expected when running that storytest.
+ * The overall ${storytest} passes if the actual report matches the expected one.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObject/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObject/properties.xml
new file mode 100644
index 0000000000..e433553dff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObject/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164519
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250319890
+ 1316974638578089241
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectCheck/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectCheck/content.txt
new file mode 100644
index 0000000000..8131fe9fb0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectCheck/content.txt
@@ -0,0 +1,4 @@
+${domainObject}s can be checked with ''!-DomainObjectCheckTraverse-!'' tables.
+
+For further explanation, examples, and specifications, see:
+ * ${domainObject}
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectCheck/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectCheck/properties.xml
new file mode 100644
index 0000000000..ce8e07848e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectCheck/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060826120901
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156550941473
+ -4858850729627808612
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectSetUp/content.txt
new file mode 100644
index 0000000000..b5f9115898
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectSetUp/content.txt
@@ -0,0 +1,4 @@
+${domainObject}s can be set up with ''!-DomainObjectSetUpTraverse-!'' tables.
+
+For further explanation, examples, and specifications, see:
+ * ${domainObject}
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectSetUp/properties.xml
new file mode 100644
index 0000000000..934869b3ff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainObjectSetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060826120847
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156550927473
+ 2217674745540426788
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainTraverse/content.txt
new file mode 100644
index 0000000000..8371f15498
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainTraverse/content.txt
@@ -0,0 +1 @@
+${domainTraverse} provides the actual implementation of ${domainFixture}.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainTraverse/properties.xml
new file mode 100644
index 0000000000..7cb4074f93
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/DomainTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20061230092717
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167424037093
+ 4199334393774453329
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/EntityKey/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/EntityKey/content.txt
new file mode 100644
index 0000000000..7c7682360f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/EntityKey/content.txt
@@ -0,0 +1,15 @@
+An ${entity} will always have a ${key}, that makes it unique from every other ${entity}. There are various potential traps in basing the ${key} on the properties of an ${entity}. So, often, an ''internal'' key is auto-generated by the database. This is often called an ''id''.
+
+In the following, we consider how to handle an ${entity} that has an internal key.
+
+An internal key will not normally be visible in a ${storytest}. So how do we refer to a specific ${entity}? Here are two approaches:
+ * The approach used in the ${fitNesse} version of ${fit}
+ * The approach used in ${fitLibrary}
+!3 ${fitNesse} Approach
+In the ${fitNesse}version of ${fit}, there is a special mechanism for holding internal keys in ''variables'' so that they can be referred to later. The labels in the header rows of setup and checking tables have special annotations that introduce and use variable names.
+
+This works fine where only setup and checking tables are being used. However, if an ${entity} is created and/or referenced in ${workflow}, there is no obvious mechanism. Likewise if an ${entity} reference occurs in a property of an object (or element of a collection) that's handled as a nested table.
+!3 ${fitLibrary} approach
+In this approach, we assume that the entities in a particular storytest are distinct in some way in one or more of their property values. Then those properties can be used to refer to an ${entity}, as a ''pseudo-''${key}.
+ * Such a ${key} is handled as a String.
+ * An associated ${finder} is specified that takes the String and looks up the ${entity} that's been referred to.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/EntityKey/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/EntityKey/properties.xml
new file mode 100644
index 0000000000..14579f1c85
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/EntityKey/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118161038
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232248238921
+ 1257182095619868276
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExpectedValue/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExpectedValue/content.txt
new file mode 100644
index 0000000000..710935f323
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExpectedValue/content.txt
@@ -0,0 +1,5 @@
+An ${expected} value is a value that's expected as the result of something that happens in the ${sut}:
+ * The result of an action that's being '''check''ed
+ * A value to the right of the empty column in a calculation table
+ * The value of a property of a ${domainObject} that's being checked
+Compare this to an ${given}.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExpectedValue/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExpectedValue/properties.xml
new file mode 100644
index 0000000000..aecf566393
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExpectedValue/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060820123438
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156034078860
+ 6567852576256992017
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExtendedCamelCase/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExtendedCamelCase/content.txt
new file mode 100644
index 0000000000..fa99a1cf5d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExtendedCamelCase/content.txt
@@ -0,0 +1,30 @@
+${programmers}
+Camel casing takes a string like "the first one" and converts it into a camel form of identifier, "theFirstOne".
+
+But this had some problems when non-programmers are creating storytest tables:
+ * A valid identifier in one language would not be in another
+ * Certain identifiers can't be used, such as "case", "for", "do", etc in Java.
+In addition, unicode can't be used for such names, because in general there is little support for unicode in development tools.
+
+Extended camel is used with all of ${fitLibrary}, taking camel casing one step further. It converts a name into a valid identifier in the language concerned. For example, in Java the name "% discount" is translated into "percent discount", which is then camel-cased into "percentDiscount".
+
+This can result in some weird and/or long identifiers. There's no need to work out such identifiers, however, as an unknown identifier is displayed in a error messages in the report of a table. These weird identifiers don't need to "pollute" the application, as they only need to appear in fixturing code (such as a ${domainAdapter}).
+
+Here's some examples:
+
+|!-fitlibrary.specify.utility.CamelCase-!|
+
+|''actions''|
+
+|''calculate''|
+|name || identifier |
+|" hi " || quoteHiQuote |
+|^`{}~ || caretBackquoteLeftBraceRightBraceTilde |
+|two words || twoWords |
+|2 words || twoWords |
+|cost $ || costDollar |
+|!! || bangBang |
+|meet @ || meetAt |
+|rick@rimuResearch.com || rickAtRimuResearchDotCom |
+| || blank |
+|case || case_ |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExtendedCamelCase/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExtendedCamelCase/properties.xml
new file mode 100644
index 0000000000..6e34ec5e68
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ExtendedCamelCase/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20090118164442
+
+
+
+
+
+
+ 1232250282312
+ -3998377729405039075
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FiT/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FiT/content.txt
new file mode 100644
index 0000000000..47e43e0b05
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FiT/content.txt
@@ -0,0 +1,3 @@
+${fit} was developed and released as open-source by Ward Cunningham in 2003.
+
+See http://fit.c2.com
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FiT/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FiT/properties.xml
new file mode 100644
index 0000000000..c31d0c6daa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FiT/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164636
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250396734
+ -6363211211697545033
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FinderMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FinderMethod/content.txt
new file mode 100644
index 0000000000..4962b4153e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FinderMethod/content.txt
@@ -0,0 +1,28 @@
+${programmers}
+A ${finder} can:
+ * Look up an existing ${entity} by a String key; or
+ * Create an object from a String (ie, parse it)
+It was originally designed for the first case above, hence the name
+!3 Entity Lookup
+For example, here's a ${finder} for an ${entity} class ''User'':
+----{{{ public User findUser(String s) {
+ return users.get(s);
+ } }}}----This assumes that the ''Map'' of ''users'' maps from the name to the corresponding ''User''.
+
+It can be convenient to have the ${finder} also create the Entity when the String is sufficient to completely descrive the Entity. For example, here's a finder for a ''State'', which simply has a name:
+----{{{ public User findUser(String s) {
+ State state = states.get(s);
+ if (state == null) {
+ state = new State(s);
+ states.put(s,state);
+ }
+ return state ;
+ } }}}----For a full example, see .FitLibrary.SpecifiCations.ParserSpecifications.EntityParser.SimpleExample
+!3 Parsing
+For example, here's a ${finder} that treats the String "null" as a null value instead of a String:
+----{{{ public String findString(String s) {
+ if (s.equals("null"))
+ return null;
+ return s;
+ } }}}----For a full example, see .FitLibrary.SpecifiCations.ParserSpecifications.EntityParser.FinderAsSpecialisedParser
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FinderMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FinderMethod/properties.xml
new file mode 100644
index 0000000000..b8c21699c8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FinderMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164741
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250461000
+ 8963622887500433874
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitBook/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitBook/content.txt
new file mode 100644
index 0000000000..05f4e53af6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitBook/content.txt
@@ -0,0 +1,16 @@
+!3 ''Fit for Developing Software'', Rick Mugridge and Ward Cunningham, Prentice-Hall, 2005.
+
+!img http://files/images/fitBookCover.jpeg
+
+!3 Praise for the book:
+
+ * "Rick and Ward continue to amaze me. Testing business rules is a fundamentally hard thing that has confounded many, and yet these two have devised a mechanism that cuts to the essence of the problem. In this work they offer a simple, thorough, approachable, and automatable means of specifying and testing such rules."
+'''Grady Booch''', IBM Fellow
+
+
+ * "By providing a simple, effective method for creating and automating tabular examples of requirements, Fit has dramatically improved how domain experts, analysts, testers, and programmers collaborate to produce quality software."
+'''Joshua Kerievsky''', founder, Industrial Logic, Inc., and author of ''Refactoring to Patterns''
+
+
+ * "Even with the best approaches, there always seemed to be a gap between the software that was written and the software the user wanted. With Fit we can finally close the loop. This is an important piece in the agile development puzzle."
+'''Dave Thomas''', coauthor of ''The Pragmatic Programmer''
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitBook/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitBook/properties.xml
new file mode 100644
index 0000000000..329e5f5ee4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitBook/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20081102152358
+ true
+ true
+ true
+ true
+ true
+ true
+ 1225592638921
+ -7379002848605265755
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrary/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrary/content.txt
new file mode 100644
index 0000000000..180fa80479
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrary/content.txt
@@ -0,0 +1,7 @@
+FitLibrary in Java was developed by Rick Mugridge, http://www.rimuresearch.com, in 2004. It gained initial attention with ''!-DoFixture-!'', a Fit fixture that expressed workflow storytests in a more compact form than ''!-ActionFixture-!'' one of the three main fixtures of Fit.
+
+Rick has evolved FitLibrary considerably since 2004.
+
+It was originally based on Fit. Since August 2006, it can operate independently of Fit, but it still can inter-operate with Fit.
+
+There are ports (or reimplementations) to other languages for earlier versions of FitLibrary: see OtherLanguages.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrary/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrary/properties.xml
new file mode 100644
index 0000000000..9b1f5b2e02
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrary/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118155905
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232247545515
+ 6587286370373689241
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibraryGeneric/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibraryGeneric/content.txt
new file mode 100644
index 0000000000..980b0f5773
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibraryGeneric/content.txt
@@ -0,0 +1,5 @@
+${programmers}
+${fitLibrary2} is an extension of ${fitLibrary} that provides support for Java generics.
+ * It eliminates the need for ${objectFactoryMethod}s in most cases
+ * It is currently complete except for handling application-defined generic classes and methods. This is being added as we speak
+ * It will only be made available for general release when that's completed.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibraryGeneric/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibraryGeneric/properties.xml
new file mode 100644
index 0000000000..542c0fe1dd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibraryGeneric/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20080727205043
+ true
+ true
+ true
+ true
+ true
+ true
+ 1161584196368
+ -8135270693768540560
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrarySelector/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrarySelector/content.txt
new file mode 100644
index 0000000000..e8e7eb7a41
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrarySelector/content.txt
@@ -0,0 +1,28 @@
+${programmers}
+Most of the time, there's no need to specifically mention the code that will interpret a table:
+ * If the method for a ${workflow} action returns a List, Set, array, Map, ${entity}, etc, it will be ${autoWrapped} with an appropriate ${traverse}
+ * If a nested table corresponds to the argument of a method, the appropriate ${traverse} will be used to set up the collection, array, map or object
+However, you may want to use a specific ${traverse} in your code.
+ * For example, you may prefer to have a ''!-SetTraverse-!'' manage a ''Map'' instead of ''!-MapTraverse-!'', the default.
+ * For example, you may prefer to have a ''!-SetTraverse-!'' manage an array instead of ''!-ArrayTraverse-!'', the default.
+ * Rather than referring to the specific ${traverse}, call the appropriate factory method in class ''!-FitLibrarySelector-!''.
+!3 Factory methods
+${workflow}:
+ * public static Traverse selectWorkflow(Object sut);
+Collections:
+ * public static Traverse selectPrimitiveArray(Object array);
+ * public static Traverse selectUnorderedList(Object actuals);
+ * public static !-CollectionTraverse-! selectUnorderedList();
+ * public static Traverse selectOrderedList(Object actuals);
+ * public static !-CollectionTraverse-! selectOrderedList();
+ * public static Traverse selectSet(Object actuals);
+ * public static !-CollectionTraverse-! selectSet();
+ * public static Traverse selectSubset(Object actuals);
+ * public static !-CollectionTraverse-! selectSubset();
+ * public static Traverse selectMap(Map result);
+Collections Setup:
+ * public static Traverse selectCollectionSetUp();
+ * public static Traverse selectCollectionSetUp(Collection collection);
+${domainObject}s:
+ * public static Traverse selectDomainCheck(Object domainObject);
+ * public static Traverse selectDomainSetUp(Object domainObject)
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrarySelector/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrarySelector/properties.xml
new file mode 100644
index 0000000000..fd0abbbbad
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitLibrarySelector/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060827120722
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156637242632
+ 4574258171295271924
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitNesse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitNesse/content.txt
new file mode 100644
index 0000000000..b90be2972d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitNesse/content.txt
@@ -0,0 +1,3 @@
+FitNesse is a wiki for editing and running storytests.
+
+See http://www.fitNesse.org
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitNesse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitNesse/properties.xml
new file mode 100644
index 0000000000..141f3daba8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FitNesse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164627
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250387500
+ 5859778160440650491
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixTure/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixTure/content.txt
new file mode 100644
index 0000000000..3588ab57d0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixTure/content.txt
@@ -0,0 +1,5 @@
+A ${fixture} is a class in ${fit} that is responsible for interpreting a table. For example, a ''!-RowFixture-!'' checks that the elements of a collection match the given values in the table.
+
+While ${fitLibrary} continues to support ${fixture}s, it:
+ * Uses a similar class, a ${traverse}
+ * Doesn't require that you subclass a ${fitLibrary} ${fixture} or ${traverse}, instead using ${domainAdapter}s.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixTure/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixTure/properties.xml
new file mode 100644
index 0000000000..08d6ba6e59
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixTure/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164717
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250437906
+ -1304926728796484005
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixturingMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixturingMethod/content.txt
new file mode 100644
index 0000000000..94a65c4bd0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixturingMethod/content.txt
@@ -0,0 +1,5 @@
+This is a special method that's called on a ${fixture}, ${traverse} or ${domainObject}. It is '''not''' called on any other type of object, such as a plain ${sut}. The fixturing methods are as follows:
+ * ${setUpMethod} or ${tearDownMethod}
+ * A ${finder}
+ * A ${parserDelegateMethod}
+and some others...
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixturingMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixturingMethod/properties.xml
new file mode 100644
index 0000000000..390fa82f6b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FixturingMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20070104193626
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167892586921
+ -695267649926099105
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FloW/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FloW/content.txt
new file mode 100644
index 0000000000..9247f6a9b7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FloW/content.txt
@@ -0,0 +1 @@
+A ${doFixture} is in ''flow'' when it is the fixture referenced in the first table. Instead of interpreting just that table, as is usual with Fit, it interprets (at least some rows of) all of the tables in the storytest.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FloW/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FloW/properties.xml
new file mode 100644
index 0000000000..c9ae42ee6d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/FloW/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20070104191834
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167891514296
+ -6144126410560473701
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GetterMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GetterMethod/content.txt
new file mode 100644
index 0000000000..a9bb999d41
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GetterMethod/content.txt
@@ -0,0 +1,4 @@
+${programmers}
+A ${getter} is a method that's used to get the value of a ''property''. This is Java Beans terminology.
+
+Also see ${setter}.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GetterMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GetterMethod/properties.xml
new file mode 100644
index 0000000000..4fec11cf24
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GetterMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060826124940
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156553380901
+ -7135853926335300481
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GivenValue/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GivenValue/content.txt
new file mode 100644
index 0000000000..b2388748f4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GivenValue/content.txt
@@ -0,0 +1,6 @@
+A ${given} value is a value that's suppplied as an input value to:
+ * An action
+ * A value to the left of the empty column in a calculation table
+ * A value in a combination table
+ * Set the value of a property of a ${domainObject}
+Compare this to an ${expected}.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GivenValue/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GivenValue/properties.xml
new file mode 100644
index 0000000000..e87898a722
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/GivenValue/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060820123519
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156034119348
+ -1137076693752718138
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/KeyWords/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/KeyWords/content.txt
new file mode 100644
index 0000000000..2cdd35b618
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/KeyWords/content.txt
@@ -0,0 +1,15 @@
+An ${action} in the ${actions} of ${workflow} consists of a row of a table.
+ * The first cell and every second cell after that contains a ''keyword''
+ * These ${keywords} tell you what the ${action} is about
+ * The other cells contain information that's used by the ${action}, such as which User, Room, or amount of money.
+ * ${keywords} are often ''italicised''
+!3 Examples
+ * See .FitLibrary.UserGuide.FitLibraryByExample.WorkFlow
+!3 Programmers: Creating a method name from an action
+The ${keywords} of an action are concatentated together, with spaces between and converted into a valid Java identifier using ${extendedCamelCase}. Eg:
+ * "first example" is mapped to "firstExample"
+ * "%age" is mapped to "percentAge"
+ * "while" is mapped to "_while"
+There's no need to work out the mapping. Run the storytest and ${fitLibrary} will tell you the name of the method that it expects (if it doesn't exist), along with its arguments.
+
+Eg, see: .FitLibrary.UserGuide.FitLibraryByExample.WorkFlow.GeneralCodeDetails
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/KeyWords/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/KeyWords/properties.xml
new file mode 100644
index 0000000000..3a14e5d1c7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/KeyWords/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20070216092834
+ true
+ true
+ true
+ true
+ true
+ true
+ 1157202072179
+ -5918419505629928821
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ListTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ListTraverse/content.txt
new file mode 100644
index 0000000000..7102f5aeb2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ListTraverse/content.txt
@@ -0,0 +1,3 @@
+This ${traverse} checks a given collection against a table.
+!3 Examples
+ * .FitLibrary.UserGuide.FitLibraryByExample.OrderedList
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ListTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ListTraverse/properties.xml
new file mode 100644
index 0000000000..30ed42a34d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ListTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060820115506
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156031706128
+ 5345667037732800835
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/MapTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/MapTraverse/content.txt
new file mode 100644
index 0000000000..0cb5bdca99
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/MapTraverse/content.txt
@@ -0,0 +1,6 @@
+This ${traverse} checks a given ''Map'' against a table.
+!3 Examples
+ * .FitLibrary.UserGuide.FitLibraryByExample.MapHandling
+ * .FitLibrary.SpecifiCations.CollectionSpecifications.MapTraverse
+A ${setTraverse} can also check a ''Map'', if it's explicitly passed one. See:
+ * .FitLibrary.SpecifiCations.CollectionSpecifications.SetTraverse.TestMap
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/MapTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/MapTraverse/properties.xml
new file mode 100644
index 0000000000..ef45deb5dd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/MapTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060824151511
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156389311688
+ -979872373132918528
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectFactoryMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectFactoryMethod/content.txt
new file mode 100644
index 0000000000..e59f2f5d90
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectFactoryMethod/content.txt
@@ -0,0 +1,16 @@
+${programmers}
+When a collection is being created from a setup table, an ${objectFactoryMethod} is called for each row of the table. This is needed because the type of the elements of the collection are not known (prior to jdk1.5).
+ * The name of the ${objectFactoryMethod} is formed from concatenating each of the ${label}s in the table and applying ${extendedCamelCase} to them
+ * Eg, the labels "name", "owing" form the ${objectFactoryMethod} name of ''nameOwing()''.
+ * The ${objectFactoryMethod} takes an argument for each ${label} column in the table, in order.
+ * The ${objectFactoryMethod} is called once for each element row of the table, passing the values from the table as arguments (suitably parsed).
+The responsibility of the ${objectFactoryMethod} depends on whether the ${listSetUp} has been passed a Collection or not:
+ * For an embedded table, a list is automatically constructed by ${fitLibrary} and passed to the ${listSetUp}. The ${objectFactoryMethod} creates a suitable object from the arguments and returns it. It's automatically added to the list.
+ * For a table that's not embedded, there are two possibilities:
+ * A list was passed to the ${listSetUp} when it was selected. The ${objectFactoryMethod} creates a suitable object from the arguments and returns it. It's automatically added to the list.
+ * '''No''' list was passed to the ${listSetUp} when it was selected. The ${objectFactoryMethod} is then responsible for adding the created object to some collection itself. It doesn't need to return it. This option is provided for:
+ * Backwards compatibility, because this was how ''!-SetUpFixture-!'' worked
+ * Creating other types of collections, such as ''Maps''
+ * When it's necessary to wire up bidirectional associations between objects (To do: discuss this in detail.)
+!3 Examples
+ * See [[''chat example''][.FitLibrary.UserGuide.FitLibraryByExample.WorkFlow.WorkflowCode]]
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectFactoryMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectFactoryMethod/properties.xml
new file mode 100644
index 0000000000..cceccd13f7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectFactoryMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20070216092834
+ true
+ true
+ true
+ true
+ true
+ true
+ 1158226026100
+ 7757231157753410871
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectUnderTest/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectUnderTest/content.txt
new file mode 100644
index 0000000000..0695519a5b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectUnderTest/content.txt
@@ -0,0 +1 @@
+This is an application object that's being specified and tested with storytests. In general, it may be the whole SystemUnderTest.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectUnderTest/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectUnderTest/properties.xml
new file mode 100644
index 0000000000..785b31cce4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ObjectUnderTest/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164417
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250257703
+ -8248476175786150193
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/OtherLanguages/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/OtherLanguages/content.txt
new file mode 100644
index 0000000000..7e80bef576
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/OtherLanguages/content.txt
@@ -0,0 +1,6 @@
+!3 Support in Python, C# and other programming languages
+ * John Roth has added ''!-FitLibrary-!'' to the Python version of Fit (for both core Fit and ''!-FitNesse-!''). This is available at www.python.org/pypi
+ * Mike Stockdale has released a C# port for much of ''!-FitLibrary-!'' at https://sourceforge.net/projects/fitlibrary/
+ * Randy Coulman has ported FitLibrary to Smalltalk
+ * Work may be underway on ports for Ruby, J#, C++, and PHP.
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/OtherLanguages/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/OtherLanguages/properties.xml
new file mode 100644
index 0000000000..00d12e463e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/OtherLanguages/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118155947
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232247587515
+ 9222487705881996449
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParSer/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParSer/content.txt
new file mode 100644
index 0000000000..2e7b196135
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParSer/content.txt
@@ -0,0 +1,16 @@
+${programmers}
+A ${parser} is part of the implementation of ${fitLibrary}
+
+There is a ${parser} for each class or primitive type
+
+For user-defined classes, some of the responsibility is passed to either:
+ * The class itself, with ${selfParse}
+ * A ${finder}
+ * A ${parseDelegate}
+
+The ${parser} is responsible for:
+ * Converting the contents of a cell (string or embedded table) into a value of the class or type
+ * Comparing two values to see if they match
+ * Showing a value as a string
+See:
+ * .FitLibrary.SpecifiCations.ParserSpecifications
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParSer/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParSer/properties.xml
new file mode 100644
index 0000000000..705f4bf5ab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParSer/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164616
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250376515
+ -4798697765372568039
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParseDelegate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParseDelegate/content.txt
new file mode 100644
index 0000000000..29b1516a80
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParseDelegate/content.txt
@@ -0,0 +1,12 @@
+${programmers}
+A ParseDelegate is responsible for parsing a String into a value object for a particular ''object value'' class. The details for Java are as follows.
+ * The ParseDelegate is registered as a delegate for a particular class.
+ * Call the method {{{LookupParser.registerParseDelegate()}}}. Eg:
+ * {{{LookupParser.registerParseDelegate(FixedPoint.class, FixedPointDelegate.class);}}}
+ * The first argument is the ''value object'' class concerned
+ * The second argument is either:
+ * A class, in which case it has a method ''public static Object parse(String s)''; or
+ * An object, in which case it has a method ''public Object parse(String s)'';
+A ${parseDelegate} may be specified for any type, and so will be override the provided ${parser} for that type for the duration of the storytest concerned.
+
+For example, see .FitLibrary.SpecifiCations.ParserSpecifications.ValueObjectParser.TextInCell.DelegateParseString
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParseDelegate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParseDelegate/properties.xml
new file mode 100644
index 0000000000..318d9b5c7d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParseDelegate/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164647
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250407406
+ -6289400867010789908
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParserDelegateMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParserDelegateMethod/content.txt
new file mode 100644
index 0000000000..3d9d974142
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParserDelegateMethod/content.txt
@@ -0,0 +1,5 @@
+This is a method, supplied in a ${domainAdapter}, that defines how to parse a particular ${valueObject} type.
+
+In Java, a ${finder} is also used.
+!3 Examples
+ * See .FitLibrary.SpecifiCations.DoWorkflow.TestParseDelegate
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParserDelegateMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParserDelegateMethod/properties.xml
new file mode 100644
index 0000000000..9ce6a52465
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ParserDelegateMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20061117161800
+ true
+ true
+ true
+ true
+ true
+ true
+ 1163733480121
+ -8069785206396544127
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RickMugridge/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RickMugridge/content.txt
new file mode 100644
index 0000000000..1cbc056a5b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RickMugridge/content.txt
@@ -0,0 +1,5 @@
+!3 Rick Mugridge, Rimu Research, http://www.rimuresearch.com
+
+I am the inventor of ${fitLibrary}, which I developed in Java (and continue to do so).
+
+For my email address, see my company website, http://www.rimuresearch.com
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RickMugridge/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RickMugridge/properties.xml
new file mode 100644
index 0000000000..2ae73b80b5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RickMugridge/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164547
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250347562
+ -4545314077431605052
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RuleMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RuleMethod/content.txt
new file mode 100644
index 0000000000..a18bee5b4c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RuleMethod/content.txt
@@ -0,0 +1,7 @@
+${programmers}
+A ${ruleMethod} is called for each row of a calculations rule table.
+ * It's name is derived from the ${label}s in the header row of the table
+ * It has one argument for each ${given} value and returns a value that's used to check the ${expected} value of the calculation rule
+!3 Examples
+ * .FitLibrary.UserGuide.FitLibraryByExample.CalculationRule
+ * .FitLibrary.UserGuide.FitLibraryByExample.ConstraintRule
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RuleMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RuleMethod/properties.xml
new file mode 100644
index 0000000000..0791eefa57
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/RuleMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060826125038
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156553438754
+ 7238694886134499398
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SelfParse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SelfParse/content.txt
new file mode 100644
index 0000000000..86feabee2b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SelfParse/content.txt
@@ -0,0 +1,6 @@
+${programmers}
+With ${selfParse}, a ${valueObject} class is responsible for some of the responsibilities of a ${parser}. In Java, it:
+ * Has a ''parse()'' method:
+{{{ public static Object parse(String s);}}} * Has an ''equals()'' method to compare one object of the class with another when matching an ''expected'' and ''actual'' value:
+{{{ public boolean equals(Object object);}}} * Has a ''toString()'' method to show itself as a String, for use in error messages:
+{{{ public String toString();}}}
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SelfParse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SelfParse/properties.xml
new file mode 100644
index 0000000000..a29c2fa5e6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SelfParse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164336
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250216593
+ -1009820857849703900
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetTraverse/content.txt
new file mode 100644
index 0000000000..43b190ee70
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetTraverse/content.txt
@@ -0,0 +1,4 @@
+This ${traverse} checks a ''set'' (ie, an unordered list) against a table.
+!3 Examples
+ * .FitLibrary.UserGuide.FitLibraryByExample.UnorderedList
+ * .FitLibrary.SpecifiCations.CollectionSpecifications.SetTraverse
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetTraverse/properties.xml
new file mode 100644
index 0000000000..aa9a1196ea
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060820120319
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156032199988
+ 350157940704992567
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetUpMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetUpMethod/content.txt
new file mode 100644
index 0000000000..f0b6de7f82
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetUpMethod/content.txt
@@ -0,0 +1,5 @@
+When a ${fixture}, ${traverse}, or {domainAdapter} is created and starts to interpret a table, it will automatically first call a public method ''setUp()'', if it exists. The method is called only once.
+
+The method that's actually called is the ''setUp()'' method that's found in the first object, starting at the ${fixture} or ${traverse} and following down the ${sut} chain. However, an object is only considered if it is a ${fixture}, ${traverse}, or {domainAdapter}.
+
+The ${tearDownMethod} servers a similar purpose, but is called at the end of interpretation. See details there of a potential confusion.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetUpMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetUpMethod/properties.xml
new file mode 100644
index 0000000000..e97c551446
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetUpMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20070104191151
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167891111984
+ 6367122435294039294
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetterMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetterMethod/content.txt
new file mode 100644
index 0000000000..9c1d3c7511
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetterMethod/content.txt
@@ -0,0 +1,4 @@
+${programmers}
+A ${setter} is for changing the the value of a property. Also see ${getter}.
+
+A ${setter} for a property is used in the ${setup} of ${workflow}.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetterMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetterMethod/properties.xml
new file mode 100644
index 0000000000..c64e348151
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SetterMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060903002501
+ true
+ true
+ true
+ true
+ true
+ true
+ 1157199901999
+ 6762853968119379558
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ShowMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ShowMethod/content.txt
new file mode 100644
index 0000000000..1b9dc70031
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ShowMethod/content.txt
@@ -0,0 +1,2 @@
+${programmers}
+A ${show} is needed when a ${finder} returns an ${entity} that doesn't match the expected one.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ShowMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ShowMethod/properties.xml
new file mode 100644
index 0000000000..5478d2eb12
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ShowMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060826125115
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156553475637
+ -9179881018107968313
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/StoryTest/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/StoryTest/content.txt
new file mode 100644
index 0000000000..2f96ec66a1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/StoryTest/content.txt
@@ -0,0 +1,10 @@
+A ${storytest} has two natures:
+ * As an example, specifying domain object, business rules, constraints, etc
+ * As an automated test, which checks that the ${sut} acts and continues to act as required
+A ${storytest} often tells a little story.
+
+Some people refer to these as ''acceptance tests''. However:
+ * They have a different role, as ${storytest}s are often written for a ''story'' (a small piece of functionality) before development of the code, etc for that ''story''.
+ * Because they are used to specify business rules, they are not always ''end to end''
+ * They tend to be written in a more abstract form than usual ''acceptance tests'' (which tend to be written in terms of the user interface).
+Joshua Kerievsky introduced the terms ${storytest} and ''Storytest Driven Development''. See http://industrialxp.org.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/StoryTest/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/StoryTest/properties.xml
new file mode 100644
index 0000000000..54d9bdc708
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/StoryTest/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164658
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250418000
+ 7375953964972227119
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SubsetTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SubsetTraverse/content.txt
new file mode 100644
index 0000000000..1d390ff811
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SubsetTraverse/content.txt
@@ -0,0 +1,4 @@
+This ${traverse} checks a ''subset'' (ie, some of an unordered list) against a table.
+!3 Examples
+ * .FitLibrary.UserGuide.FitLibraryByExample.SubSet
+ * .FitLibrary.SpecifiCations.CollectionSpecifications.SubsetTraverse
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SubsetTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SubsetTraverse/properties.xml
new file mode 100644
index 0000000000..23a884db80
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SubsetTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20060820121258
+ true
+ true
+ true
+ true
+ true
+ true
+ 1156032778140
+ -7635451234320051215
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteFixture/content.txt
new file mode 100644
index 0000000000..d214cba5b3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteFixture/content.txt
@@ -0,0 +1,9 @@
+With ${suite}s:
+ * ${storytest}s no longer need to mention any class names. This means that the same storytests can easily be used with different fixturing for testing at different levels, such as directly into the domain layer and through a GUI or web interface.
+ * Storytests can be filtered for a particular test run. For example, when only the completed storytests should be run on the build machine.
+ * The fixtures for the storytests in a suite can easily share resources, such as database connections.
+ * Each suite can provide different configuration information, such as selecting a DB or Spring configurations.
+ * The ${suiteSetUpMethod} and ${suiteTearDownMethod} are called at the start and end of suite processing.
+See:
+ * ..FitLibrary.SuiteFixture
+ * .FitLibrary.SpecifiCations.SuiteFixture for further details
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteFixture/properties.xml
new file mode 100644
index 0000000000..a86ef20276
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteFixture/properties.xml
@@ -0,0 +1,15 @@
+
+
+ true
+ true
+ 20070104192945
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167892185187
+ -453645840492434277
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteSetUpMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteSetUpMethod/content.txt
new file mode 100644
index 0000000000..272af9622a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteSetUpMethod/content.txt
@@ -0,0 +1,3 @@
+The method ''suiteSetUp()'' is called on a ${suite} before it starts processing subsequent storytests.
+
+See the corresponding ${suiteTearDownMethod}.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteSetUpMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteSetUpMethod/properties.xml
new file mode 100644
index 0000000000..096f2afed3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteSetUpMethod/properties.xml
@@ -0,0 +1,15 @@
+
+
+ true
+ true
+ 20070104192806
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167892086718
+ -1291869987637895071
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteTearDownMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteTearDownMethod/content.txt
new file mode 100644
index 0000000000..0bba3b2b75
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteTearDownMethod/content.txt
@@ -0,0 +1,3 @@
+The method ''suiteTearDown()'' is called on a ${suite} after it finished processing all storytests.
+
+See the corresponding ${suiteSetUpMethod}.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteTearDownMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteTearDownMethod/properties.xml
new file mode 100644
index 0000000000..7bb516f2d0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SuiteTearDownMethod/properties.xml
@@ -0,0 +1,15 @@
+
+
+ true
+ true
+ 20070104192831
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167892111796
+ -4045843126706362987
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SystemUnderTest/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SystemUnderTest/content.txt
new file mode 100644
index 0000000000..b0d612ae07
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SystemUnderTest/content.txt
@@ -0,0 +1,5 @@
+The application that's being tested is sometimes referred to as the ${sut}. The following are not included:
+ * A ${fixture}
+ * A ${traverse}
+ * A ${domainAdapter}
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SystemUnderTest/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SystemUnderTest/properties.xml
new file mode 100644
index 0000000000..dd4b007450
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/SystemUnderTest/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118161048
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232248248593
+ -8058179470559672608
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TearDownMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TearDownMethod/content.txt
new file mode 100644
index 0000000000..941069ff4c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TearDownMethod/content.txt
@@ -0,0 +1,11 @@
+When a ${fixture}, ${traverse}, or {domainAdapter} finishing interpretation, it will automatically call a public method ''tearDown()'', if it exists. The method is called only once. There are two cases:
+ * The fixture is a ${doFixture} in ${flow}. The ''tearDown()'' call occurs after all the tables in the storytest have been interpreted
+ * Otherwise, the ''tearDown()'' call occurs after that fixture has finished processing its first table.
+The method that's actually called is the ''tearDown()'' method that's found in the first object, starting at the ${fixture} or ${traverse} and following down the ${sut} chain. However, an object is only considered if it is a ${fixture}, ${traverse}, or {domainAdapter}.
+
+The ${setUpMethod} servers a similar purpose, but is called at the start of interpretation.
+
+Sometimes the behaviour may be surprising:
+ * Consider when the same ${domainAdapter} is referenced by two fixtures on a page, one being a ${doFixture} in ${flow}. The ${domainAdapter} has ''setUp()'' and ''tearDown()'' methods, but the fixtures do not. When the first table is interpreted, the ''setUp()'' method of the ${domainAdapter} is called. When (say) the third table in the storytest has been interpreted by the second (non-${flow}) fixture, the ''tearDown()'' method is called for that table.
+ * However, if the second (non-${flow}) fixture had ''setUp()'' and ''tearDown()'' methods, they would be called instead for the third table. At the end of the storytest, the ''tearDown()'' method of the ${domainAdapter} would then be called.
+In other words, take care when sharing ${domainAdapter}s between fixtures.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TearDownMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TearDownMethod/properties.xml
new file mode 100644
index 0000000000..a7c3a759ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TearDownMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20070104192343
+ true
+ true
+ true
+ true
+ true
+ true
+ 1167891823750
+ -3472813592400212787
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TraVerse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TraVerse/content.txt
new file mode 100644
index 0000000000..84623344a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TraVerse/content.txt
@@ -0,0 +1,12 @@
+A ${traverse} plays the role of a ${fixture} in the implementation of ${fitLibrary}. A ${traverse} differs in the following ways:
+ * It can return a result
+ * It has differently-named methods, which explicitly pass parameters that are held in a ${fixture}
+ * It is a ${domainAdapter}, like any other
+For backwards compatibility, all the ${fitLibrary} ${fixture}s remain. They simply pass responsibility onto a corresponding ${traverse}. It's fine to mix the use of ${fixture}s and ${traverse}s.
+
+There are some ${traverse}s that have no corresponding ${fixture}. Eg, ${mapTraverse}.
+
+In most cases, you don't need to know about the ${traverse}s:
+ * It's not necessary to subclass either a ${traverse} or ${fixture}. Just use a bare class. If you need specialised methods beyond those in your application classes, use a ${domainAdapter}.
+ * Objects returned from ${workflow} actions are auto-wrapped, so you don't usually need to explciitly select a ${traverse}. You do, for example, if you want to treat a ''List'' as a ''Set''. If you do:
+ * Call the appropropriate selector method in ''!-FitLibrarySelector-!'' to choose the appropriate one. Using these methods makes your fixturing code less dependent on the implementation details of ${fitLibrary}.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TraVerse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TraVerse/properties.xml
new file mode 100644
index 0000000000..ba5c15cfd5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/TraVerse/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164354
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250234562
+ -3419031272821340608
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ValueObject/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ValueObject/content.txt
new file mode 100644
index 0000000000..9207612849
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ValueObject/content.txt
@@ -0,0 +1,18 @@
+A ValueObject is a domain object that doesn't have identity. There may be several copies of the "same" ValueObject, and they'll be treated as being the same if they have the same contents. Compare this to an DomainEntity.
+
+Here are some examples of domain objects that will ''usually'' be a ValueObject:
+ * ''Date''
+ * ''Count''
+ * ''Money''
+ * ''Point''
+ * ''Circle''
+They'll often very simple, but don't have to be.
+
+There can be several ''copies'' of the same ValueObject in a storytest. And so we can simply include their whole value several times. The value may be a String, such as the ''Date'' "04/04/2006. Or it could be a table, such as the following ''Point'':
+
+|x|23|
+|y|45|
+
+That ''Point'' could also be represented in a String as "(23,45)"
+
+For a good introduction to the notion of ValueObject, see ${ddd}.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ValueObject/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ValueObject/properties.xml
new file mode 100644
index 0000000000..6f115b0c1e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/ValueObject/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164729
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250449375
+ -7161958510369427309
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkFlow/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkFlow/content.txt
new file mode 100644
index 0000000000..a902ee2d79
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkFlow/content.txt
@@ -0,0 +1,11 @@
+WorkFlow is concerned with the sequence of actions that are carried out to achieve some goal.
+
+A ${workflow} ${storytest} will specify an example sequence of actions. Such a ${storytest} will usually consist of three sections, in order:
+ * ${setup}, which specifies the state of the system prior to carrying out the steps
+ * ${actions}, which specifies the actions being carried out
+ * ${checks}, whicn specify the state of parts of the system that have changed (or not) due to the actions.
+These don't always appear:
+ * There may be no ''setup'' section because the actions occur with the system having just started.
+ * The ''actions'' may carry out some ''checks'' as they go. For example, we may specify that an particular ''action'' will be rejected because it's not valid to carry out that action in that state.
+ * There may be no ''checks'' section, either because the ''checks'' occurred along with the ''actions''.
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkFlow/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkFlow/properties.xml
new file mode 100644
index 0000000000..1d24afb716
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkFlow/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164456
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250296562
+ 5067693853979858183
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkflowAction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkflowAction/content.txt
new file mode 100644
index 0000000000..3c5c1066d2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkflowAction/content.txt
@@ -0,0 +1,7 @@
+This is an action in a ${workflow} table. Such an action may:
+ * Be carried out by a user through a user interface
+ * Happen automatically: Eg, at a given time, or after some time has elapsed since some event or action
+ * Be due to an action of another system, such as it sending data or signalling an event
+!3 For example
+ * .FitLibrary.UserGuide.FitLibraryByExample.WorkFlow
+ * .FitLibrary.SpecifiCations.DoWorkflow.TestActions
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkflowAction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkflowAction/properties.xml
new file mode 100644
index 0000000000..fb3b689a1f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/WorkflowAction/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118164707
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232250427796
+ 3409327463712869249
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/content.txt b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/content.txt
new file mode 100644
index 0000000000..906c5640a4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/content.txt
@@ -0,0 +1,4 @@
+Here's a glossary of terms that we use in the user guide and specifications:
+
+|!contents|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/GlosSary/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/properties.xml
new file mode 100644
index 0000000000..2ffbcc4565
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/GlosSary/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090118161025
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232248225609
+ -399357719951294885
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/PageFooter/content.txt b/fitnesse/FitNesseRoot/FitLibrary/PageFooter/content.txt
new file mode 100644
index 0000000000..aac992a059
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/PageFooter/content.txt
@@ -0,0 +1,8 @@
+!**< glossary reference definitions
+!define copyright {''Copyright (c) 2004 - 2010'' [[''Rick Mugridge''][.FitLibrary.GlosSary.RickMugridge]], ''http://www.rimuresearch.com''}
+!define gpl2 (''Released under the terms of the GNU General Public License version 2 or later.'')
+**!
+----${copyright}
+${gpl2}
+
+([[!-FitLibrary.Specifications-!][.FitLibrary.SpecifiCations]]) ([[!-FitLibrary.UserGuide-!][.FitLibrary.UserGuide]]) ([[!-FitLibrary.Glossary-!][.FitLibrary.GlosSary]])
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/PageFooter/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/PageFooter/properties.xml
new file mode 100644
index 0000000000..26a79f53b1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/PageFooter/properties.xml
@@ -0,0 +1,13 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1232247506625
+ -5609149622327051997
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/CodeDetails/content.txt b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/CodeDetails/content.txt
new file mode 100644
index 0000000000..9a1c0841eb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/CodeDetails/content.txt
@@ -0,0 +1,29 @@
+!3 Creating a method name from an action
+The ${keywords} of an action are concatentated together, with spaces between and converted into a valid Java identifier. Eg:
+ * "first example" is mapped to "firstExample"
+ * "%age" is mapped to "percentAge"
+ * "while" is mapped to "_while"
+There's no need to work out the mapping. Run the storytest and ${fitLibrary} will tell you the name of the method that it expects (if it doesn't exist), along with its arguments. Eg, run this:
+
+| !-fitlibrary.eg.chat.ChatSystem-! |
+----
+|''1 some mix''|1|''of %age''|3|''and .^&''|chat|
+
+||1||2||
+
+The mapping is done using ${extendedCamelCase}.
+!3 Rules for coloring Cells in the Report
+ * If the called method returns a boolean value, the ''keywords'' of that action are colored green if the returns true. If the method returns false or throws an exception, it colors it red.
+ * A 'check'' special action colors the last cell, containing the expected value
+ * A 'reject' or 'not' special action color the action green if the action returns false or throws an exception. Otherwise it colors it red.
+ * An 'ensure' special action colors the action red if the action returns false or throws an exception. Otherwise it colors it green.
+!3 Auto-Wrapping
+The value returned by the method called for an action may be auto-wrapped with a Traverse for interpreting the rest of the table. Objects are auto-wrapped as follows:
+ * A ''Map'' objects is auto-wrapped with a ${mapTraverse}.
+ * A ''Set'' object is auto-wrapped with a ${setTraverse}.
+ * A primitive array, such as int[], Integer[], etc is wrapped with an ${arrayTraverse}
+ * An ''Object[]'', ''Collection'' or ''Iterator'' is wrapped with a ${listTraverse}.
+ * An 'Object' is wrapped with a ${workflow}'. But only if it's not one of the above, nor a ${traverse} nor ${fixture}, and doesn't have a ''static Object parse(String)'' method.
+This ${traverse} object, or the one returned explicitly, is used to interpret the rest of the table.
+
+Also see SetUpTearDown
diff --git a/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/CodeDetails/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/CodeDetails/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/CodeDetails/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/SetUpTearDown/content.txt b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/SetUpTearDown/content.txt
new file mode 100644
index 0000000000..260825bd9c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/SetUpTearDown/content.txt
@@ -0,0 +1,14 @@
+!3 Doing your own processing before and/or after a table has been processsed
+For example, it may be necessary to:
+ * Open a database connection, socket, file, or browser
+ * Start a transaction or session
+ * Close a database connection, socket, file, or browser
+ * Commit/abort a transaction or session
+ * Clean up some objects, data or database tables after a storytest (although it's often not good practice to do this)
+Include the methods ''setUp()'' and/or ''tearDown()'' in your class if you want to do this with a table in a storytest.
+ * ''setUp()'' is called before the table is processed
+ * ''tearDown()'' is called afterwards
+However, the first object of a storytest is different. These methods are called before and/or after all of the tables have been processed.
+ * ''setUp()'' is called before any of the tables are processed
+ * ''tearDown()'' is called after all of the tables have been processed (or after it is prematurely stopped)
+It's also possible to do before and after processing across a suite of storytests. See ${suite}.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/SetUpTearDown/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/SetUpTearDown/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/SetUpTearDown/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/content.txt b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/content.txt
new file mode 100644
index 0000000000..ab02d49f35
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/content.txt
@@ -0,0 +1,34 @@
+!3 Workflow Action ''keywords''
+#
+ * An workflow action has a ''keyword'' in the first cell and in every second cell. The other cells hold values (parameters).
+ * A ''keyword'' can contain any characters, such as "+", "Total $", "active!", "if", "(ok)". See ${extendedCamelCase}.
+ * A ''keyword'' cell can be empty.
+ * The last ''keyword'' is optional.
+#
+!3 Special actions
+#
+Some special actions apply to the rest of their row:
+
+ * ''check'' checks whether the result of the action in the rest of the row matches the value in the last cell of the row. That last cell is colored green, red, etc accordingly.
+ * ''reject'' checks that the action in the rest of the row fails, as expected.
+ * ''not'' acts the same as ''reject''.
+ * ''ensure'' checks that the action in the rest of the row succeeds.
+ * ''show'' displays the result of the action in the rest of the row by adding an extra cell in the report.
+ * ''show dot'' displays the result of the action in the rest of the row by adding an extra cell in the report. This is shown as a Dot graph.
+ * ''note'' ignores the rest of the row, allowing notes to be included in tables
+
+Other special actions apply to the rest of the table
+
+ * ''calculate'' specifies that the rest of the table holds examples for a calculation rule.
+ * ''constraint'' specifies that the rest of the table holds examples for a constraint rule.
+ * ''failing constraint'' specifies that the rest of the table holds examples for a failing constraint.
+ * ''comment'' ignores the rest of the table
+ * ''ignored'' ignores the rest of the table, but colours it as ignored in the report
+ * ''abandon storytest'' to ignore the rest of the storytest (without colouring it as ignored)
+#
+!3 More Examples
+#
+Lots more examples of using ''!-DoFixture-!'' for workflow are provided in ''Fit for Developing Software'' by Rick Mugridge and Ward Cunningham, Prentice-Hall, 2005. The tables and fixture code for these examples are available on the [[Fit website][http://fit.w2.com]].
+#
+!3 Code Details
+See ^CodeDetails
diff --git a/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/DoTables/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/content.txt b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/content.txt
new file mode 100644
index 0000000000..1344c3e65f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/content.txt
@@ -0,0 +1,2 @@
+^DoTables
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/properties.xml
new file mode 100644
index 0000000000..124f46a10b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/ReferenCe/properties.xml
@@ -0,0 +1,11 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/SetUp/content.txt
new file mode 100644
index 0000000000..df663b49fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/SetUp/content.txt
@@ -0,0 +1,21 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|''account limit''|
+|Joanna|373 7599|0.00|
+|Bob|352 2353|100.00|
+|Joe|334 2433|1000.00|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+|John|554 2362|
+|Pual|232 2356|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/SetUp/properties.xml
new file mode 100644
index 0000000000..8c0b03b7f3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085048
+
+
+
+
+
+
+ 1124316281314
+ 5745746177681824257
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHire/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHire/content.txt
new file mode 100644
index 0000000000..e7db400774
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHire/content.txt
@@ -0,0 +1,12 @@
+|check|''account owing for''|Bob|'''is'''|0.00|
+
+|''begin transaction for client''|Bob|''staff''|Bill|
+|''rent''|1||Tricycle|''for''|1 day|
+|''pay on account $''|20.00|
+|''complete transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Tricycle|0|
+
+|check|''account owing for''|Bob|'''is'''|20.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHire/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHire/properties.xml
new file mode 100644
index 0000000000..11e5f33b24
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHire/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507112721
+
+
+
+
+
+
+
+ 1146958041819
+ 5746581519464454739
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHireCancel/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHireCancel/content.txt
new file mode 100644
index 0000000000..9c52031ecc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHireCancel/content.txt
@@ -0,0 +1,12 @@
+|check|''account owing for''| Bob |''is''|0.00|
+
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''rent''|1||Tricycle|''for''|1 day|
+|''pay on account $''|20.00|
+|''cancel transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Tricycle|1|
+
+|check|''account owing for''| Bob |''is''|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHireCancel/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHireCancel/properties.xml
new file mode 100644
index 0000000000..69c95320f6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountAfterHireCancel/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113006
+
+
+
+
+
+
+
+ 1146958206616
+ 6270978101295791030
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountReturnEarly/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountReturnEarly/content.txt
new file mode 100644
index 0000000000..ea68058597
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountReturnEarly/content.txt
@@ -0,0 +1,17 @@
+|check|''account owing for''| Bob |''is''|0.00|
+
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''rent''|1||Tricycle|''for''|2 day|
+|''pay on account $''|40.00|
+|''complete transaction''|
+
+|check|''account owing for''| Bob |''is''|40.00|
+
+|''time is now''| 2004/05/07 09:01|
+
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''return items''|1||Tricycle|
+|''refund account $''|20.00|
+|''complete transaction''|
+
+|check|''account owing for''| Bob |''is''|20.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountReturnEarly/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountReturnEarly/properties.xml
new file mode 100644
index 0000000000..08326a4fa3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/TestAccountReturnEarly/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085048
+
+
+
+
+
+
+
+ 1124316436655
+ -7068844427111491921
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/content.txt
new file mode 100644
index 0000000000..1041a07a46
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/content.txt
@@ -0,0 +1,4 @@
+^SetUp
+^TestAccountAfterHire
+^TestAccountAfterHireCancel
+^TestAccountReturnEarly
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/properties.xml
new file mode 100644
index 0000000000..274a759fc4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AccountHire/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085048
+
+
+
+
+
+
+
+ 1124315605046
+ -4126875867591198712
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/AddRentalItem/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/AddRentalItem/content.txt
new file mode 100644
index 0000000000..50c2d90b9c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/AddRentalItem/content.txt
@@ -0,0 +1,12 @@
+|''begin admin transaction''| Bill |
+|''add''|0|''of type''|barbeque|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''add identified''|bbq001|''of type''|barbeque|''last maintained''|2004/4/15 11:34|''period of''|3|''months''|
+|''complete transaction''|
+
+|''rental item list''|
+| ''name''| ''free count'' |''hourly rate''|''daily rate''|''weekly rate''|''bond'' |
+|barbeque | 1 | 20.00 | 100.00 | 500.00 | 200.00 |
+
+|''identified rental item subset''|
+|''identifier''|''last maintained''|
+|bbq001|2004/4/15 11:34|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/AddRentalItem/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/AddRentalItem/properties.xml
new file mode 100644
index 0000000000..211a5dfc74
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/AddRentalItem/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113146
+
+
+
+
+
+
+
+ 1146958306039
+ 5526616849021084357
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/SetUp/content.txt
new file mode 100644
index 0000000000..b20217b306
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/SetUp/content.txt
@@ -0,0 +1,7 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/SetUp/properties.xml
new file mode 100644
index 0000000000..883a190bb8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1127341705918
+ 6729615802812687297
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestAddRentalItemType/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestAddRentalItemType/content.txt
new file mode 100644
index 0000000000..e4f3a18f78
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestAddRentalItemType/content.txt
@@ -0,0 +1,7 @@
+|''begin admin transaction''| Bill |
+|''add''|2|''of type''|party tent|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''complete transaction''|
+
+|''rental item list''|
+| ''name'' | ''free count'' |''hourly rate''|''daily rate''|''weekly rate''|''bond'' |
+| party tent | 2 | 20.00 | 100.00 | 500.00 | 200.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestAddRentalItemType/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestAddRentalItemType/properties.xml
new file mode 100644
index 0000000000..8eca9a692e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestAddRentalItemType/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113207
+
+
+
+
+
+
+
+ 1146958327650
+ -6670832671777400588
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestInvalidMaintenance/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestInvalidMaintenance/content.txt
new file mode 100644
index 0000000000..5f4e2695b4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestInvalidMaintenance/content.txt
@@ -0,0 +1,11 @@
+ * Setup:
+|''begin admin transaction''| Bill |
+|''add''|0|''of type''|barbeque|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''add identified''|bbq001|''of type''|barbeque|''last maintained''|2004/05/06 9:01|''period of''|3|''months''|
+|''complete transaction''|
+
+---- * Action:
+|''begin admin transaction''| Bill |
+|'''reject'''|''maintenance complete''|bbq1|
+|'''reject'''|''maintenance complete''|bbq2|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestInvalidMaintenance/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestInvalidMaintenance/properties.xml
new file mode 100644
index 0000000000..3914a5aace
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestInvalidMaintenance/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085044
+
+
+
+
+
+
+
+ 1123315120733
+ -1884649395076142928
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceDone/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceDone/content.txt
new file mode 100644
index 0000000000..07d023051b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceDone/content.txt
@@ -0,0 +1,22 @@
+ * Once an identified rental item is maintained, it's available again
+ * Setup:
+|''begin admin transaction''| Bill |
+|''add''|0|''of type''|barbeque|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''add identified''|bbq001|''of type''|barbeque|''last maintained''|2004/4/15 11:34|''period of''|3|''months''|
+|''complete transaction''|
+
+---- * Action:
+|''time is now''| 2004/08/06 09:23|
+
+|''begin admin transaction''| Bill |
+|''maintenance complete''|bbq001|
+|''complete transaction''|
+---- * Checks:
+|''rental item list''|
+| ''name''| ''free count'' |
+|barbeque | 1 |
+
+|''identified rental item subset''|
+|''identifier''|''last maintained''|
+|bbq001|2004/08/06 09:23|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceDone/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceDone/properties.xml
new file mode 100644
index 0000000000..9344e6fc7b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceDone/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113235
+
+
+
+
+
+
+
+ 1146958355971
+ -5953809220913799406
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceOutstanding/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceOutstanding/content.txt
new file mode 100644
index 0000000000..43e49fd076
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceOutstanding/content.txt
@@ -0,0 +1,14 @@
+ * Once an identified rental item is maintained, it's available again
+ * Setup:
+|''begin admin transaction''| Bill |
+|''add''|0|''of type''|barbeque|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''add identified''|bbq001|''of type''|barbeque|''last maintained''|2004/4/15 11:34|''period of''|3|''months''|
+|''add identified''|bbq002|''of type''|barbeque|''last maintained''|2004/4/15 11:34|''period of''|2|''months''|
+|''complete transaction''|
+
+---- * Action:
+|''time is now''| 2004/08/06 09:23|
+
+|''begin admin transaction''| Bill |
+|''check''|''requiring maintenance''|bbq001,bbq002|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceOutstanding/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceOutstanding/properties.xml
new file mode 100644
index 0000000000..f2bc88a36d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestMaintenanceOutstanding/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085044
+
+
+
+
+
+
+
+ 1123714278045
+ 6427627890680551392
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRegularMaintenance/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRegularMaintenance/content.txt
new file mode 100644
index 0000000000..1af4b6293a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRegularMaintenance/content.txt
@@ -0,0 +1,18 @@
+ * Once it's past the time for the next maintenace of an identified rental item, it's not available for rental
+
+ * Action:
+|''begin admin transaction''| Bill |
+|''add''|0|''of type''|barbeque|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''add identified''|bbq001|''of type''|barbeque|''last maintained''|2004/4/15 11:34|''period of''|3|''months''|
+|''complete transaction''|
+
+|''time is now''| 2004/08/06 09:02|
+----
+ * It's not available:
+|''rental item list''|
+| ''name''| ''free count'' |
+|barbeque | 0 |
+ * It's still to be maintained:
+|''identified rental item subset''|
+|''identifier''|''last maintained''|
+|bbq001|2004/4/15 11:34|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRegularMaintenance/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRegularMaintenance/properties.xml
new file mode 100644
index 0000000000..5f425f182e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRegularMaintenance/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113301
+
+
+
+
+
+
+
+ 1146958381838
+ -5819837966193884967
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicateRentalItems/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicateRentalItems/content.txt
new file mode 100644
index 0000000000..3038c09b04
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicateRentalItems/content.txt
@@ -0,0 +1,9 @@
+|''begin admin transaction''| Bill |
+|''add''|0|''of type''|barbeque|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''add identified''|bbq001|''of type''|barbeque|''last maintained''|2004/4/15 11:34|''period of''|3|''months''|
+|'''reject'''|''add identified''|bbq001|''of type''|barbeque|''last maintained''|2004/4/15 11:34|''period of''|3|''months''|
+|''complete transaction''|
+
+|''rental item list''|
+| ''name''| ''free count'' |''hourly rate''|''daily rate''|''weekly rate''|''bond'' |
+|barbeque | 1 | 20.00 | 100.00 | 500.00 | 200.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicateRentalItems/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicateRentalItems/properties.xml
new file mode 100644
index 0000000000..98b8bd92f1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicateRentalItems/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113340
+
+
+
+
+
+
+
+ 1146958420354
+ -2059098667427122598
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicates/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicates/content.txt
new file mode 100644
index 0000000000..7c4c515512
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicates/content.txt
@@ -0,0 +1,8 @@
+|''begin admin transaction''| Bill |
+|''add''|2|''of type''|party tent|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|'''reject'''|''add''|2|''of type''|party tent|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''complete transaction''|
+
+|''rental item list''|
+| ''name'' | ''free count'' |''hourly rate''|''daily rate''|''weekly rate''|''bond'' |
+| party tent | 2 | 20.00 | 100.00 | 500.00 | 200.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicates/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicates/properties.xml
new file mode 100644
index 0000000000..6f1923d368
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/TestRejectDuplicates/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113354
+
+
+
+
+
+
+
+ 1146958434554
+ -7142388077209241322
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/content.txt
new file mode 100644
index 0000000000..12b1daaaa7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/content.txt
@@ -0,0 +1,13 @@
+^TestAddRentalItemType
+^TestRejectDuplicates
+
+^AddRentalItem
+^TestRejectDuplicateRentalItems
+
+^TestRegularMaintenance
+^TestMaintenanceOutstanding
+^TestMaintenanceDone
+^TestInvalidMaintenance
+
+^SetUp
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/properties.xml
new file mode 100644
index 0000000000..c328272241
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085044
+
+
+
+
+
+
+
+ 1123210103968
+ 671341282531583970
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestBadReturns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestBadReturns/content.txt
new file mode 100644
index 0000000000..8ac3546f8a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestBadReturns/content.txt
@@ -0,0 +1,8 @@
+|''begin admin transaction''| Bill |
+|''remove for repair''|coffee dispenser||2|
+|''complete transaction''|
+
+|''begin admin transaction''| Bill |
+|'''reject'''|''return from repair''|coffee dispenser||3|
+|'''reject'''|''return from repair''|coffee mug||2|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestBadReturns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestBadReturns/properties.xml
new file mode 100644
index 0000000000..3d7a6eb3a6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestBadReturns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1123056827187
+ 4240394940127173889
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepair/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepair/content.txt
new file mode 100644
index 0000000000..d56190ebfe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepair/content.txt
@@ -0,0 +1,7 @@
+|''begin admin transaction''| Bill |
+|''remove for repair''|coffee dispenser||2|
+|''complete transaction''|
+
+|''rental item subset''|
+| ''name'' | ''free count''|
+| coffee dispenser | 8 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepair/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepair/properties.xml
new file mode 100644
index 0000000000..1b5df57319
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepair/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113058
+
+
+
+
+
+
+
+ 1146958258842
+ 9180401906541042662
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepairReturn/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepairReturn/content.txt
new file mode 100644
index 0000000000..2489211e71
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepairReturn/content.txt
@@ -0,0 +1,11 @@
+|''begin admin transaction''| Bill |
+|''remove for repair''|coffee dispenser||2|
+|''complete transaction''|
+
+|''begin admin transaction''| Bill |
+|''return from repair''|coffee dispenser||2|
+|''complete transaction''|
+
+|''rental item subset''|
+| ''name'' | ''free count''|
+| coffee dispenser | 10 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepairReturn/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepairReturn/properties.xml
new file mode 100644
index 0000000000..492d0cbdff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/TestRepairReturn/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113130
+
+
+
+
+
+
+
+ 1146958290497
+ 4070630864249224194
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/content.txt
new file mode 100644
index 0000000000..2815d792c3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/content.txt
@@ -0,0 +1,3 @@
+^TestRepair
+^TestRepairReturn
+^TestBadReturns
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/properties.xml
new file mode 100644
index 0000000000..52c05cc099
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/AdminFunctions2/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1123056771125
+ 6218845959686803076
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingClashes/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingClashes/content.txt
new file mode 100644
index 0000000000..135e449251
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingClashes/content.txt
@@ -0,0 +1,18 @@
+---- * Given:
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|8||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|24.00|
+|''complete transaction''|
+---- * Actions:
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''reject'''|''book''|4||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''complete transaction''|
+---- * Checks:
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|8|2004/05/08 09:01|2004/05/08 11:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingClashes/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingClashes/properties.xml
new file mode 100644
index 0000000000..4dff78ee08
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingClashes/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113425
+
+
+
+
+
+
+
+ 1146958465108
+ 4558932837836111351
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingUnavailable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingUnavailable/content.txt
new file mode 100644
index 0000000000..518e340a9c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingUnavailable/content.txt
@@ -0,0 +1,10 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''reject'''|''book''|200||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''complete transaction''|
+ * ''Checks''
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingUnavailable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingUnavailable/properties.xml
new file mode 100644
index 0000000000..cdbf4f32bf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingUnavailable/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507113518
+
+
+
+
+
+
+
+ 1146958518054
+ -3971864081191284790
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingsDoNotClash/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingsDoNotClash/content.txt
new file mode 100644
index 0000000000..d00cbb93b9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingsDoNotClash/content.txt
@@ -0,0 +1,11 @@
+---- * Actions:
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|8||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''book''|4||coffee dispenser|''on''|2004/05/09 09:01|''for''|2 hours|
+|''pay with cash $''|36.00|
+|''complete transaction''|
+---- * Checks:
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|8|2004/05/08 09:01|2004/05/08 11:01|
+|coffee dispenser|4|2004/05/09 09:01|2004/05/09 11:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingsDoNotClash/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingsDoNotClash/properties.xml
new file mode 100644
index 0000000000..ee84b338c1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestBookingsDoNotClash/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085050
+
+
+
+
+
+
+
+ 1123316910371
+ -3835295593722364325
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCancelBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCancelBooking/content.txt
new file mode 100644
index 0000000000..83feafadde
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCancelBooking/content.txt
@@ -0,0 +1,21 @@
+---- * Given:
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|6.00|
+|''complete transaction''|
+
+---- * Actions:
+|''time is now''|2004/05/08 09:02|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''cancel booking of''|2||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''refund cash $''|6.00|
+|''complete transaction''|
+---- * Checks:
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCancelBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCancelBooking/properties.xml
new file mode 100644
index 0000000000..87ca605598
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCancelBooking/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114155
+
+
+
+
+
+
+
+ 1146958915686
+ -6504986993953419947
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestChangeBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestChangeBooking/content.txt
new file mode 100644
index 0000000000..01024cf9a9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestChangeBooking/content.txt
@@ -0,0 +1,22 @@
+!3 ''Change the length of a booking for the future''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|6.00|
+|''complete transaction''|
+
+!3 ''One day later...''
+|''time is now''| 2004/05/07 09:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''change period of''|2||coffee dispenser|''for''|2004/05/08 09:01|''with duration of''|2 hours|''to''|5 hours|
+|''pay with cash $''|9.00|
+|''complete transaction''|
+
+ * ''Checks''
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/08 09:01|2004/05/08 14:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestChangeBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestChangeBooking/properties.xml
new file mode 100644
index 0000000000..cc6374e3d4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestChangeBooking/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114211
+
+
+
+
+
+
+
+ 1146958931999
+ -5677281425154277387
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBooking/content.txt
new file mode 100644
index 0000000000..5124a8f467
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBooking/content.txt
@@ -0,0 +1,23 @@
+---- * Given:
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|6.00|
+|''complete transaction''|
+---- * Actions:
+|''time is now''|2004/05/08 09:02|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''accept booking of''|2||coffee dispenser|''for''|2004/05/08 09:01|''for''|2 hours|
+|''complete transaction''|
+---- * Checks:
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/08 09:01|2004/05/08 11:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|8|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBooking/properties.xml
new file mode 100644
index 0000000000..eb3530117c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBooking/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114230
+
+
+
+
+
+
+
+ 1146958950216
+ -8776153154431847894
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBookingEarly/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBookingEarly/content.txt
new file mode 100644
index 0000000000..7825d15626
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBookingEarly/content.txt
@@ -0,0 +1,24 @@
+ * If client collects booked items early, count the start time from when they collect
+---- * Given:
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|6.00|
+|''complete transaction''|
+---- * Actions:
+|''time is now''|2004/05/08 08:02|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''accept booking of''|2||coffee dispenser|''for''|2004/05/08 09:01|''for''|2 hours|
+|''complete transaction''|
+---- * Checks:
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/08 08:02|2004/05/08 10:02|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|8|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBookingEarly/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBookingEarly/properties.xml
new file mode 100644
index 0000000000..d6bc78c4d4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestCollectBookingEarly/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114245
+
+
+
+
+
+
+
+ 1146958965618
+ 266560550058830680
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeBooking/content.txt
new file mode 100644
index 0000000000..e52ef0941f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeBooking/content.txt
@@ -0,0 +1,14 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|6.00|
+|''complete transaction''|
+ * ''Checks''
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/08 09:01|2004/05/08 11:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeBooking/properties.xml
new file mode 100644
index 0000000000..1cbfc7602e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeBooking/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114301
+
+
+
+
+
+
+
+ 1146958981841
+ 6232353608383783682
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeMultiBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeMultiBooking/content.txt
new file mode 100644
index 0000000000..482f8857cb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeMultiBooking/content.txt
@@ -0,0 +1,13 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|1||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''book''|1||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|6.00|
+|''complete transaction''|
+ * ''Checks''
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/08 09:01|2004/05/08 11:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeMultiBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeMultiBooking/properties.xml
new file mode 100644
index 0000000000..1044ff17da
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestMakeMultiBooking/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114317
+
+
+
+
+
+
+
+ 1146958997754
+ -1528526803370733263
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestNoBookings/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestNoBookings/content.txt
new file mode 100644
index 0000000000..50f748863a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestNoBookings/content.txt
@@ -0,0 +1,3 @@
+|''client booking list''|Joanna|
+|''rental item''|''count''|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestNoBookings/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestNoBookings/properties.xml
new file mode 100644
index 0000000000..213c0fbc1b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestNoBookings/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085050
+
+
+
+
+
+
+
+ 1123057536250
+ 6402933404903930626
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestRentalClashesWithBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestRentalClashesWithBooking/content.txt
new file mode 100644
index 0000000000..e01e3354f8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestRentalClashesWithBooking/content.txt
@@ -0,0 +1,21 @@
+!3 Can't rent items to break booking in future
+---- * Given:
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|8||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|24.00|
+|''complete transaction''|
+---- * Actions:
+|''time is now''|2004/05/08 08:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''reject'''|''rent''|4||coffee dispenser|''for''|2 hours|
+|''complete transaction''|
+---- * Checks:
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|8|2004/05/08 09:01|2004/05/08 11:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestRentalClashesWithBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestRentalClashesWithBooking/properties.xml
new file mode 100644
index 0000000000..59dc44cd69
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/TestRentalClashesWithBooking/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114335
+
+
+
+
+
+
+
+ 1146959015530
+ 5649543856121680891
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/content.txt
new file mode 100644
index 0000000000..76fd4f5ef9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/content.txt
@@ -0,0 +1,12 @@
+^TestNoBookings
+^TestMakeBooking
+^TestMakeMultiBooking
+^TestCollectBooking
+^TestCollectBookingEarly
+^TestCancelBooking
+^TestChangeBooking
+
+^TestBookingUnavailable
+^TestBookingClashes
+^TestRentalClashesWithBooking
+^TestBookingsDoNotClash
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/properties.xml
new file mode 100644
index 0000000000..99115708fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookedRentals/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085050
+
+
+
+
+
+
+
+ 1124319777996
+ -3734934627653952544
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/TestBookingClashesWithBooking/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/TestBookingClashesWithBooking/content.txt
new file mode 100644
index 0000000000..2ad38b8e94
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/TestBookingClashesWithBooking/content.txt
@@ -0,0 +1,13 @@
+!2 A second booking for the future clashes with one already made
+
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|'''check'''|''book''| 19 || coffee pot |''on''| 2004/05/13 09:01 |''for''|3 days|684.00|
+|''pay with cash $''|684.00 |
+|''complete transaction''|
+
+ * Xiaosong can't book as there is a clash
+|''begin transaction for client''| Xiaosong |''staff''| Bill |
+|'''not'''|''book''| 5 || coffee pot |''on''| 2004/05/12 09:01 |''for''|2 days|
+|'''check'''|''book''| 1 || coffee pot |''on''| 2004/05/12 09:01 |''for''| 2 days| 24.00 |
+|''pay with cash $''| 24.00 |
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/TestBookingClashesWithBooking/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/TestBookingClashesWithBooking/properties.xml
new file mode 100644
index 0000000000..fd4681dff3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/TestBookingClashesWithBooking/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085049
+
+
+
+
+
+
+
+ 1124664263588
+ 6019700872472668557
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/content.txt
new file mode 100644
index 0000000000..e91933a724
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/content.txt
@@ -0,0 +1 @@
+^TestBookingClashesWithBooking
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/properties.xml
new file mode 100644
index 0000000000..10178a336c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingClash/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085049
+
+
+
+
+
+
+
+ 1127690179463
+ -1578898670864684617
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplatePartialFails/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplatePartialFails/content.txt
new file mode 100644
index 0000000000..06ce8e51c9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplatePartialFails/content.txt
@@ -0,0 +1,29 @@
+ * Setup template
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
+
+|''create template''|21st party|
+|''one''|yardie glass|''for''|1000|''people''|
+|''one''|balloon|''for''|10|''people''|
+|''one''|cup|''for''|1|''people''|
+
+ * Client fills 2 templates, 1st one pass, 2nd fails due to the lack of available items
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|'''check'''|''fill book template''|coffee break|''for''|21|''people on''|2004/05/08 09:01|''for''|1 day|91.85|
+|'''not'''|''fill book template''|21st party|''for''|480|''people on''|2004/05/08 09:01|''for''|1 day|
+|''pay with cash $''|91.85|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/08 09:01|2004/05/09 09:01|
+|hot water dispenser|2|2004/05/08 09:01|2004/05/09 09:01|
+|coffee table|1|2004/05/08 09:01|2004/05/09 09:01|
+|cup|21|2004/05/08 09:01|2004/05/09 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplatePartialFails/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplatePartialFails/properties.xml
new file mode 100644
index 0000000000..318046697e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplatePartialFails/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1127949732645
+ 2355995513846777375
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplateSimple/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplateSimple/content.txt
new file mode 100644
index 0000000000..06f81bbbe0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplateSimple/content.txt
@@ -0,0 +1,23 @@
+ * Setup template
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
+
+ * Begin transaction for client
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|'''check'''|''fill book template''|coffee break|''for''|20|''people on''|2004/05/08 09:01|''for''|2 hours|28.00|
+|''pay with cash $''|28.00|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|1|2004/05/08 09:01|2004/05/08 11:01|
+|hot water dispenser|1|2004/05/08 09:01|2004/05/08 11:01|
+|coffee table|1|2004/05/08 09:01|2004/05/08 11:01|
+|cup|20|2004/05/08 09:01|2004/05/08 11:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplateSimple/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplateSimple/properties.xml
new file mode 100644
index 0000000000..78651283ce
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/BookingTemplateSimple/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1127949119213
+ -7107344577837088101
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/SetUp/content.txt
new file mode 100644
index 0000000000..1e8c080789
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/SetUp/content.txt
@@ -0,0 +1,20 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|20|1.50|8.20|60.00|0.00|
+|hot water dispenser|22|1.50|8.00|50.00|0.00|
+|coffee table|10|10.00|50.00|200.00|0.00|
+|cup|500|0.05|0.45|2.00|0.00|
+|yardie glass|20|0.20|1.00|5.00|0.00|
+|balloon|100|0.10|1.20|6.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/SetUp/properties.xml
new file mode 100644
index 0000000000..21d7d3fb1d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1127943733955
+ -178125153998253466
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/content.txt
new file mode 100644
index 0000000000..1e50cf4029
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/content.txt
@@ -0,0 +1,4 @@
+^SetUp
+
+^BookingTemplateSimple
+^BookingTemplatePartialFails
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/properties.xml
new file mode 100644
index 0000000000..925d1eeefe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/BookingTemplates/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1127949474002
+ 6074905962354427033
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransaction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransaction/content.txt
new file mode 100644
index 0000000000..344ba0d0c9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransaction/content.txt
@@ -0,0 +1,9 @@
+!3 Check that we can start a transaction, hire something, and then cancel the transaction without making payment
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|'''check'''|''rent''| 5 || coffee pot |''for''|5 hours|37.50|
+|''cancel transaction''|
+
+ * Check the client's hires in progress:
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransaction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransaction/properties.xml
new file mode 100644
index 0000000000..d61aaacda0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransaction/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1124317127596
+ -6155904171351038256
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransactionAfterPaid/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransactionAfterPaid/content.txt
new file mode 100644
index 0000000000..c71bbd8948
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransactionAfterPaid/content.txt
@@ -0,0 +1,14 @@
+!3 Check that we can start a transaction, hire something, and then cancel the transaction without making payment
+
+ * Can't cancel until any paid money has been refunded
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|'''check'''|''rent''| 5 || coffee pot |''for''|5 hours|37.50|
+|''pay with cash $''|37.50 |
+|not|''cancel transaction''|
+|''refund cash $''|37.50 |
+|''cancel transaction''|
+
+
+ * Check the client's hires in progress:
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransactionAfterPaid/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransactionAfterPaid/properties.xml
new file mode 100644
index 0000000000..5641d94b98
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/TestCancelTransactionAfterPaid/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1124319605935
+ -9019472426929648810
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/content.txt
new file mode 100644
index 0000000000..cef1ad6dca
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/content.txt
@@ -0,0 +1,2 @@
+^TestCancelTransaction
+^TestCancelTransactionAfterPaid
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/properties.xml
new file mode 100644
index 0000000000..61c6e773f7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CannotPay/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1124315120267
+ 2537977706190668004
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestDamagedItems/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestDamagedItems/content.txt
new file mode 100644
index 0000000000..4b95e3d4f7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestDamagedItems/content.txt
@@ -0,0 +1,15 @@
+|''given rentals''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/05 09:01|2004/05/06 09:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|100||cup|''cost to fix''|1.00|
+|''refund cash $''|9.00|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|cup|500|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestDamagedItems/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestDamagedItems/properties.xml
new file mode 100644
index 0000000000..d6a9867114
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestDamagedItems/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114450
+
+
+
+
+
+
+
+ 1146959090327
+ 5113135753034407554
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestPartialReturn/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestPartialReturn/content.txt
new file mode 100644
index 0000000000..591877207a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestPartialReturn/content.txt
@@ -0,0 +1,16 @@
+|''given rentals''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/05 09:01|2004/05/06 09:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|50||cup|
+|''refund cash $''|5.00|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|
+|cup|50|
+
+|''rental item subset''|
+|''name''|''free count''|
+|cup|450|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestPartialReturn/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestPartialReturn/properties.xml
new file mode 100644
index 0000000000..5310ef30b5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestPartialReturn/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114438
+
+
+
+
+
+
+
+ 1146959078771
+ -8330863985344664070
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestRentalWithDeposit/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestRentalWithDeposit/content.txt
new file mode 100644
index 0000000000..1cde9431f9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestRentalWithDeposit/content.txt
@@ -0,0 +1,15 @@
+!3 ''Rental with deposit''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|10||cup|''for''|3 hours|
+|''pay with cash $''|2.50|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|10|2004/05/06 09:01|2004/05/06 12:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|cup|490|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestRentalWithDeposit/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestRentalWithDeposit/properties.xml
new file mode 100644
index 0000000000..801cf88dba
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestRentalWithDeposit/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114420
+
+
+
+
+
+
+
+ 1146959060064
+ -5067304817102778374
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestReturnWithDeposit/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestReturnWithDeposit/content.txt
new file mode 100644
index 0000000000..33ebb8220f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestReturnWithDeposit/content.txt
@@ -0,0 +1,15 @@
+|''given rentals''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/05 09:01|2004/05/06 09:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|100||cup|
+|''refund cash $''|10.00|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|cup|500|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestReturnWithDeposit/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestReturnWithDeposit/properties.xml
new file mode 100644
index 0000000000..8df0713d7d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/TestReturnWithDeposit/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114429
+
+
+
+
+
+
+
+ 1146959069377
+ 3931342581956169131
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/content.txt
new file mode 100644
index 0000000000..f4588702db
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/content.txt
@@ -0,0 +1,4 @@
+^TestRentalWithDeposit
+^TestReturnWithDeposit
+^TestPartialReturn
+^TestDamagedItems
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/properties.xml
new file mode 100644
index 0000000000..25e60037df
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashDeposits/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085049
+
+
+
+
+
+
+
+ 1123055345296
+ -4112351788427093412
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/SetUp/content.txt
new file mode 100644
index 0000000000..66187be5a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/SetUp/content.txt
@@ -0,0 +1,17 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/SetUp/properties.xml
new file mode 100644
index 0000000000..5fbe5e03d7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201807
+
+
+
+
+
+
+ 1124056025122
+ -7221692038117924883
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailable/content.txt
new file mode 100644
index 0000000000..0f982cfc99
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailable/content.txt
@@ -0,0 +1,12 @@
+!3 ''Rental of coffee dispensers for 3 days:''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''not'''|''rent''|100||coffee dispenser|''for''|3 days|
+|''complete transaction''|
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailable/properties.xml
new file mode 100644
index 0000000000..c85c306c4d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailable/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114557
+
+
+
+
+
+
+
+ 1146959157924
+ -8556730570932080861
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailableNow/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailableNow/content.txt
new file mode 100644
index 0000000000..1f36fc2682
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailableNow/content.txt
@@ -0,0 +1,15 @@
+!3 ''Previous rentals within a transaction limit what can be rented.''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|5||coffee dispenser|''for''|1 week|
+|'''not'''|''rent''|6||coffee dispenser|''for''|1 week|
+|''pay with cash $''|287.00|
+|''complete transaction''|
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|
+|coffee dispenser|5|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|5|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailableNow/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailableNow/properties.xml
new file mode 100644
index 0000000000..a11deca1bb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestRentalsUnavailableNow/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114605
+
+
+
+
+
+
+
+ 1146959165625
+ 4858213235084918395
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRental/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRental/content.txt
new file mode 100644
index 0000000000..e81c38c4e8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRental/content.txt
@@ -0,0 +1,15 @@
+!3 ''Rental of coffee dispensers for 3 days:''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''pay with cash $''|49.20|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/09 09:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|8|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRental/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRental/properties.xml
new file mode 100644
index 0000000000..6354e2c9c8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRental/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101114132
+
+
+
+
+
+
+
+ 1225492892078
+ 5943658845762199343
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRentalWithDeposit/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRentalWithDeposit/content.txt
new file mode 100644
index 0000000000..1c6519192a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRentalWithDeposit/content.txt
@@ -0,0 +1,14 @@
+!3 ''Rental of cups for 2 weeks:''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|100||cup|''for''|2 weeks|
+|''pay with cash $''|410.00|
+|''complete transaction''|
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|cup|100|2004/05/06 09:01|2004/05/20 09:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|cup|400|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRentalWithDeposit/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRentalWithDeposit/properties.xml
new file mode 100644
index 0000000000..cf3c124d8f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestSingleRentalWithDeposit/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114550
+
+
+
+
+
+
+
+ 1146959150323
+ -4067380434229506882
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentals/content.txt
new file mode 100644
index 0000000000..4e6b0fbf54
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentals/content.txt
@@ -0,0 +1,18 @@
+!3 ''Two rentals in the same transaction''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''rent''|1||hot water dispenser|''for''|3 days|
+|''pay with cash $''|73.20|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/09 09:01|
+|hot water dispenser|1|2004/05/06 09:01|2004/05/09 09:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|8|
+|hot water dispenser|11|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentals/properties.xml
new file mode 100644
index 0000000000..733772b537
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentals/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114536
+
+
+
+
+
+
+
+ 1146959136053
+ -1508570300563838289
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentalsInSeparateTransactions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentalsInSeparateTransactions/content.txt
new file mode 100644
index 0000000000..539c30dd96
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentalsInSeparateTransactions/content.txt
@@ -0,0 +1,22 @@
+!3 ''Two rentals in separate transactions''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''pay with cash $''|49.20|
+|''complete transaction''|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||hot water dispenser|''for''|3 days|
+|''pay with cash $''|24.00|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/09 09:01|
+|hot water dispenser|1|2004/05/06 09:01|2004/05/09 09:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|8|
+|hot water dispenser|11|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentalsInSeparateTransactions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentalsInSeparateTransactions/properties.xml
new file mode 100644
index 0000000000..7b58e7fbdd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/TestTwoRentalsInSeparateTransactions/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114542
+
+
+
+
+
+
+
+ 1146959142883
+ -6156620931036921081
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/content.txt
new file mode 100644
index 0000000000..6fd3dc9738
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/content.txt
@@ -0,0 +1,10 @@
+^TestSingleRental
+^TestTwoRentals
+^TestTwoRentalsInSeparateTransactions
+
+^TestSingleRentalWithDeposit
+
+^TestRentalsUnavailable
+^TestRentalsUnavailableNow
+
+^SetUp
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/properties.xml
new file mode 100644
index 0000000000..4f1b152f5a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashRentals/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085048
+
+
+
+
+
+
+
+ 1124062304641
+ -8118677779400427785
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/SetUp/content.txt
new file mode 100644
index 0000000000..59b38fdd0d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/SetUp/content.txt
@@ -0,0 +1,5 @@
+!include .FitLibrary.RentEz.SetUp
+|''given rentals''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|5|2004/05/05 09:01|2004/05/06 09:01|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/SetUp/properties.xml
new file mode 100644
index 0000000000..5690751b49
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081101143349
+
+
+
+
+
+
+ 1225503229640
+ -5645950100525943123
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestOneHourEarlyisNotRefunded/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestOneHourEarlyisNotRefunded/content.txt
new file mode 100644
index 0000000000..1cd13b73fb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestOneHourEarlyisNotRefunded/content.txt
@@ -0,0 +1,10 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|5||coffee dispenser|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|cup|500|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestOneHourEarlyisNotRefunded/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestOneHourEarlyisNotRefunded/properties.xml
new file mode 100644
index 0000000000..d75f2d623f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestOneHourEarlyisNotRefunded/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114724
+
+
+
+
+
+
+
+ 1146959244659
+ -1496720857616493109
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestPartialReturn/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestPartialReturn/content.txt
new file mode 100644
index 0000000000..2f7457574f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestPartialReturn/content.txt
@@ -0,0 +1,11 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|2||coffee dispenser|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|
+|coffee dispenser|3|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|7|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestPartialReturn/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestPartialReturn/properties.xml
new file mode 100644
index 0000000000..1058d9d22f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestPartialReturn/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114701
+
+
+
+
+
+
+
+ 1146959221105
+ -9221478996276246706
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturn/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturn/content.txt
new file mode 100644
index 0000000000..f3f06fe640
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturn/content.txt
@@ -0,0 +1,10 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|5||coffee dispenser|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturn/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturn/properties.xml
new file mode 100644
index 0000000000..d92e1997aa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturn/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114653
+
+
+
+
+
+
+
+ 1146959213965
+ -9065343095590607708
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturnItemsDueSooner/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturnItemsDueSooner/content.txt
new file mode 100644
index 0000000000..99e718f579
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturnItemsDueSooner/content.txt
@@ -0,0 +1,13 @@
+|''time is now''|2004/05/05 12:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|5||coffee dispenser|
+|''refund cash $''|18.50|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''end date''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturnItemsDueSooner/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturnItemsDueSooner/properties.xml
new file mode 100644
index 0000000000..385006f9ad
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestReturnItemsDueSooner/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114739
+
+
+
+
+
+
+
+ 1146959259530
+ -1367072707195129704
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestSeveralReturns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestSeveralReturns/content.txt
new file mode 100644
index 0000000000..6d597b0a61
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestSeveralReturns/content.txt
@@ -0,0 +1,14 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|3||coffee dispenser|
+|''complete transaction''|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''return items''|2||coffee dispenser|
+|''complete transaction''|
+
+|''rentals of client''|Joanna|
+|''rental item''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|10|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestSeveralReturns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestSeveralReturns/properties.xml
new file mode 100644
index 0000000000..451a3c81d0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/TestSeveralReturns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114716
+
+
+
+
+
+
+
+ 1146959236617
+ 1605202279518521676
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/content.txt
new file mode 100644
index 0000000000..53200ef115
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/content.txt
@@ -0,0 +1,8 @@
+^TestReturn
+^TestPartialReturn
+^TestReturnItemsDueSooner
+^TestSeveralReturns
+
+^TestOneHourEarlyisNotRefunded
+
+^SetUp
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/properties.xml
new file mode 100644
index 0000000000..3c7592c098
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CashReturns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+
+ 1127703596141
+ -2329114810920043864
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ChargeFairly/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ChargeFairly/content.txt
new file mode 100644
index 0000000000..335577860c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ChargeFairly/content.txt
@@ -0,0 +1,42 @@
+!3 Charge for a larger time period if it's better for the customer
+''Eg, Charge for one week instead of 6 days if it's less.''
+
+''We assume a single item rented here:''
+
+|''calculate fair charges''|
+|''$/hour''|''$/day''|''hours''|''days''||''cost in $''|
+| 1.00 | 5.00 | 3 | 0 || 3.00 |
+| 1.00 | 5.00 | 4 | 0 || 4.00 |
+| 1.00 | 5.00 | 5 | 0 || 5.00 |
+| 1.00 | 5.00 | 6 | 0 || 5.00 |
+| 1.00 | 5.00 | 11 | 0 || 5.00 |
+| 1.00 | 5.00 | 3 | 1 || 8.00 |
+| 1.00 | 5.00 | 4 | 1 || 9.00 |
+| 1.00 | 5.00 | 5 | 1 ||10.00 |
+| 1.00 | 5.00 | 6 | 1 ||10.00 |
+| 1.00 | 5.00 | 11 | 1 ||10.00 |
+| 0.50 | 10.00 | 18 | 0 || 9.00|
+| 0.50 | 10.00 | 18 | 1 || 19.00|
+| 0.50 | 10.00 | 21 | 0 || 10.00|
+| 0.50 | 10.00 | 4 | 2 || 22.00|
+| 0.50 | 14.00 | 22 | 0 || 11.00|
+| 0.50 | 14.00 | 0 | 4 || 48.00|
+
+
+
+|!-CalculateChargeFairly-!|
+|''$/hour'' |''$/day'' |''hours''|''days''||''cost in $''|
+| 1.00 | 2.00 | 1 | 0 || 1.00 |
+| 1.00 | 2.00 | 3 | 0 || 2.00 |
+
+|!-CalculateChargeFairly-!|
+|''$/hour''|''$/day'' |''$/week'' |''hours''|''days''|''weeks''||''cost in $''|
+|0.10| 1.00 | 5.00 |0| 3 | 0 || 3.00 |
+|0.10| 1.00 | 5.00 |0| 4 | 0 || 4.00 |
+|0.10| 1.00 | 5.00 |0| 5 | 0 || 5.00 |
+|0.10| 1.00 | 5.00 |0| 6 | 0 || 5.00 |
+|0.10| 1.00 | 5.00 |0| 3 | 1 || 8.00 |
+|0.10| 1.00 | 5.00 |0| 4 | 1 || 9.00 |
+|0.10| 1.00 | 5.00 |0| 5 | 1 ||10.00 |
+|0.10| 1.00 | 5.00 |0| 6 | 1 ||10.00 |
+''Also need to use this fair charging approach when calculating how much extra to charge or what to refund, so both parties are treated fairly.''
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ChargeFairly/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ChargeFairly/properties.xml
new file mode 100644
index 0000000000..7246237aa0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ChargeFairly/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ 20081101113957
+
+
+
+
+
+
+
+
+ 1225492797000
+ 679667130437540364
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateClientConflict/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateClientConflict/content.txt
new file mode 100644
index 0000000000..807a5b36c9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateClientConflict/content.txt
@@ -0,0 +1,17 @@
+ * Create an initial client Fred, and another client called Fred inside the same transaction
+
+|''begin admin transaction''| Bill |
+|'''ensure'''|''create client''|Fred|''with phone number''|379 5055|''in city''|Auckland|''in zone''|South|''at address''|93 Carbine Rd|
+|'''reject'''|''create client''|Fred|''with phone number''|912 3050|''in city''|Auckland|''in zone''|CBD|''at address''|72 Symonds St|
+|''complete transaction''|
+
+ * Try creating another client Fred in a different transaction
+
+|''begin admin transaction''| Bill |
+|'''reject'''|''create client''|Fred|''with phone number''|864 9078|''in city''|Auckland|''in zone''|East|''at address''|22 Howick Rd|
+|''complete transaction''|
+
+
+|''client list''|
+|''name''|''phone''|''city''|''zone''|''address''|
+|Fred|379 5055|Auckland|South|93 Carbine Rd|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateClientConflict/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateClientConflict/properties.xml
new file mode 100644
index 0000000000..748a56b29a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateClientConflict/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1127342832728
+ 1273954295580246487
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateNewClients/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateNewClients/content.txt
new file mode 100644
index 0000000000..6c3056e49d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateNewClients/content.txt
@@ -0,0 +1,10 @@
+A staff member needs to be able to add a new client into the system.
+
+|''begin admin transaction''| Bill |
+|''create client''|Fred|''with phone number''|379 5055|''with email''|bill@corktown.com|''in city''|Auckland|''in zone''|South|''at address''|93 Carbine Rd|
+|''complete transaction''|
+
+
+|''client list''|
+|''name''|''email''|''phone''|''city''|''zone''|''address''|
+|Fred|bill@corktown.com|379 5055|Auckland|South|93 Carbine Rd|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateNewClients/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateNewClients/properties.xml
new file mode 100644
index 0000000000..28d194e59e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/CreateNewClients/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1127345323440
+ 3218035466412514885
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClient/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClient/content.txt
new file mode 100644
index 0000000000..ecdc4fa4da
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClient/content.txt
@@ -0,0 +1,29 @@
+Start by creating our clients.
+
+|''setup''|
+|''client name''|''phone''|''city''|''zone''|''delivery address''|
+|Joanna|373 7599|Auckland|CBD|10 Princes St|
+
+
+|''begin admin transaction''| Bill |
+|''create client''|Fred|''with phone number''|379 5055|''in city''|Auckland|''in zone''|South|''at address''|93 Carbine Rd|
+|''complete transaction''|
+
+We should have two clients in our client list.
+
+|''client list''|
+|''name''|''phone''|''city''|''zone''|''address''|
+|Joanna|373 7599|Auckland|CBD|10 Princes St|
+|Fred|379 5055|Auckland|South|93 Carbine Rd|
+
+Now delete a client.
+
+|''begin admin transaction''| Bill |
+|''delete client''|Joanna|
+|''complete transaction''|
+
+Should now only have one client.
+
+|''client list''|
+|''name''|''phone''|''city''|''zone''|''address''|
+|Fred|379 5055|Auckland|South|93 Carbine Rd|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClient/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClient/properties.xml
new file mode 100644
index 0000000000..6541f58139
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClient/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1127086233429
+ -8998238012689904208
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClientWithBookings/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClientWithBookings/content.txt
new file mode 100644
index 0000000000..c9159e0609
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClientWithBookings/content.txt
@@ -0,0 +1,52 @@
+This tests deleting a client that has bookings. Deleting a client that has current bookings should fail, we should have to cancel any bookings first.
+
+ * Let's set up our items first.
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+|coffee pot|20|1.50|12.00|60.00|0.00|
+| coffee urn | 20| 1.50| 12.00|60.00| 50.00|
+| table | 20 | 6.00 | 48.00| 200.00| 80.00|
+
+
+
+|''begin admin transaction''| Bill |
+|''create client''|Fred|''with phone number''|379 5055|''in city''|Auckland|''in zone''|South|''at address''|93 Carbine Rd|
+|''complete transaction''|
+
+
+|''begin transaction for client''| Fred |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|6.00|
+|''complete transaction''|
+
+
+ ---- * Actions:
+|''time is now''|2004/05/08 09:02|
+
+ * Now delete our client. This should fail because we have outstanding bookings.
+
+|''begin admin transaction''| Bill |
+|'''reject'''|''delete client''|Fred|
+|''complete transaction''|
+
+ * Now we can cancel the booking
+
+
+|''begin transaction for client''| Fred |''staff''| Bill|
+|''cancel booking of''|2||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 hours|
+|''refund cash $''|6.00|
+|''complete transaction''|
+
+ * Now we should be able to delete our client.
+
+|''begin admin transaction''| Bill |
+|'''ensure'''|''delete client''|Fred|
+|''complete transaction''|
+
+
+|''client list''|
+|''name''|''phone''|''city''|''zone''|''address''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClientWithBookings/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClientWithBookings/properties.xml
new file mode 100644
index 0000000000..7365a71662
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/DeleteClientWithBookings/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+
+ 1127684341212
+ -6328138082943184508
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ModifyClientDetails/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ModifyClientDetails/content.txt
new file mode 100644
index 0000000000..9d42e2b7d4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ModifyClientDetails/content.txt
@@ -0,0 +1,14 @@
+A staff member needs to be able to add a new client into the system.
+
+|''begin admin transaction''| Bill |
+|''create client''|Fred|''with phone number''|379 5055|''in city''|Auckland|''in zone''|South|''at address''|93 Carbine Rd|
+|''complete transaction''|
+
+
+|''begin admin transaction''| Bill |
+|''modify client''|Fred|''set phone number''|912 5055|''in city''|Auckland|''in zone''|South|''at address''|93 Carbine Rd|
+|''complete transaction''|
+
+|''client list''|
+|''name''|''phone''|''city''|''zone''|''address''|
+|Fred|912 5055|Auckland|South|93 Carbine Rd|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ModifyClientDetails/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ModifyClientDetails/properties.xml
new file mode 100644
index 0000000000..87548c90f8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ModifyClientDetails/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1127086080760
+ 5129933632005533680
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/SetUp/content.txt
new file mode 100644
index 0000000000..6c7aabd361
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/SetUp/content.txt
@@ -0,0 +1,8 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2005/05/06 09:01|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/SetUp/properties.xml
new file mode 100644
index 0000000000..607b4de393
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+ 1127085491749
+ -2277410545980177471
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ValidateEmails/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ValidateEmails/content.txt
new file mode 100644
index 0000000000..cdf5828838
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ValidateEmails/content.txt
@@ -0,0 +1,22 @@
+Checking whether the system can pick up invalid email formats.
+
+Take a look at the [[java.util.regex][http://www.cs.auckland.ac.nz/references/java/java1.5/api/java/util/regex/package-summary.html]] package for information on how to use regular expressions.
+
+ * Here are some valid emails.
+
+|''Validate Email''|
+|''Email''||''Valid''|
+|john@yahoo.com||true|
+|john.smith@yahoo.com||true|
+|apple_craig@hotmail.com||true|
+|nikky@auckland.ac.nz||true|
+
+ * Here are some invalid emails
+
+|''Validate Email''|
+|''Email''||''Valid''|
+|john||false|
+|craig@@mail.com||false|
+|http://www.google.com||false|
+|rick@fit..org||false|
+|rick@fit||false|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ValidateEmails/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ValidateEmails/properties.xml
new file mode 100644
index 0000000000..d3969e3aef
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/ValidateEmails/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1127684788592
+ 7440658464469990167
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/content.txt
new file mode 100644
index 0000000000..d23d0e270e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/content.txt
@@ -0,0 +1,8 @@
+^SetUp
+
+^CreateNewClients
+^CreateClientConflict
+^ModifyClientDetails
+^DeleteClient
+^DeleteClientWithBookings
+^ValidateEmails
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/properties.xml
new file mode 100644
index 0000000000..7d9ec78313
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ClientManagement/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1127345596018
+ -569278542100962413
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/SetUp/content.txt
new file mode 100644
index 0000000000..a734129245
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/SetUp/content.txt
@@ -0,0 +1,23 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Bob|352 2353|
+|Joe|334 2433|
+|Bill|555 9876|
+|John|554 2362|
+
+|''setup''|
+|''staff name''|''phone''|''Commission %''|
+|Bill|555 9876|0|
+|John|554 2362|10|
+|Pual|232 2356|20.01|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/SetUp/properties.xml
new file mode 100644
index 0000000000..48225de0b0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+ 1124058791032
+ -4321244618566510886
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromIncompleteTransaction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromIncompleteTransaction/content.txt
new file mode 100644
index 0000000000..c2a0584f21
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromIncompleteTransaction/content.txt
@@ -0,0 +1,12 @@
+|''begin transaction for client''| Bob |''staff''| Pual |
+|''rent''|1||Tricycle|''for''|1 day|
+|''pay with cash $''|20.00|
+
+|''total commission''|
+|''staff''|''total''|
+|Bill|0.00|
+|Pual|0.00|
+|John|0.00|
+
+|''resume transaction for client''| Bob|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromIncompleteTransaction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromIncompleteTransaction/properties.xml
new file mode 100644
index 0000000000..2e9c2af2ef
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromIncompleteTransaction/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+
+ 1123459121515
+ 7373247470576549515
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransaction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransaction/content.txt
new file mode 100644
index 0000000000..ad028c6f4a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransaction/content.txt
@@ -0,0 +1,11 @@
+|''begin transaction for client''| Bob |''staff''| John |
+|''rent''|1||Truck|''for''|1 day|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+
+|''total commission''|
+|''staff''|''total''|
+|Bill|0.00|
+|Pual|0.00|
+|John|200.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransaction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransaction/properties.xml
new file mode 100644
index 0000000000..74dbc31b74
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransaction/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+
+ 1123458826965
+ -5512725327204996867
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransactionWithRounding/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransactionWithRounding/content.txt
new file mode 100644
index 0000000000..c43688cf11
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransactionWithRounding/content.txt
@@ -0,0 +1,11 @@
+|''begin transaction for client''| Bob |''staff''| Pual |
+|''rent''|1||Tricycle|''for''|1 day|
+|''pay with cash $''|20.00|
+|''complete transaction''|
+
+|''total commission''|
+|''staff''|''total''|
+|Bill|0.00|
+|Pual|4.00|
+|John|0.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransactionWithRounding/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransactionWithRounding/properties.xml
new file mode 100644
index 0000000000..6dc0bc59a1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestCommissionFromTransactionWithRounding/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+
+ 1123459080465
+ -3346987739638143485
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionFromTransaction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionFromTransaction/content.txt
new file mode 100644
index 0000000000..44e9720243
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionFromTransaction/content.txt
@@ -0,0 +1,11 @@
+|''begin transaction for client''| Bob |''staff''| Bill|
+|''rent''|1||Truck|''for''|1 day|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+
+|''total commission''|
+|''staff''|''total''|
+|Bill|0.00|
+|Pual|0.00|
+|John|0.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionFromTransaction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionFromTransaction/properties.xml
new file mode 100644
index 0000000000..21a7515bf2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionFromTransaction/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+
+ 1123458792685
+ 6470109607477625546
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionToStaffForHireByStaff/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionToStaffForHireByStaff/content.txt
new file mode 100644
index 0000000000..37076ae3c1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionToStaffForHireByStaff/content.txt
@@ -0,0 +1,15 @@
+|''begin transaction for client''| John |''staff''| Pual |
+|''rent''|1||Tricycle|''for''|1 day|
+|''pay with cash $''|20.00|
+|''complete transaction''|
+
+|''begin transaction for client''| Bill |''staff''| Pual |
+|''rent''|1||Bike|''for''|1 day|
+|''pay with cash $''|200.00|
+|''complete transaction''|
+
+|''total commission''|
+|''staff''|''total''|
+|Bill|0.00|
+|Pual|0.00|
+|John|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionToStaffForHireByStaff/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionToStaffForHireByStaff/properties.xml
new file mode 100644
index 0000000000..e1be50dccb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionToStaffForHireByStaff/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+
+ 1124058693101
+ -5733272877473134370
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionYet/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionYet/content.txt
new file mode 100644
index 0000000000..53c3548016
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionYet/content.txt
@@ -0,0 +1,6 @@
+|''total commission''|
+|''staff''|''total''|
+|Bill|0.00|
+|Pual|0.00|
+|John|0.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionYet/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionYet/properties.xml
new file mode 100644
index 0000000000..3f3bb2e70e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/TestNoCommissionYet/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+
+ 1123458528425
+ -4649596172648887448
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/content.txt
new file mode 100644
index 0000000000..807c70623c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/content.txt
@@ -0,0 +1,7 @@
+^SetUp
+^TestNoCommissionYet
+^TestNoCommissionFromTransaction
+^TestCommissionFromTransaction
+^TestCommissionFromTransactionWithRounding
+^TestCommissionFromIncompleteTransaction
+^TestNoCommissionToStaffForHireByStaff
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/properties.xml
new file mode 100644
index 0000000000..f2c73d2c65
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CommissionForStaffMembers/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+
+ 1123715140247
+ -4086798026841168403
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/BookingAndSalesTemplate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/BookingAndSalesTemplate/content.txt
new file mode 100644
index 0000000000..75ffcf462c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/BookingAndSalesTemplate/content.txt
@@ -0,0 +1,37 @@
+!3 Set up template
+* A template can contain rental items as well as sale goods
+|''create template''|21st party|
+|''one''|yardie glass|''for''|booking or renting|''for''|1000|''people''|
+|''one''|balloon|''for''|booking or renting|''for''|10|''people''|
+|''one''|cup|''for''|booking or renting|''for''|1|''people''|
+|''one''|coke|''for''|sale|''for''|5|''people''|
+|''one''|cake|''for''|sale|''for''|10|''people''|
+|''one''|chips|''for''|sale|''for''|5|''people''|
+----
+!3 Transaction
+ * Begin transaction for client - she'll pickup these items.
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|''fill book template''|21st party|''for''|100|''people on''|2004/06/06 09:02|''for''|1 day|
+|''pay with cash $''|518.00|
+|''complete transaction''|
+
+----
+!3 Checking
+* Checking sales sales goods left
+
+|''salesGoodsSubset''|
+| name| count |
+|cake|40|
+|coke|30|
+|chips|30|
+
+* No rental items yet for Joanna
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
+* Check Joanna's booking list
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|yardie glass|1|2004/06/06 09:02|2004/06/07 09:02|
+|balloon|10|2004/06/06 09:02|2004/06/07 09:02|
+|cup|100|2004/06/06 09:02|2004/06/07 09:02|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/BookingAndSalesTemplate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/BookingAndSalesTemplate/properties.xml
new file mode 100644
index 0000000000..9e5e8146af
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/BookingAndSalesTemplate/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1128549238833
+ 1688296192676788984
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/SetUp/content.txt
new file mode 100644
index 0000000000..aa156c2969
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/SetUp/content.txt
@@ -0,0 +1,27 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|20|1.50|8.20|60.00|0.00|
+|hot water dispenser|22|1.50|8.00|50.00|0.00|
+|coffee table|10|10.00|50.00|200.00|0.00|
+|cup|500|0.05|0.45|2.00|0.00|
+|yardie glass|20|0.20|1.00|5.00|0.00|
+|balloon|100|0.10|1.20|6.00|0.00|
+
+|''setup''|
+|''sales item name''|''count''|''selling price''|
+|coke|50|3.00|
+|chips|50|5.00|
+|cake|50|30.00|
+
+|''setup''|
+|''client name''|''phone''|''city''|''zone''|''delivery address''|
+|Joanna|373 7599|Auckland|CBD|10 Princes St|
+|Xiaosong|555 1225|Auckland|CBD|12 Princes St|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/SetUp/properties.xml
new file mode 100644
index 0000000000..84be2ef9fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1128290844793
+ 4815817110007217121
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/UsingTwoTemplates/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/UsingTwoTemplates/content.txt
new file mode 100644
index 0000000000..f8f90ed699
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/UsingTwoTemplates/content.txt
@@ -0,0 +1,42 @@
+!3 Setup template
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|booking or renting|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|booking or renting|''for''|20|''people''|
+|''one''|coffee table|''for''|booking or renting|''for''|40|''people''|
+|''one''|cup|''for''|booking or renting|''for''|1|''people''|
+
+|''create template''|21st party|
+|''one''|yardie glass|''for''|booking or renting|''for''|1000|''people''|
+|''one''|balloon|''for''|booking or renting|''for''|10|''people''|
+|''one''|cup|''for''|booking or renting|''for''|1|''people''|
+|''one''|coke|''for''|sale|''for''|5|''people''|
+|''one''|cake|''for''|sale|''for''|10|''people''|
+|''one''|chips|''for''|sale|''for''|5|''people''|
+
+!3 Transaction
+ * Begin transaction for client - she'll pickup these items.
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|''fill rent template''|coffee break|''for''|20|''people for''|1 day|
+|''fill book template''|21st party|''for''|100|''people on''|2004/05/06 09:02|''for''|1 day|
+|''pay with cash $''|593.20|
+|''complete transaction''|
+
+!3 Checking
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|1|2004/05/06 09:01|2004/05/07 09:01|
+|hot water dispenser|1|2004/05/06 09:01|2004/05/07 09:01|
+|coffee table|1|2004/05/06 09:01|2004/05/07 09:01|
+|cup|20|2004/05/06 09:01|2004/05/07 09:01|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|yardie glass|1|2004/05/06 09:02|2004/05/07 09:02|
+|balloon|10|2004/05/06 09:02|2004/05/07 09:02|
+|cup|100|2004/05/06 09:02|2004/05/07 09:02|
+
+|''salesGoodsSubset''|
+| name| count |
+|cake|40|
+|coke|30|
+|chips|30|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/UsingTwoTemplates/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/UsingTwoTemplates/properties.xml
new file mode 100644
index 0000000000..b4d8014f2e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/UsingTwoTemplates/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1128549295785
+ 3762771146061289988
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/content.txt
new file mode 100644
index 0000000000..38d3d30c1d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/content.txt
@@ -0,0 +1,4 @@
+^SetUp
+
+^BookingAndSalesTemplate
+^UsingTwoTemplates
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/properties.xml
new file mode 100644
index 0000000000..5a64a4dcbd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CompositeTemplate/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1127951467314
+ -4582243428224894424
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/ImportantInformation/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/ImportantInformation/content.txt
new file mode 100644
index 0000000000..18a3d737c8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/ImportantInformation/content.txt
@@ -0,0 +1,77 @@
+The methods to validate credit cards can be found at http://www.beachnet.com/~hstiles/cardtype.html
+
+The numbers have been checked through http://javascript.internet.com/forms/val-credit-card.html - look at their code for more explanation.
+
+I've duplicated the document below, however the original is simpler for formatting reasons.
+
+
+
+This document outlines procedures and algorithms for Verifying the accuracy and validity of credit card numbers. Most credit card numbers are encoded with a "Check Digit". A check digit is a digit added to a number (either at the end or the beginning) that validates the authenticity of the number. A simple algorithm is applied to the other digits of the number which yields the check digit. By running the algorithm, and comparing the check digit you get from the algorithm with the check digit encoded with the credit card number, you can verify that you have correctly read all of the digits and that they make a valid combination.
+
+Possible uses for this information:
+
+ * When a user has keyed in a credit card number (or scanned it) and you want to validate it before sending it our for debit authorization.
+ * When issuing cards, say an affinity card, you might want to add a check digit using the MOD 10 method.
+
+1.Prefix, Length, and Check Digit Criteria
+
+Here is a table outlining the major credit cards that you might want to validate.
+
+|CARD TYPE|Prefix|Length|Check digit algorithm|
+|MASTERCARD|51-55|16|mod 10|
+|VISA|4|13, 16|mod 10|
+|AMEX|34, 37|15|mod 10|
+|Diners Club/Carte Blanche|300-305, 36, 38|14|mod 10|
+|Discover|6011|16|mod 10|
+|enRoute|2014, 2149|15|any|
+|JCB|3|16|mod 10|
+|JCB|2131, 1800|15|mod 10|
+
+
+2. LUHN Formula (Mod 10) for Validation of Primary Account Number
+
+The following steps are required to validate the primary account number:
+
+Step 1: Double the value of alternate digits of the primary account number beginning with the second digit from the right (the first right-hand digit is the check digit.)
+
+Step 2: Add the individual digits comprising the products obtained in Step 1 to each of the unaffected digits in the original number.
+
+Step 3: The total obtained in Step 2 must be a number ending in zero (30, 40, 50, etc.) for the account number to be validated.
+
+For example, to validate the primary account number 49927398716:
+
+Step 1:
+{{{
+ 4 9 9 2 7 3 9 8 7 1 6
+ x2 x2 x2 x2 x2
+ ------------------------------
+ 18 4 6 16 2
+}}}
+
+
+
+
+Step 2: 4 +(1+8)+ 9 + (4) + 7 + (6) + 9 +(1+6) + 7 + (2) + 6
+
+Step 3: Sum = 70 : Card number is validated
+
+Note: Card is valid because the 70/10 yields no remainder.
+
+The great folks at ICVERIFY are the original source of this data, I only formatted it in HTML.
+
+If you are in the market, I wrote a set of FoxPro modules for Windows/Dos that interface nicely with ICVERIFY in a multi-user LAN setup. You just set up ICVERIFY on a single station, and all stations on the LAN can authorize credit cards with a single FOXBASE function call. Of course, you have to license ICVERIFY by the node, but it is very reasonable. I also wrote a couple of simple functions to perform pre-authorization, card screening, etc.
+
+Here is a Microsoft Excel worksheet that will validate a number for you (useful for understanding the algorithm, it is in a .ZIP compressed format)
+
+Horace Vallas made a NeoWebScript (Tcl really) procedure that implements it.
+Check it out at https://enterprise.neosoft.com/secureforms/hav/
+
+Because I get at least a letter a week regarding this routine, here are some additional helpful notes:
+
+Make sure that you:
+
+ 1. have started with the rightmost digit (including the check digit) (figure odd and even based upon the rightmost digit being odd, regardless of the length of the Credit Card.) ALWAYS work right to left.
+ 2. the check digit counts as digit #1 (assuming that the rightmost digit is the check digit) and is not doubled
+ 3. double every second digit (starting with digit # 2 from the right)
+ 4. remember that when you double a number over 4, (6 for example) you don't add the result to your total, but rather the sum of the digits of the result (in the above example 6*2=12 so you would add 1+2 to your total (not 12).
+ 5. always include the Visa or M/C/ prefix.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/ImportantInformation/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/ImportantInformation/properties.xml
new file mode 100644
index 0000000000..d2574c4a40
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/ImportantInformation/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1127945057993
+ 7875612958499913286
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/SetUp/content.txt
new file mode 100644
index 0000000000..a06be8be90
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/SetUp/content.txt
@@ -0,0 +1,23 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+|coffee dispenser|20|1.50|8.20|60.00|0.00|
+|hot water dispenser|20|1.50|8.00|50.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Bob|352 2353|
+|Joe|334 2433|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+|John|554 2362|
+|Pual|232 2356|
+
+|''time is now''| 2005/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/SetUp/properties.xml
new file mode 100644
index 0000000000..2a95684439
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+ 1127686636741
+ 6655470202917382396
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardBonusPoints/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardBonusPoints/content.txt
new file mode 100644
index 0000000000..7fc26f5033
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardBonusPoints/content.txt
@@ -0,0 +1,10 @@
+!3 ''10% Rentez Dollar (point) is awarded''
+ * ''More Rentez Dollar (point) is awarded for transaction more than $500.00''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|8||coffee dispenser|''for''|5 days|
+|''rent''|8||hot water dispenser|''for''|5 days|
+|'''ensure'''|''pay with credit card $''|648.00|''card type''|Visa|''expires''|10/05|''number''|4485891284549100|
+|''complete transaction''|
+
+ * ''The point balance for a client changes''
+|'''check'''|point balance for client|Joanna|34.80|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardBonusPoints/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardBonusPoints/properties.xml
new file mode 100644
index 0000000000..221083d99c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardBonusPoints/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+
+ 1127346190348
+ 8727211038214331837
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardValidation/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardValidation/content.txt
new file mode 100644
index 0000000000..776fe12294
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardValidation/content.txt
@@ -0,0 +1,107 @@
+This tests your credit card validation routines.
+View the ImportantInformation page for more details on implementing this.
+
+ * Note that credit card expiry dates are in the format (month / year)
+
+!3 Valid cards
+#
+|''Valid Credit Cards''|
+|''Credit Card No''|''Card Type''|''Expires''|
+|5169961933224494|Mastercard|04/12|
+|4485891284549100|Visa|01/12|
+|378238305872855|American Express|12/11|
+|30328219479275|Diners Club|11/11|
+#
+!3 Incorrect card types
+#
+|''Invalid Credit Cards''|
+|''Credit Card No''|''Card Type''|''Expires''|
+|5420218419129712|American Express|12/12|
+|4532236754255544|Visar|12/11|
+#
+!3 Expired
+|''Invalid Credit Cards''|
+|''Credit Card No''|''Card Type''|''Expires''|
+|4024007154824048|Visa|02/10|
+#
+!3 Invalid card numbers
+#
+|''Invalid Credit Cards''|
+|''Credit Card No''|''Card Type''|''Expires''|
+|5169961983244414|Mastercard|02/13|
+|xxxxxxxxxxxxxxxx|Visa|02/12|
+
+
+
+
+|''Validate Credit Card''|
+|''Credit Card No''|''Card Type''|''Expires''|''Valid Number''|
+|5169961933224494|Mastercard|12/05||true|
+|5379884413318972|Mastercard|12/05||true|
+|5243914958172676|Mastercard|12/05||true|
+|5139937872916099|Mastercard|12/05||true|
+|5500400191544291|Mastercard|12/05||true|
+|5390600729532980|Mastercard|12/05||true|
+|5188239259404827|Mastercard|12/05||true|
+|5551559755184006|Mastercard|12/05||true|
+|4485891284549100|Visa|12/05||true|
+|4024007135429073|Visa|12/05||true|
+|4052577022845271|Visa|12/05||true|
+|4024007125032481|Visa|12/05||true|
+|4916628240163678|Visa|12/05||true|
+|4916559188232060|Visa|12/05||true|
+|4916061680920094|Visa|12/05||true|
+|4556422493178|Visa|12/05||true|
+|4556050997607|Visa|12/05||true|
+|4367400659073|Visa|12/05||true|
+|4929879540090|Visa|12/05||true|
+|4024007190677|Visa|12/05||true|
+|378238305872855|American Express|12/05||true|
+|372730553483969|American Express|12/05||true|
+|342572497211925|American Express|12/05||true|
+|379397670726069|American Express|12/05||true|
+|30328219479275|Diners Club|12/05||true|
+|30181250802842|Diners Club|12/05||true|
+|6011404643081688|Discover|12/05||true|
+
+
+!3 The following are all valid numbers, but should return false due to incorrect card types.
+
+|''Validate Credit Card''|
+|''Credit Card No''|''Card Type''|''Expires''||''Valid Number''|
+|5420218419129712|American Express|12/05||false|
+|4532236754255544|Visar|12/05||false|
+|4532686278150474|Mastercard|12/05||false|
+|348148246050767|American Express|03/05||false|
+
+
+!3 Test expiry date validation.
+
+|''Validate Credit Card''|
+|''Credit Card No''|''Card Type''|''Expires''||''Valid Number''|
+|4024007154824048|Visa|02/05||false|
+|4024007154824048|Visa|04/05||false|
+|4024007154824048|Visa|05/04||false|
+|4024007154824048|Visa|05/05||true|
+|4024007154824048|Visa|06/04||false|
+|4024007154824048|Visa|04/06||true|
+
+!3 Here are some invalid card numbers...
+
+|''Validate Credit Card''|
+|''Credit Card No''|''Card Type''|''Expires''||''Valid Number''|
+|5169961983244414|Mastercard|02/06||false|
+|5972884413418972|Mastercard|02/06||false|
+|5643914958172676|Mastercard|02/06||false|
+|4085891484739100|Visa|02/06||false|
+|xxxxxxxxxxxxxxxx|Visa|02/06||false|
+|102938475693892|Visa|02/06||false|
+|405257702284527|Mastercard|02/06||false|
+|4024007125632481|American Express|02/06||false|
+|4256050997607|Mastercard|02/06||false|
+|436740o659073|Diners Club|02/06||false|
+|378238357872855|American Express|02/06||false|
+|347148346051767|American Express|02/06||false|
+|30328554553609|American Express|02/06||false|
+|30291266636411|Discover|02/06||false|
+|6011404643082688|Discover|12/05||false|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardValidation/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardValidation/properties.xml
new file mode 100644
index 0000000000..cf9bf8c3b4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestCreditCardValidation/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+
+ 1127688147743
+ 3513864218416779719
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestPaywithCreditCard/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestPaywithCreditCard/content.txt
new file mode 100644
index 0000000000..444ad137e5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestPaywithCreditCard/content.txt
@@ -0,0 +1,9 @@
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''rent''|1||Tricycle|''for''|1 day|
+|'''ensure'''|''pay with credit card $''|20.00|''card type''|Visa|''expires''|11/05|''number''|4485891284549100|
+|''complete transaction''|
+
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''rent''|1||Bike|''for''|1 day|
+|'''reject'''|''pay with credit card $''|200.00|''card type''|Visa|''expires''|12/05|''number''|49937395716|
+|'''not'''|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestPaywithCreditCard/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestPaywithCreditCard/properties.xml
new file mode 100644
index 0000000000..2ddc553d5f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/TestPaywithCreditCard/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+
+ 1127345852518
+ -6183716031861573633
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/content.txt
new file mode 100644
index 0000000000..9eecc86d92
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/content.txt
@@ -0,0 +1,5 @@
+^SetUp
+^ImportantInformation
+^TestCreditCardValidation
+^TestPaywithCreditCard
+^TestCreditCardBonusPoints
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/properties.xml
new file mode 100644
index 0000000000..962992cec8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/CreditCard/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+
+ 1127295137879
+ -1990129420554244676
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DefinedActions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DefinedActions/content.txt
new file mode 100644
index 0000000000..429d71a07e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DefinedActions/content.txt
@@ -0,0 +1 @@
+!contents
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/CreateDeliveryCost/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/CreateDeliveryCost/content.txt
new file mode 100644
index 0000000000..a396467358
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/CreateDeliveryCost/content.txt
@@ -0,0 +1,14 @@
+Create
+
+|''begin admin transaction''| Bill |
+|''add delivery city''|Auckland|''zone''|CBD|''flat rate''|6.00|''delivery rate %''|3|
+|''add delivery city''|Auckland|''zone''|North Shore|''flat rate''|10.00|''delivery rate %''|4|
+|''complete transaction''|
+
+----Check
+|''delivery cost list''|
+|''city'' | ''zone'' | ''delivery rate flat fee'' | ''delivery rate %'' |
+|Auckland| West|12.00|4|
+|Auckland| East|12.00|4|
+| Auckland | CBD | 6.00 | 3 |
+| Auckland | North Shore | 10.00 | 4 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/CreateDeliveryCost/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/CreateDeliveryCost/properties.xml
new file mode 100644
index 0000000000..827f83b2a3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/CreateDeliveryCost/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1127688736061
+ -4082485841909960133
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/DeleteDeliveryCost/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/DeleteDeliveryCost/content.txt
new file mode 100644
index 0000000000..d24bec082e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/DeleteDeliveryCost/content.txt
@@ -0,0 +1,10 @@
+Delete
+
+|''begin admin transaction''| Bill |
+|''remove delivery city''|Auckland|''zone''|East|
+|''complete transaction''|
+
+----Check
+|''delivery cost list''|
+|''city'' | ''zone'' | ''delivery rate flat fee'' | ''delivery rate %'' |
+|Auckland| West|12.00|4|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/DeleteDeliveryCost/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/DeleteDeliveryCost/properties.xml
new file mode 100644
index 0000000000..92f91beade
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/DeleteDeliveryCost/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1127689024761
+ -5740803940103072485
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/ModifyDeliveryCost/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/ModifyDeliveryCost/content.txt
new file mode 100644
index 0000000000..345e1d8c30
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/ModifyDeliveryCost/content.txt
@@ -0,0 +1,11 @@
+Change
+
+|''begin admin transaction''| Bill |
+|''change delivery city''|Auckland|''zone''|East|''flat rate''|12.00|''delivery rate %''|4|''to flat rate''|15.00|
+|''complete transaction''|
+
+----Check
+|''delivery cost list''|
+|''city'' | ''zone'' | ''delivery rate flat fee'' | ''delivery rate %'' |
+|Auckland| West|12.00|4|
+|Auckland| East|15.00|4|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/ModifyDeliveryCost/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/ModifyDeliveryCost/properties.xml
new file mode 100644
index 0000000000..7ea51bc0ca
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/ModifyDeliveryCost/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1127689177261
+ -5473768527558669466
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/SetUp/content.txt
new file mode 100644
index 0000000000..f9e75caa6a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/SetUp/content.txt
@@ -0,0 +1,26 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+|coffee pot|20|1.50|12.00|60.00|0.00|
+| coffee urn | 20| 1.50| 12.00|60.00| 50.00|
+| table | 20 | 6.00 | 48.00| 200.00| 80.00|
+
+|''setup''|
+|''client name''|''phone''|''city''|''zone''|''delivery address''|
+|Joanna|373 7599|Auckland|CBD|10 Princes St|
+|Xiaosong|555 1225|Auckland|CBD|12 Princes St|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''setup''|
+|''city''|''zone''|''delivery rate flat fee''|''delivery rate %''|
+|Auckland| West|12.00|4|
+|Auckland| East|12.00|4|
+
+|''time is now''| 2005/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/SetUp/properties.xml
new file mode 100644
index 0000000000..09c18d4f06
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1127688119641
+ 7907704057733690684
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/content.txt
new file mode 100644
index 0000000000..021aea2fcc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/content.txt
@@ -0,0 +1,5 @@
+^SetUp
+
+^CreateDeliveryCost
+^DeleteDeliveryCost
+^ModifyDeliveryCost
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/properties.xml
new file mode 100644
index 0000000000..0fcdb7e4e6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryAdminFunction/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1127683387803
+ -4954682700511192905
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryConfirmation/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryConfirmation/content.txt
new file mode 100644
index 0000000000..7c3810a8d1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryConfirmation/content.txt
@@ -0,0 +1 @@
+* Ignore this please
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryConfirmation/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryConfirmation/properties.xml
new file mode 100644
index 0000000000..622f365e20
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryConfirmation/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+ 1127942083112
+ 5704484322402923520
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryScheduleForDay/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryScheduleForDay/content.txt
new file mode 100644
index 0000000000..0962455a4b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryScheduleForDay/content.txt
@@ -0,0 +1,15 @@
+|''setup delivery transaction for client''| Joanna |''on''|2005/05/08 09:01|''staff''| Bill|
+|''book''|2||coffee dispenser|''for''|2 hours|
+|''book''|3||coffee urn|''for''|3 hours|
+
+|''setup delivery transaction for client''| Joanna |''on''|2005/05/08 15:01|''staff''| Bill|
+|''book''|2||table|''for''|0.5 day|
+|''book''|3||cup|''for''|2.5 hours|
+
+
+|''begin delivery transaction for client''| Joanna |''on''|2005/05/08 09:01|''city''|Auckland|''zone''|North Shore|''|''staff''| Bill|
+|''book''|10||coffee dispenser|
+
+|''delivery schedule for''|2005/05/08 09:01|
+|''date''|''city''|''zone''|''delivery address''|
+|2005/05/08 09:01|Auckland|CBD|10 Princes St|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryScheduleForDay/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryScheduleForDay/properties.xml
new file mode 100644
index 0000000000..9a630228cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/DeliveryScheduleForDay/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+ 1127707128742
+ 7794079552074241319
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/SetUp/content.txt
new file mode 100644
index 0000000000..d26e148255
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/SetUp/content.txt
@@ -0,0 +1,30 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+|coffee pot|20|1.50|12.00|60.00|0.00|
+| coffee urn | 20| 1.50| 12.00|60.00| 50.00|
+| table | 20 | 6.00 | 48.00| 200.00| 80.00|
+
+|''setup''|
+|''client name''|''phone''|''city''|''zone''|''delivery address''|
+|Joanna|373 7599|Auckland|CBD|10 Princes St|
+|Xiaosong|555 1225|Auckland|CBD|12 Princes St|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''setup''|
+|''city''|''zone''|''delivery rate flat fee''|''delivery rate %''|
+|Auckland| CBD|8.00|3|
+|Auckland| Central|8.00|3|
+|Auckland| South|6.00|2|
+|Auckland| North Shore|15.00|5|
+|Auckland| West|12.00|4|
+|Auckland| East|12.00|4|
+
+|''time is now''| 2005/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/SetUp/properties.xml
new file mode 100644
index 0000000000..8eccdda6cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1127704282062
+ -6456610963689212860
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/content.txt
new file mode 100644
index 0000000000..eab7e8efaf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/content.txt
@@ -0,0 +1,5 @@
+^SetUp
+
+^DeliveryScheduleForDay
+
+^DeliveryConfirmation
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/properties.xml
new file mode 100644
index 0000000000..b265111db2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DeliveryManagement/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1127942171832
+ -3138589915991970232
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemFail/content.txt
new file mode 100644
index 0000000000..5d53b95764
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemFail/content.txt
@@ -0,0 +1,7 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||Truck|''for''|1 day|
+|'''reject'''|''drop rent''|1||Bike|''for''|1 day|
+|'''reject'''|''drop rent''|2||Truck|''for''|1 day|
+|'''reject'''|''drop rent''|1||Truck|''for''|3 day|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemFail/properties.xml
new file mode 100644
index 0000000000..1f9ac679f4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemFail/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1121903250093
+ 3737413385356459930
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemPass/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemPass/content.txt
new file mode 100644
index 0000000000..482d26204e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemPass/content.txt
@@ -0,0 +1,8 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||Truck|''for''|1 day|
+|''drop rent''|1||Truck|''for''|1 day|
+|''complete transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemPass/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemPass/properties.xml
new file mode 100644
index 0000000000..23e897fff7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/DroppingOneTransactionItemPass/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114821
+
+
+
+
+
+
+
+ 1146959301200
+ 312055382319136523
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/SetUp/content.txt
new file mode 100644
index 0000000000..a4cc3f8a0c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/SetUp/content.txt
@@ -0,0 +1,17 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/SetUp/properties.xml
new file mode 100644
index 0000000000..02444ffd1c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+ 1123110209723
+ -2500012797165160781
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestDroppingMultipleItemsPass/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestDroppingMultipleItemsPass/content.txt
new file mode 100644
index 0000000000..5c18970fb0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestDroppingMultipleItemsPass/content.txt
@@ -0,0 +1,14 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||Truck|''for''|1 day|
+|''rent''|1||Bike|''for''|1 day|
+|''rent''|1||Tricycle|''for''|1 day|
+|''drop rent''|1||Bike|''for''|1 day|
+|''drop rent''|1||Tricycle|''for''|1 day|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+
+|''rental item''|
+|''name''|''free count''|
+|Truck|0|
+|Bike|1|
+|Tricycle|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestDroppingMultipleItemsPass/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestDroppingMultipleItemsPass/properties.xml
new file mode 100644
index 0000000000..44e64c97ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestDroppingMultipleItemsPass/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114833
+
+
+
+
+
+
+
+ 1146959313598
+ -4760754117749097648
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropMultipleItems/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropMultipleItems/content.txt
new file mode 100644
index 0000000000..f06286731b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropMultipleItems/content.txt
@@ -0,0 +1,11 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||Truck|''for''|1 day|
+|''drop rent''|1||Truck|''for''|1 day|
+|''rent''|1||Bike|''for''|1 day|
+|''rent''|1||Tricycle|''for''|1 day|
+|''drop rent''|1||Tricycle|''for''|1 day|
+|''drop rent''|1||Bike|''for''|1 day|
+|''undrop rent''|1||Tricycle|''for''|1 day|
+|''undrop rent''|1||Truck|''for''|1 day|
+|''pay with cash $''|2020.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropMultipleItems/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropMultipleItems/properties.xml
new file mode 100644
index 0000000000..8117fc7a5f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropMultipleItems/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1122242835975
+ -2409510226637208664
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemFail/content.txt
new file mode 100644
index 0000000000..e4562afa32
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemFail/content.txt
@@ -0,0 +1,9 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''reject'''|''undrop rent''|1||Truck|''for''|1 day|
+|''rent''|1||Truck|''for''|1 day|
+|'''reject'''|''undrop rent''|1||Truck|''for''|1 day|
+|''drop rent''|1||Truck|''for''|1 day|
+|''undrop rent''|1||Truck|''for''|1 day|
+|'''reject'''|''undrop rent''|1||Truck|''for''|1 day|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemFail/properties.xml
new file mode 100644
index 0000000000..31fe481d80
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemFail/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1122242673846
+ -326701274177864695
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemPass/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemPass/content.txt
new file mode 100644
index 0000000000..935bd1bd99
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemPass/content.txt
@@ -0,0 +1,6 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||Truck|''for''|1 day|
+|''drop rent''|1||Truck|''for''|1 day|
+|''undrop rent''|1||Truck|''for''|1 day|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemPass/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemPass/properties.xml
new file mode 100644
index 0000000000..5473254ce1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/TestUnDropOneItemPass/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1121903617792
+ 542379014026896057
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/content.txt
new file mode 100644
index 0000000000..570247d389
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/content.txt
@@ -0,0 +1,7 @@
+^SetUp
+^DroppingOneTransactionItemPass
+^DroppingOneTransactionItemFail
+^TestDroppingMultipleItemsPass
+^TestUnDropOneItemPass
+^TestUnDropOneItemFail
+^TestUnDropMultipleItems
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/properties.xml
new file mode 100644
index 0000000000..25b8794e65
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/DroppingTransactionItem/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1122242718465
+ -5803969022604877395
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/SetUp/content.txt
new file mode 100644
index 0000000000..edfcb5bc0e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/SetUp/content.txt
@@ -0,0 +1,21 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|2|3.00|20.00|80.00|0.00|
+|Bike|2|30.00|200.00|800.00|0.00|
+|Truck|2|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Bob|352 2353|
+|Joe|334 2433|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+|John|554 2362|
+|Pual|232 2356|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/SetUp/properties.xml
new file mode 100644
index 0000000000..aaf5ea03a9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085052
+
+
+
+
+
+
+ 1126737788454
+ 8494743839043064369
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountFail/content.txt
new file mode 100644
index 0000000000..e26f5a42ea
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountFail/content.txt
@@ -0,0 +1,17 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||Truck|''on''|2004/05/08 09:01|''for''|2 days|
+|''pay with cash $''|8000.00|
+|''complete transaction''|
+
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''rent''|1||Truck|''for''|1 day|
+|'''reject'''|''modify amount on rent''|1||Truck|''for''|1 day|''to''|4|
+|'''reject'''|''modify amount on rent''|2||Truck|''for''|1 day|''to''|1|
+|'''reject'''|''modify amount on rent''|1||Bike|''for''|1 day|''to''|1|
+|'''reject'''|''modify amount on rent''|1||Truck|''for''|3 days|''to''|1|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountFail/properties.xml
new file mode 100644
index 0000000000..8ab5e19af1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountFail/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114946
+
+
+
+
+
+
+
+ 1146959386393
+ 4236490623409649939
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountPass/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountPass/content.txt
new file mode 100644
index 0000000000..1e173fe8a8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountPass/content.txt
@@ -0,0 +1,9 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''rent''|1||Truck|''for''|1 day|
+|''modify amount on rent''|1||Truck|''for''|1 day|''to''|2|
+|''pay with cash $''|4000.00|
+|''complete transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|0|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountPass/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountPass/properties.xml
new file mode 100644
index 0000000000..9d0e99fa75
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemCountPass/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114938
+
+
+
+
+
+
+
+ 1146959378842
+ 7625605793705019934
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDateFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDateFail/content.txt
new file mode 100644
index 0000000000..489a081d21
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDateFail/content.txt
@@ -0,0 +1,10 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''book''|2||Truck|''on''|2004/05/08 09:01|''for''|2 days|
+|''rent''|1||Truck|''for''|1 day|
+|'''reject'''|''modify duration on rent''|1||Truck|''for''|1 day|''to''|4 days|
+|''pay with cash $''|10000.00|
+|''complete transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDateFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDateFail/properties.xml
new file mode 100644
index 0000000000..c4d8420941
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDateFail/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114930
+
+
+
+
+
+
+
+ 1146959370620
+ -215623697443892948
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDatePass/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDatePass/content.txt
new file mode 100644
index 0000000000..077bfd681f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDatePass/content.txt
@@ -0,0 +1,9 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''rent''|1||Truck|''for''|1 day|
+|''modify duration on rent''|1||Truck|''for''|1 day|''to''|2 days|
+|''pay with cash $''|4000.00|
+|''complete transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDatePass/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDatePass/properties.xml
new file mode 100644
index 0000000000..466f760292
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/TestEditItemDatePass/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507114920
+
+
+
+
+
+
+
+ 1146959360476
+ -637271447011225986
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/content.txt
new file mode 100644
index 0000000000..09b9dd8b0f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/content.txt
@@ -0,0 +1,6 @@
+^SetUp
+^TestEditItemDatePass
+^TestEditItemDateFail
+^TestEditItemCountPass
+^TestEditItemCountFail
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/properties.xml
new file mode 100644
index 0000000000..0982ee62f7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/EditingTransactionItem/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085052
+
+
+
+
+
+
+
+ 1123715361865
+ -254687347617421471
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/SetUp/content.txt
new file mode 100644
index 0000000000..7593b5463d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/SetUp/content.txt
@@ -0,0 +1,29 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''restriction id''|''Constraint''|
+|1|Must be over the age of 5|
+|2|Must be over the age of 20|
+|3|Must have heavy traffic license|
+
+|''Apply Restrictions''|
+|''rental item name''|''restriction id''|
+|Bike|1|
+|Truck|2|
+|Truck|3|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/SetUp/properties.xml
new file mode 100644
index 0000000000..2465fafa38
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+ 1123713813114
+ 8891417968262461403
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsFail/content.txt
new file mode 100644
index 0000000000..39609bc883
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsFail/content.txt
@@ -0,0 +1,5 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''reject'''|''rent''|1||Truck|''for''|1 day|''with restriction''|3|''satisfied''|
+|'''reject'''|''rent''|1||Truck|''for''|1 day|''with restriction''|2|''satisfied''|
+|'''reject'''|''rent''|1||Truck|''for''|1 day|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsFail/properties.xml
new file mode 100644
index 0000000000..9946813a29
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsFail/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+
+ 1121902396782
+ -3580125001161635281
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsPass/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsPass/content.txt
new file mode 100644
index 0000000000..f019e1e3f1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsPass/content.txt
@@ -0,0 +1,4 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||Truck|''for''|1 day|''with restriction''|2,3|''satisfied''|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsPass/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsPass/properties.xml
new file mode 100644
index 0000000000..b40b44d9d6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithMultipleRestrictionsPass/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1121902319825
+ 5818040598932333790
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithNoRestrictions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithNoRestrictions/content.txt
new file mode 100644
index 0000000000..93283395ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithNoRestrictions/content.txt
@@ -0,0 +1,5 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||Tricycle|''for''|1 day|
+|''pay with cash $''|20.00|
+|''complete transaction''|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithNoRestrictions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithNoRestrictions/properties.xml
new file mode 100644
index 0000000000..a6a210f1ae
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithNoRestrictions/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+
+ 1121901424751
+ -7853775243411871024
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionFail/content.txt
new file mode 100644
index 0000000000..41d751155a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionFail/content.txt
@@ -0,0 +1,3 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''reject'''|''rent''|1||Bike|''for''|1 day|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionFail/properties.xml
new file mode 100644
index 0000000000..3f9242797c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionFail/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085045
+
+
+
+
+
+
+
+ 1121902188903
+ 373635002352504611
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionPass/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionPass/content.txt
new file mode 100644
index 0000000000..91fcde0390
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionPass/content.txt
@@ -0,0 +1,4 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|1||Bike|''for''|1 day|''with restriction''|1|''satisfied''|
+|''pay with cash $''|200.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionPass/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionPass/properties.xml
new file mode 100644
index 0000000000..a69ec1ca58
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/TestWithOneRestrictionPass/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1121902229301
+ -3991188104545952509
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/content.txt
new file mode 100644
index 0000000000..91843fed5e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/content.txt
@@ -0,0 +1,6 @@
+^SetUp
+^TestWithNoRestrictions
+^TestWithOneRestrictionPass
+^TestWithOneRestrictionFail
+^TestWithMultipleRestrictionsPass
+^TestWithMultipleRestrictionsFail
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/properties.xml
new file mode 100644
index 0000000000..bb307af885
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GeneralizedRentalRestrictions/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1121902259031
+ -8120584546053569162
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/BookingWithDelivery/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/BookingWithDelivery/content.txt
new file mode 100644
index 0000000000..72498f7a50
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/BookingWithDelivery/content.txt
@@ -0,0 +1,12 @@
+|''begin delivery transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2005/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|14.18|
+|''complete transaction''|
+
+|''deliveries for client''| Joanna |
+|''date''|''city''|''zone''|''delivery address''|''item''|''item count''|
+|2005/05/08 09:01|Auckland|CBD|10 Princes St|coffee dispenser|2|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2005/05/08 09:01|2005/05/08 11:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/BookingWithDelivery/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/BookingWithDelivery/properties.xml
new file mode 100644
index 0000000000..04e183e6d1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/BookingWithDelivery/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060314185505
+
+
+
+
+
+
+
+ 1142315705609
+ 5604812604300400932
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CalculateDeliveryRate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CalculateDeliveryRate/content.txt
new file mode 100644
index 0000000000..c4931fcb10
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CalculateDeliveryRate/content.txt
@@ -0,0 +1,12 @@
+
+The delivery rate is the flat fee plus the percentage of the total cost of the booking.
+
+|''calculated delivery rate''|
+|''Actual $ spent''|''city''|''zone''||''delivery fee $''|
+|100.00|Auckland|CBD||11.00|
+|100.00|Auckland|West||16.00|
+|100.00|Auckland|East||16.00|
+|100.00|Auckland|Central||11.00|
+|100.00|Auckland|South||8.00|
+|100.00|Auckland|North Shore||20.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CalculateDeliveryRate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CalculateDeliveryRate/properties.xml
new file mode 100644
index 0000000000..e95ac091e8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CalculateDeliveryRate/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1127292234620
+ 950296031877403521
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelBookingsWithDelivery/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelBookingsWithDelivery/content.txt
new file mode 100644
index 0000000000..8a9038904a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelBookingsWithDelivery/content.txt
@@ -0,0 +1,34 @@
+---- * Given:
+|''begin delivery transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2005/05/08 09:01|''for''|2 hours|
+|''book''|2||coffee dispenser|''on''|2005/05/09 09:01|''for''|2 hours|
+|''pay with cash $''|28.36|
+|''complete transaction''|
+
+---- * Checks
+|''deliveries for client''| Joanna |
+|''date''|''city''|''zone''|''delivery address''|''item''|''item count''|
+|2005/05/08 09:01|Auckland|CBD|10 Princes St|coffee dispenser|2|
+|2005/05/09 09:01|Auckland|CBD|10 Princes St|coffee dispenser|2|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2005/05/08 09:01|2005/05/08 11:01|
+|coffee dispenser|2|2005/05/09 09:01|2005/05/09 11:01|
+---- * Actions
+|''time is now''|2005/05/07 09:02|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''cancel booking of''|2||coffee dispenser|''on''|2005/05/08 09:01|''for''|2 hours|
+|''refund cash $''|14.18|
+|''complete transaction''|
+
+---- * Checks
+If all the bookings in a delivery is cancelled, the delivery should be cancelled as well.
+|''deliveries for client''| Joanna |
+|''date''|''city''|''zone''|''delivery address''|''item''|''item count''|
+|2005/05/09 09:01|Auckland|CBD|10 Princes St|coffee dispenser|2|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2005/05/09 09:01|2005/05/09 11:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelBookingsWithDelivery/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelBookingsWithDelivery/properties.xml
new file mode 100644
index 0000000000..bad7effb6a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelBookingsWithDelivery/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1128895573099
+ 388961725052263006
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelDelivery/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelDelivery/content.txt
new file mode 100644
index 0000000000..4955f3d365
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelDelivery/content.txt
@@ -0,0 +1,22 @@
+---- * Given:
+|''begin delivery transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2005/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|14.18|
+|''complete transaction''|
+
+---- * Actions
+|''time is now''|2005/05/08 09:02|
+
+ * Partial delivery cancellations are not allowed.
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''not'''|''cancel delivery''|2005/05/08 09:01|''city''|Auckland|''zone''|CBD|''address''|10 Princes St|''item''|coffee dispenser|''item count''|1|''for''|2 hours|
+|''cancel delivery''|2005/05/08 09:01|''city''|Auckland|''zone''|CBD|''address''|10 Princes St|''item''|coffee dispenser|''item count''|2|''for''|2 hours|
+|''refund cash $''|14.18|
+|''complete transaction''|
+
+---- * Checks
+|''deliveries for client''| Joanna |
+|''date''|''city''|''zone''|''delivery address''|''item''|''item count''|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelDelivery/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelDelivery/properties.xml
new file mode 100644
index 0000000000..f8b2d555a5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/CancelDelivery/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1128550802643
+ 7232172103266406505
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/ChangeDelivery/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/ChangeDelivery/content.txt
new file mode 100644
index 0000000000..fcc0b92a7e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/ChangeDelivery/content.txt
@@ -0,0 +1,39 @@
+!3 Create a delivery
+|''begin delivery transaction for client''| Joanna |''staff''| Bill|
+|''book''|2||coffee dispenser|''on''|2005/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|14.18|
+|''complete transaction''|
+
+!3 One day later
+
+|''time is now''| 2005/05/07 09:01|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''change delivery on''|2005/05/08 09:01|''item''|coffee dispenser|''item count''|2|''for''|2 hours|''city''|Auckland|''zone''|CBD|''delivery address''|10 Princes St|''to delivery address''|200 Queen St|
+|''complete transaction''|
+
+ * ''Checks''
+|''deliveries for client''| Joanna |
+|''date''|''city''|''zone''|''delivery address''|''item''|''item count''|
+|2005/05/08 09:01|Auckland|CBD|200 Queen St|coffee dispenser|2|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2005/05/08 09:01|2005/05/08 11:01|
+
+!3 Half an hour later
+|''time is now''| 2005/05/07 09:31|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''change delivery on''|2005/05/08 09:01|''item''|coffee dispenser|''item count''|2|''for''|2 hours|''city''|Auckland|''zone''|CBD|''delivery address''|200 Queen St|''to zone''|East|''to delivery address''|200 Burswood Drive|
+|''pay with cash $''|4.06|
+|''complete transaction''|
+
+ * ''Checks''
+|''deliveries for client''| Joanna |
+|''date''|''city''|''zone''|''delivery address''|''item''|''item count''|
+|2005/05/08 09:01|Auckland|East|200 Burswood Drive|coffee dispenser|2|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2005/05/08 09:01|2005/05/08 11:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/ChangeDelivery/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/ChangeDelivery/properties.xml
new file mode 100644
index 0000000000..d043c96c68
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/ChangeDelivery/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1128490182020
+ -1077560946022316506
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/DeliveryWithSpecifiedAddress/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/DeliveryWithSpecifiedAddress/content.txt
new file mode 100644
index 0000000000..91ab895753
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/DeliveryWithSpecifiedAddress/content.txt
@@ -0,0 +1,14 @@
+The client can specify a delivery address that's different from the recorded address in their account
+
+|''begin delivery transaction for client''| Joanna |''city''|Auckland|''zone''|North Shore|''address''|68 Glenfield Rd|''staff''| Bill|
+|''book''|10||coffee dispenser|''on''|2005/05/08 09:01|''for''|2 hours|
+|''pay with cash $''|46.50|
+|''complete transaction''|
+
+|''deliveries for client''| Joanna |
+|''date''|''city''|''zone''|''delivery address''|''item''|''item count''|
+|2005/05/08 09:01|Auckland|North Shore|68 Glenfield Rd|coffee dispenser|10|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|10|2005/05/08 09:01|2005/05/08 11:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/DeliveryWithSpecifiedAddress/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/DeliveryWithSpecifiedAddress/properties.xml
new file mode 100644
index 0000000000..fb1183af77
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/DeliveryWithSpecifiedAddress/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1128486722468
+ -5340886131160026122
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/SetUp/content.txt
new file mode 100644
index 0000000000..9c845ad562
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/SetUp/content.txt
@@ -0,0 +1,24 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|''city''|''zone''|''delivery address''|
+|Joanna|373 7599|Auckland|CBD|10 Princes St|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''setup''|
+|''city''|''zone''|''delivery rate flat fee''|''delivery rate %''|
+|Auckland| CBD|8.00|3|
+|Auckland| Central|8.00|3|
+|Auckland| South|6.00|2|
+|Auckland| North Shore|15.00|5|
+|Auckland| West|12.00|4|
+|Auckland| East|12.00|4|
+
+|''time is now''| 2005/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/SetUp/properties.xml
new file mode 100644
index 0000000000..3c601acd7d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1142293775267
+ 7188785243661327674
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/content.txt
new file mode 100644
index 0000000000..1a90c91222
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/content.txt
@@ -0,0 +1,8 @@
+^SetUp
+
+^CalculateDeliveryRate
+^BookingWithDelivery
+^DeliveryWithSpecifiedAddress
+^CancelDelivery
+^CancelBookingsWithDelivery
+^ChangeDelivery
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/properties.xml
new file mode 100644
index 0000000000..0bea30e770
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/GoodsDelivery/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1127683279979
+ -646703654091808772
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsDetails/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsDetails/content.txt
new file mode 100644
index 0000000000..5a791831e0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsDetails/content.txt
@@ -0,0 +1,9 @@
+A late fee may be charged if equipment is expected to be returned by a certain time. The fee depends on:
+ * How long the item was hired for. There is usually one hour's grace. However, the longer the time, the longer the grace period.
+ * If the return is beyond the grace period, the late fee is based either on the extra time or on the extra time minus the grace period. The choice of approach is defined in a database configuration table that's set up specifically for a hire company and is not likely to change.
+ * The late fee is simply the extra time, as defined above, charged at the usual rate for that item.
+ * However, when the item is in high demand, there is a reduced grace period and an extra late fee is charged. This is especially important for hire items that have been booked out, as the hire company staff would need to source replacement equipment from elsewhere at some cost. The extra late fee may be associated with each hire item.
+
+Note:
+ * This is more detailed than you'd expect to see in an XP project.
+ * More tests are needed for this story.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsDetails/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsDetails/properties.xml
new file mode 100644
index 0000000000..03ef8d723d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsDetails/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085044
+
+
+
+
+
+
+ 1127944831913
+ 8064688948330887945
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsPenalties/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsPenalties/content.txt
new file mode 100644
index 0000000000..a6c3978765
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsPenalties/content.txt
@@ -0,0 +1,17 @@
+|!-hire.TestLate-!|
+|hoursLate|grace|countGrace|highDemand|extraHours()|
+|0|1|true|0|0|
+|0.9|1|false|0|0|
+|1|1|true|0|1|
+|1|1|false|0|0|
+|9|1|true|0|9|
+|19|2|false|0|17|
+
+|!-hire.TestLate-!|
+|hoursLate|grace|countGrace|highDemand|extraHours()|
+|0|1|true|10|0|
+|0.9|1|false|10|0|
+|1|1|true|5|6|
+|1|1|false|12|0|
+|9|1|true|10|19|
+|19|2|false|100|117|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsPenalties/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsPenalties/properties.xml
new file mode 100644
index 0000000000..f493cdccf5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/LateReturnsPenalties/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+ 1127945169943
+ -1269463302974916097
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/TestLateReturns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/TestLateReturns/content.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/TestLateReturns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/TestLateReturns/properties.xml
new file mode 100644
index 0000000000..61a92b5f98
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/TestLateReturns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085044
+
+
+
+
+
+
+
+ 1127950830735
+ 8921406688787438715
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/content.txt
new file mode 100644
index 0000000000..7f0a024f13
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/content.txt
@@ -0,0 +1,5 @@
+^LateReturnsDetails
+
+^LateReturnsPenalties
+
+^TestLateReturns
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/properties.xml
new file mode 100644
index 0000000000..b5dce0b76c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/LateReturns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085044
+
+
+
+
+
+
+
+ 1127950825424
+ -5669197370439761222
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/MixNormalTransactionWithAdminTransaction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/MixNormalTransactionWithAdminTransaction/content.txt
new file mode 100644
index 0000000000..0a224c2d58
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/MixNormalTransactionWithAdminTransaction/content.txt
@@ -0,0 +1,24 @@
+Joanna tries to hire out coffee dispensers, but they have just received a new shipment.
+
+!3 ''Rental of coffee dispensers for 3 days:''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''reject'''|''rent''|2||coffee dispenser|''for''|3 days|
+
+Bill adds the new shipment to the system, while Joanna waits.
+
+|''begin admin transaction''| Bill |
+|''add''|2|''of type''|coffee dispenser|''costing''|20.00|''/hour''|50.00|''/day''|500.00|''/week''|0.00|''bond''|
+|''complete transaction''|
+
+|''rental item subset''|
+| ''name'' | ''free count'' |''hourly rate''|''daily rate''|''weekly rate''|''bond'' |
+| coffee dispenser | 2 | 20.00 | 50.00 | 500.00 | 0.00 |
+
+|''resume transaction for client''| Joanna |
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''pay with cash $''|300.00|
+|''complete transaction''|
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/MixNormalTransactionWithAdminTransaction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/MixNormalTransactionWithAdminTransaction/properties.xml
new file mode 100644
index 0000000000..270f6d4471
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/MixNormalTransactionWithAdminTransaction/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115100
+
+
+
+
+
+
+
+ 1146959460559
+ 7444766581851254631
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/SetUp/content.txt
new file mode 100644
index 0000000000..fc8fdd55a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/SetUp/content.txt
@@ -0,0 +1,21 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Bob|352 2353|
+|Joe|334 2433|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+|John|554 2362|
+|Pual|232 2356|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/SetUp/properties.xml
new file mode 100644
index 0000000000..8238e17bf6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085053
+
+
+
+
+
+
+ 1124056593619
+ 545838939401271187
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddIdentifiedRentalItem/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddIdentifiedRentalItem/content.txt
new file mode 100644
index 0000000000..9eb1c46839
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddIdentifiedRentalItem/content.txt
@@ -0,0 +1,21 @@
+|''begin admin transaction''| Bill |
+|''add''|0|''of type''|barbeque|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+
+|''begin admin transaction''| John |
+|''add''|2|''of type''|party tent|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''complete transaction''|
+
+|''resume admin transaction for''| Bill |
+|''add identified''|bbq001|''of type''|barbeque|''last maintained''|2004/4/15 11:34|''period of''|3|''months''|
+|''complete transaction''|
+
+|''rental item subset''|
+| ''name''| ''free count'' |''hourly rate''|''daily rate''|''weekly rate''|''bond'' |
+|barbeque | 1 | 20.00 | 100.00 | 500.00 | 200.00 |
+| party tent | 2 | 20.00 | 100.00 | 500.00 | 200.00 |
+
+|''identified rental item subset''|
+|''identifier''|''last maintained''|
+|bbq001|2004/4/15 11:34|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddIdentifiedRentalItem/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddIdentifiedRentalItem/properties.xml
new file mode 100644
index 0000000000..08817d4768
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddIdentifiedRentalItem/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115045
+
+
+
+
+
+
+
+ 1146959445057
+ -587347583788712108
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddRentalItem/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddRentalItem/content.txt
new file mode 100644
index 0000000000..0ce238c877
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddRentalItem/content.txt
@@ -0,0 +1,14 @@
+|''begin admin transaction''| Bill |
+|''add''|2|''of type''|party tent|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+
+|''begin admin transaction''| John |
+|''add''|3|''of type''|karaoke machine|''costing''|15.00|''/hour''|60.00|''/day''|300.00|''/week''|200.00|''bond''|
+|''complete transaction''|
+
+|''resume admin transaction for''| Bill |
+|''complete transaction''|
+
+|''rental item subset''|
+| ''name'' | ''free count'' |''hourly rate''|''daily rate''|''weekly rate''|''bond'' |
+| party tent | 2 | 20.00 | 100.00 | 500.00 | 200.00 |
+| karaoke machine | 3 | 15.00 | 60.00 | 300.00 | 200.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddRentalItem/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddRentalItem/properties.xml
new file mode 100644
index 0000000000..efe7a3ee9f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelAddRentalItem/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115034
+
+
+
+
+
+
+
+ 1146959434202
+ 2089691211225266930
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelDuplicateTransactions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelDuplicateTransactions/content.txt
new file mode 100644
index 0000000000..bcd78c7b0f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelDuplicateTransactions/content.txt
@@ -0,0 +1,13 @@
+|''begin admin transaction''| Bill |
+|''add''|2|''of type''|party tent|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+
+|''begin admin transaction''| John |
+|'''reject'''|''add''|2|''of type''|party tent|''costing''|20.00|''/hour''|100.00|''/day''|500.00|''/week''|200.00|''bond''|
+|''complete transaction''|
+
+|''resume admin transaction for''| Bill |
+|''complete transaction''|
+
+|''rental item subset''|
+| ''name'' | ''free count'' |''hourly rate''|''daily rate''|''weekly rate''|''bond'' |
+| party tent | 2 | 20.00 | 100.00 | 500.00 | 200.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelDuplicateTransactions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelDuplicateTransactions/properties.xml
new file mode 100644
index 0000000000..b9d08f789f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/TestParallelDuplicateTransactions/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115052
+
+
+
+
+
+
+
+ 1146959452077
+ 2634182232663169630
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/content.txt
new file mode 100644
index 0000000000..693513c2c0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/content.txt
@@ -0,0 +1,7 @@
+^TestParallelAddRentalItem
+^TestParallelAddIdentifiedRentalItem
+^TestParallelDuplicateTransactions
+^MixNormalTransactionWithAdminTransaction
+
+
+^SetUp
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/properties.xml
new file mode 100644
index 0000000000..89a6a441fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelAdminTransactions/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085053
+
+
+
+
+
+
+
+ 1124057015401
+ 435744203405309768
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/SetUp/content.txt
new file mode 100644
index 0000000000..fc8fdd55a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/SetUp/content.txt
@@ -0,0 +1,21 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Bob|352 2353|
+|Joe|334 2433|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+|John|554 2362|
+|Pual|232 2356|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/SetUp/properties.xml
new file mode 100644
index 0000000000..f254d63a0f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085051
+
+
+
+
+
+
+ 1124056587361
+ -7379369548627625530
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsAndRentalClash/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsAndRentalClash/content.txt
new file mode 100644
index 0000000000..555b318fe1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsAndRentalClash/content.txt
@@ -0,0 +1,20 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''book''|1||Truck|''on''|2004/05/06 11:01|''for''|2 days|
+ * Actions
+|''begin transaction for client''| Bob |''staff''| Bill |
+|'''reject'''|''rent''|1||Truck|''for''|1 day|
+|''complete transaction''|
+
+|''resume transaction for client''| Joanna |
+|''pay with cash $''|4000.00|
+|''complete transaction''|
+ * Checks
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|Truck|1|2004/05/06 11:01|2004/05/08 11:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|1|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsAndRentalClash/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsAndRentalClash/properties.xml
new file mode 100644
index 0000000000..5d2238acab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsAndRentalClash/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115143
+
+
+
+
+
+
+
+ 1146959503291
+ -2743482036594223561
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsClash/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsClash/content.txt
new file mode 100644
index 0000000000..6164511397
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsClash/content.txt
@@ -0,0 +1,20 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''book''|1||Truck|''on''|2004/05/08 09:01|''for''|2 days|
+ * Actions
+|''begin transaction for client''| Bob |''staff''| Bill |
+|'''reject'''|''book''|1||Truck|''on''|2004/05/08 07:01|''for''|1 days|
+|''complete transaction''|
+
+|''resume transaction for client''| Joanna |
+|''pay with cash $''|4000.00|
+|''complete transaction''|
+ * Checks
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|Truck|1|2004/05/08 09:01|2004/05/10 09:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|1|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsClash/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsClash/properties.xml
new file mode 100644
index 0000000000..0ef387d463
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsClash/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115159
+
+
+
+
+
+
+
+ 1146959519424
+ -5417048204418484120
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsDoNotClash/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsDoNotClash/content.txt
new file mode 100644
index 0000000000..f1f334ec63
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsDoNotClash/content.txt
@@ -0,0 +1,25 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''book''|1||Truck|''on''|2004/05/08 09:01|''for''|2 days|
+ * Actions
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''book''|1||Truck|''on''|2004/05/11 07:01|''for''|1 days|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+
+|''resume transaction for client''| Joanna |
+|''pay with cash $''|4000.00|
+|''complete transaction''|
+ * Checks
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|Truck|1|2004/05/08 09:01|2004/05/10 09:01|
+
+|''client booking list''|Bob|
+|''rental item''|''count''|''start date''|''end date''|
+|Truck|1|2004/05/11 07:01|2004/05/12 07:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|1|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsDoNotClash/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsDoNotClash/properties.xml
new file mode 100644
index 0000000000..9a5d06c2d2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestBookingsDoNotClash/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115213
+
+
+
+
+
+
+
+ 1146959533204
+ 642714091152647655
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestCannotResumeNonExistentTransaction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestCannotResumeNonExistentTransaction/content.txt
new file mode 100644
index 0000000000..610d34e3cf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestCannotResumeNonExistentTransaction/content.txt
@@ -0,0 +1 @@
+|'''reject'''|''resume transaction for client''| Joanna |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestCannotResumeNonExistentTransaction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestCannotResumeNonExistentTransaction/properties.xml
new file mode 100644
index 0000000000..c600243edd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestCannotResumeNonExistentTransaction/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085051
+
+
+
+
+
+
+
+ 1123454015617
+ -7715338520777980212
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestItemHireClashing/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestItemHireClashing/content.txt
new file mode 100644
index 0000000000..00fc633ca4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestItemHireClashing/content.txt
@@ -0,0 +1,16 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''rent''|1||Truck|''for''|1 day|
+
+|''begin transaction for client''| Bob |''staff''| Bill |
+|'''reject'''|''rent''|1||Truck|''for''|1 hour|
+|''complete transaction''|
+
+|''resume transaction for client''| Joanna |
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|0|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestItemHireClashing/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestItemHireClashing/properties.xml
new file mode 100644
index 0000000000..63cbcca9cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestItemHireClashing/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115229
+
+
+
+
+
+
+
+ 1146959549798
+ -4666256668822510406
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestOnlyOneClientTransactionAtOnce/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestOnlyOneClientTransactionAtOnce/content.txt
new file mode 100644
index 0000000000..dfea86accd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestOnlyOneClientTransactionAtOnce/content.txt
@@ -0,0 +1,3 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+
+|'''reject'''|''begin transaction for client''| Joanna |''staff''| Bill|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestOnlyOneClientTransactionAtOnce/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestOnlyOneClientTransactionAtOnce/properties.xml
new file mode 100644
index 0000000000..955061234a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestOnlyOneClientTransactionAtOnce/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085051
+
+
+
+
+
+
+
+ 1123454091035
+ 3474772392101148115
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestParallelTransactionStart/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestParallelTransactionStart/content.txt
new file mode 100644
index 0000000000..c51e13c309
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestParallelTransactionStart/content.txt
@@ -0,0 +1,7 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+
+|''begin transaction for client''| Bob |''staff''| John |
+|''complete transaction''|
+
+|''resume transaction for client''| Joanna |
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestParallelTransactionStart/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestParallelTransactionStart/properties.xml
new file mode 100644
index 0000000000..dd64375752
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestParallelTransactionStart/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085052
+
+
+
+
+
+
+
+ 1123453565935
+ -4593633431735828515
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingClash/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingClash/content.txt
new file mode 100644
index 0000000000..e04e979093
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingClash/content.txt
@@ -0,0 +1,21 @@
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''rent''|1||Truck|''for''|1 day|
+ * Actions
+
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|'''reject'''|''book''|1||Truck|''on''|2004/05/06 11:01|''for''|2 days|
+|''complete transaction''|
+
+|''resume transaction for client''| Bob|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+ * Checks
+|''rentals of client''|Bob|
+|''rental item''|''count''|''start date''|''end date''|
+|Truck|1|2004/05/06 09:01|2004/05/07 09:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|0|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingClash/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingClash/properties.xml
new file mode 100644
index 0000000000..d73b29d7ca
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingClash/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115244
+
+
+
+
+
+
+
+ 1146959564088
+ -4978136332255779480
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingDoNotClash/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingDoNotClash/content.txt
new file mode 100644
index 0000000000..e46943d219
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingDoNotClash/content.txt
@@ -0,0 +1,26 @@
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''rent''|1||Truck|''for''|1 day|
+ * Actions
+
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''book''|1||Truck|''on''|2004/05/08 11:01|''for''|2 days|
+|''pay with cash $''|4000.00|
+|''complete transaction''|
+
+|''resume transaction for client''| Bob|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+ * Checks
+|''rentals of client''|Bob|
+|''rental item''|''count''|''start date''|''end date''|
+|Truck|1|2004/05/06 09:01|2004/05/07 09:01|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|Truck|1|2004/05/08 11:01|2004/05/10 11:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|0|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingDoNotClash/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingDoNotClash/properties.xml
new file mode 100644
index 0000000000..3d769c91c3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestRentalAndBookingDoNotClash/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115256
+
+
+
+
+
+
+
+ 1146959576406
+ -5895580522867590272
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestSeveralTransactionsPending/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestSeveralTransactionsPending/content.txt
new file mode 100644
index 0000000000..ff0b042215
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestSeveralTransactionsPending/content.txt
@@ -0,0 +1,13 @@
+ * actions
+|''begin transaction for client''| Joanna |''staff''| Bill|
+
+|''begin transaction for client''| Bob|''staff''| Pual|
+
+|''begin transaction for client''| Joe |''staff''| Bill|
+ * checks
+|''transactions pending''|
+|''client''|''staff''|''owing''|
+|Joanna|Bill|0.00|
+|Bob|Pual|0.00|
+|Joe |Bill|0.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestSeveralTransactionsPending/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestSeveralTransactionsPending/properties.xml
new file mode 100644
index 0000000000..c19d1ced29
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestSeveralTransactionsPending/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085051
+
+
+
+
+
+
+
+ 1123455404835
+ -8365012030188945240
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionPending/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionPending/content.txt
new file mode 100644
index 0000000000..ac20734d42
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionPending/content.txt
@@ -0,0 +1,6 @@
+|''begin transaction for client''| Joanna |''staff''| Bill|
+
+|''transactions pending''|
+|''client''|''staff''|''owing''|
+|Joanna|Bill|0.00|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionPending/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionPending/properties.xml
new file mode 100644
index 0000000000..da6b6cc8bc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionPending/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085051
+
+
+
+
+
+
+
+ 1123454862056
+ -6273813595378271712
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionResume/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionResume/content.txt
new file mode 100644
index 0000000000..135bfc365c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionResume/content.txt
@@ -0,0 +1,9 @@
+ * setup
+|''begin transaction for client''| Joanna |''staff''| Bill|
+ * action
+|''resume transaction for client''|Joanna|
+|''complete transaction''|
+ * checks
+|''transactions pending''|
+|''client''|''staff''|''owing''|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionResume/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionResume/properties.xml
new file mode 100644
index 0000000000..89aeec27d3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionResume/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085051
+
+
+
+
+
+
+
+ 1123455155756
+ -3450783296165569753
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionsWithItemHire/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionsWithItemHire/content.txt
new file mode 100644
index 0000000000..e26f8509e0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionsWithItemHire/content.txt
@@ -0,0 +1,17 @@
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|''rent''|1||Truck|''for''|1 day|
+
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''rent''|1||Tricycle|''for''|1 day|
+|''pay with cash $''|20.00|
+|''complete transaction''|
+
+|''resume transaction for client''| Joanna |
+|''pay with cash $''|2000.00|
+|''complete transaction''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|Truck|0|
+|Tricycle|0|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionsWithItemHire/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionsWithItemHire/properties.xml
new file mode 100644
index 0000000000..b6d6a7ffd9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/TestTransactionsWithItemHire/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115310
+
+
+
+
+
+
+
+ 1146959590737
+ 5122277937013188827
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/content.txt
new file mode 100644
index 0000000000..c377974232
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/content.txt
@@ -0,0 +1,21 @@
+!3 Parallel Rentals
+^TestTransactionPending
+^TestSeveralTransactionsPending
+^TestTransactionResume
+^TestParallelTransactionStart
+^TestTransactionsWithItemHire
+^TestItemHireClashing
+
+^TestCannotResumeNonExistentTransaction
+^TestOnlyOneClientTransactionAtOnce
+
+!3 Parallel Bookings
+
+^TestBookingsClash
+^TestBookingsDoNotClash
+^TestBookingsAndRentalClash
+^TestRentalAndBookingClash
+^TestRentalAndBookingDoNotClash
+
+!3 Parallel Sales
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/properties.xml
new file mode 100644
index 0000000000..1c50851f87
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/ParallelTransactions/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085052
+
+
+
+
+
+
+
+ 1124057703002
+ 6074358922314555070
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/PaymentMixtureTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/PaymentMixtureTable/content.txt
new file mode 100644
index 0000000000..fd2d6f9559
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/PaymentMixtureTable/content.txt
@@ -0,0 +1,6 @@
+|''permitted combination of payments''|
+||''cash''|''account''|''voucher''|''bonus''|
+|''cash''|yes|yes|yes|yes|
+|''account''|yes|yes|yes|yes|
+|''voucher''|yes|yes|yes|no|
+|''bonus''|yes|yes|no|yes|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/PaymentMixtureTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/PaymentMixtureTable/properties.xml
new file mode 100644
index 0000000000..3d18089135
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/PaymentMixtureTable/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1127691253691
+ 1036577844218963107
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/SplitPaymentWithDifferentPaymentMode/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/SplitPaymentWithDifferentPaymentMode/content.txt
new file mode 100644
index 0000000000..00a65cd0e2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/SplitPaymentWithDifferentPaymentMode/content.txt
@@ -0,0 +1,50 @@
+!3 ''Additional Setup''
+ * ''Bill tops up point balance to 25.00''
+|''begin admin transaction''|Bill|
+|''topup''|25.00|''points for client''|Joanna|
+|''complete transaction''|
+
+ * ''Checks the initial point balance''
+|'''check'''|point balance for client|Joanna|25.00|
+
+!3 ''Try to pay with points & voucher and pay with cash instead.''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''rent''|1||hot water dispenser|''for''|3 days|
+|''pay with points $''|25.00|
+|'''reject'''|''pay with voucher $''|50.00|
+|''pay with cash $''|48.20|
+|''complete transaction''|
+
+|'''check'''|point balance for client|Joanna|0.00|
+
+!3 ''Try to pay with points & voucher and pay with account instead.''
+
+ * ''Bill tops up point balance to 25.00''
+|''begin admin transaction''|Bill|
+|''topup''|25.00|''points for client''|Joanna|
+|''complete transaction''|
+
+|check|''account owing for''| Joanna |''is''|0.00|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''rent''|1||hot water dispenser|''for''|3 days|
+|''pay with points $''|25.00|
+|'''reject'''|''pay with voucher $''|50.00|
+|''pay with account $''|48.20|
+|''complete transaction''|
+
+|check|''account owing for''| Joanna |''is''|48.20|
+
+!3 ''Pay with cash & account.''
+|check|''account owing for''| Joanna |''is''|48.20|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''rent''|1||hot water dispenser|''for''|3 days|
+|''pay with account $''|25.00|
+|''pay with cash $''|48.20|
+|''complete transaction''|
+
+|check|''account owing for''| Joanna |''is''|73.20|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/SplitPaymentWithDifferentPaymentMode/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/SplitPaymentWithDifferentPaymentMode/properties.xml
new file mode 100644
index 0000000000..e116d922bd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/SplitPaymentWithDifferentPaymentMode/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1127944529893
+ 4824259076770175521
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/content.txt
new file mode 100644
index 0000000000..82e47dc3bb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/content.txt
@@ -0,0 +1,2 @@
+^PaymentMixtureTable
+^SplitPaymentWithDifferentPaymentMode
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/properties.xml
new file mode 100644
index 0000000000..c04ed439a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PaymentMixture/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+ 1127690723552
+ 71763154492947376
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AddPointSystemToAccount/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AddPointSystemToAccount/content.txt
new file mode 100644
index 0000000000..9c93a5290d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AddPointSystemToAccount/content.txt
@@ -0,0 +1,9 @@
+!3 ''The initial point balance for a client is 0.00''
+|'''check'''|point balance for client|Joanna|0.00|
+
+!3 ''Bill tops up point balance to 10.00''
+|''begin admin transaction''|Bill|
+|''topup''|10.00|''points for client''|Joanna|
+|''complete transaction''|
+
+|'''check'''|point balance for client|Joanna|10.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AddPointSystemToAccount/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AddPointSystemToAccount/properties.xml
new file mode 100644
index 0000000000..ead547171c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AddPointSystemToAccount/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085049
+
+
+
+
+
+
+
+ 1123457191607
+ 2331140634222955064
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AwardBonusPointToCustomer/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AwardBonusPointToCustomer/content.txt
new file mode 100644
index 0000000000..e0a98b3b1f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AwardBonusPointToCustomer/content.txt
@@ -0,0 +1,37 @@
+!3 ''No Rentez Dollar (point) is awarded''
+ * ''The initial point balance for a client is 0.00''
+|'''check'''|point balance for client|Joanna|0.00|
+
+ * ''No Rentez Dollar (point) is awarded for transaction less than $100.00''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''rent''|1||hot water dispenser|''for''|3 days|
+|''pay with cash $''|73.20|
+|''complete transaction''|
+
+ * ''The point balance for a client remains 0.00''
+|'''check'''|point balance for client|Joanna|0.00|
+
+----
+!3 ''5% Rentez Dollar (point) is awarded''
+ * ''Rentez Dollar (point) is awarded for transaction more than $100.00''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|4||coffee dispenser|''for''|3 days|
+|''rent''|2||hot water dispenser|''for''|3 days|
+|''pay with cash $''|146.40|
+|''complete transaction''|
+
+ * ''The point balance for a client changes''
+|'''check'''|point balance for client|Joanna|2.32|
+
+----
+!3 ''10% Rentez Dollar (point) is awarded''
+ * ''More Rentez Dollar (point) is awarded for transaction more than $500.00''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|8||coffee dispenser|''for''|5 days|
+|''rent''|8||hot water dispenser|''for''|5 days|
+|''pay with cash $''|648.00|
+|''complete transaction''|
+
+ * ''The point balance for a client changes''
+|'''check'''|point balance for client|Joanna|37.12|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AwardBonusPointToCustomer/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AwardBonusPointToCustomer/properties.xml
new file mode 100644
index 0000000000..a2c357c584
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/AwardBonusPointToCustomer/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085049
+
+
+
+
+
+
+
+ 1123716893504
+ -8150539952829562050
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointCalculationSystem/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointCalculationSystem/content.txt
new file mode 100644
index 0000000000..5207be4f26
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointCalculationSystem/content.txt
@@ -0,0 +1,11 @@
+ * For every dollar over $100 spent, 5 Rentnz cents are awarded; and for every dollor over $500 spent, 10 Rentnz cents are awarded.
+ * Note: the points will be round up to the nearest cent (e.g. 0.001 -> 0.01)
+|calculated discount|
+|''Actual $ spent''||''Rentnz $''|
+|100.00||0.00|
+|100.01||0.01|
+|100.10||0.01|
+|101.00||0.05|
+|380.00||14.00|
+|500.00||20.00|
+|725.00||42.50|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointCalculationSystem/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointCalculationSystem/properties.xml
new file mode 100644
index 0000000000..025bb4e94e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointCalculationSystem/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1127076107972
+ -5075833404469614498
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForCancelledBookings/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForCancelledBookings/content.txt
new file mode 100644
index 0000000000..5641ce6db7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForCancelledBookings/content.txt
@@ -0,0 +1,27 @@
+---- * Given:
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''book''|8||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 days|
+|''pay with cash $''|131.20|
+|''complete transaction''|
+
+ * Check:
+''The point balance for a client changes:''
+|'''check'''|point balance for client|Joanna|1.56|
+
+---- * Actions:
+|''time is now''|2004/05/08 09:02|
+
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''cancel booking of''|8||coffee dispenser|''on''|2004/05/08 09:01|''for''|2 days|
+|''refund cash $''|131.20|
+|''complete transaction''|
+---- * Checks:
+''The point balance for a client changes:''
+|'''check'''|point balance for client|Joanna|0.00|
+
+|''client booking list''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|20|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForCancelledBookings/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForCancelledBookings/properties.xml
new file mode 100644
index 0000000000..4088963bc6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForCancelledBookings/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115343
+
+
+
+
+
+
+
+ 1146959623524
+ -7645251835151600991
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForDroppedTransasctions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForDroppedTransasctions/content.txt
new file mode 100644
index 0000000000..baa83a8ea9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForDroppedTransasctions/content.txt
@@ -0,0 +1,11 @@
+!3 ''Rentez Dollar (point) is awarded correctly''
+ * ''Rentez Dollar (point) is awarded for transaction more than $100.00''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|5||coffee dispenser|''for''|3 days|
+|''rent''|2||hot water dispenser|''for''|3 days|
+|''drop rent''|2||hot water dispenser|''for''|3 days|
+|''pay with cash $''|123.00|
+|''complete transaction''|
+
+ * ''The point balance for a client changes''
+|'''check'''|point balance for client|Joanna|1.15|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForDroppedTransasctions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForDroppedTransasctions/properties.xml
new file mode 100644
index 0000000000..41a6882971
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/BonusPointsRemovedForDroppedTransasctions/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085049
+
+
+
+
+
+
+
+ 1123717205836
+ -7173203756661545675
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/NotEnoughBonusPoint/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/NotEnoughBonusPoint/content.txt
new file mode 100644
index 0000000000..39740124a9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/NotEnoughBonusPoint/content.txt
@@ -0,0 +1,17 @@
+!3 ''Not Enough Points''
+ * ''Bill tops up point balance to 10.00''
+|''begin admin transaction''|Bill|
+|''topup''|10.00|''points for client''|Joanna|
+|''complete transaction''|
+
+|'''check'''|point balance for client|Joanna|10.00|
+
+!3 ''Try to pay with points, but fails because not enough points avaiable''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''rent''|1||hot water dispenser|''for''|3 days|
+|'''reject'''|''pay with points $''|73.20|
+|''pay with cash $''|73.20|
+|''complete transaction''|
+
+|'''check'''|point balance for client|Joanna|10.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/NotEnoughBonusPoint/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/NotEnoughBonusPoint/properties.xml
new file mode 100644
index 0000000000..bc3e06767b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/NotEnoughBonusPoint/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085048
+
+
+
+
+
+
+
+ 1123458269176
+ -4016581221828267043
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/PaymentByBonusPoint/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/PaymentByBonusPoint/content.txt
new file mode 100644
index 0000000000..867db9d95f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/PaymentByBonusPoint/content.txt
@@ -0,0 +1,17 @@
+!3 ''Additional Setup''
+ * ''Bill tops up point balance to 100.00''
+|''begin admin transaction''|Bill|
+|''topup''|100.00|''points for client''|Joanna|
+|''complete transaction''|
+
+|'''check'''|point balance for client|Joanna|100.00|
+
+!3 ''Pay with points''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''rent''|1||hot water dispenser|''for''|3 days|
+|''pay with points $''|73.20|
+|''complete transaction''|
+
+ * ''No bonus points awarded, because paid by points''
+|'''check'''|point balance for client|Joanna|26.80|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/PaymentByBonusPoint/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/PaymentByBonusPoint/properties.xml
new file mode 100644
index 0000000000..a0207ae639
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/PaymentByBonusPoint/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085048
+
+
+
+
+
+
+
+ 1127294100389
+ -6626700564417375040
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/SetUp/content.txt
new file mode 100644
index 0000000000..30dfa985ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/SetUp/content.txt
@@ -0,0 +1,17 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|20|1.50|8.20|60.00|0.00|
+|hot water dispenser|20|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/SetUp/properties.xml
new file mode 100644
index 0000000000..f344450e25
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1124061071781
+ -2155371130004510200
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/content.txt
new file mode 100644
index 0000000000..1206bb372e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/content.txt
@@ -0,0 +1,9 @@
+^AddPointSystemToAccount
+^BonusPointCalculationSystem
+^AwardBonusPointToCustomer
+^PaymentByBonusPoint
+^NotEnoughBonusPoint
+^BonusPointsRemovedForDroppedTransasctions
+^BonusPointsRemovedForCancelledBookings
+
+^SetUp
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/properties.xml
new file mode 100644
index 0000000000..4a8b817edb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/PromotionsBonusPointSystem/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085049
+
+
+
+
+
+
+
+ 1123716607685
+ 8212283464856226775
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/AlteringTemplateAfterSetup/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/AlteringTemplateAfterSetup/content.txt
new file mode 100644
index 0000000000..baeabea569
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/AlteringTemplateAfterSetup/content.txt
@@ -0,0 +1,27 @@
+!3 Bill created the coffee break template, but then decided to make some changes, so he adjusts the template accordingly.
+
+ * Setup template
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
+
+ * Begin transaction for client
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|''fill template''|coffee break|''for''|30|''people for''|1 day|
+|''pay with cash $''|95.90|
+|''complete transaction''|
+
+ * Alter coffee break
+|''begin admin transaction''| Bill |
+|''alter template''|coffee break|
+|''one''|coffee table|''for''|20|''people''|
+|''delete''|hot water dispenser|
+|''complete transaction''|
+
+ * Begin transaction for client
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|''fill template''|coffee break|''for''|30|''people for''|1 day|
+|''pay with cash $''|129.90|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/AlteringTemplateAfterSetup/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/AlteringTemplateAfterSetup/properties.xml
new file mode 100644
index 0000000000..d64ed8fe9e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/AlteringTemplateAfterSetup/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1123715144924
+ 6567447996653104337
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplate/content.txt
new file mode 100644
index 0000000000..c0243a8a5c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplate/content.txt
@@ -0,0 +1,6 @@
+ * Setup simple template
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplate/properties.xml
new file mode 100644
index 0000000000..cd77c6242d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplate/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1122243846815
+ -2884221405142426777
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplateWithItemLessThanOne/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplateWithItemLessThanOne/content.txt
new file mode 100644
index 0000000000..1690d2b163
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplateWithItemLessThanOne/content.txt
@@ -0,0 +1,24 @@
+!3 Previous experience has shown that more cups than people are needed at a coffee break.
+
+ * Setup template with less than one item
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|0.9|''people''|
+
+ * Begin transaction for client
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|'''check'''|''fill template''|coffee break|''for''|20|''people for''|1 day|76.55|
+|''pay with cash $''|76.55|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|1|2004/05/06 09:01|2004/05/07 09:01|
+|hot water dispenser|1|2004/05/06 09:01|2004/05/07 09:01|
+|coffee table|1|2004/05/06 09:01|2004/05/07 09:01|
+|cup|23|2004/05/06 09:01|2004/05/07 09:01|
+
+Note: The number is rounded up.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplateWithItemLessThanOne/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplateWithItemLessThanOne/properties.xml
new file mode 100644
index 0000000000..4488845482
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/CreateTemplateWithItemLessThanOne/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1122247260766
+ -3909100611861689481
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateMorePeopleThanDivider/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateMorePeopleThanDivider/content.txt
new file mode 100644
index 0000000000..44f9e9e08d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateMorePeopleThanDivider/content.txt
@@ -0,0 +1,20 @@
+ * Setup template
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
+
+ * Begin transaction for client
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|''fill template''|coffee break|''for''|21|''people for''|1 day|
+|''pay with cash $''|91.85|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|hot water dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|coffee table|1|2004/05/06 09:01|2004/05/07 09:01|
+|cup|21|2004/05/06 09:01|2004/05/07 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateMorePeopleThanDivider/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateMorePeopleThanDivider/properties.xml
new file mode 100644
index 0000000000..d4afac746d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateMorePeopleThanDivider/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1123456269264
+ 1280872565368254037
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateNotEnoughItems/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateNotEnoughItems/content.txt
new file mode 100644
index 0000000000..9fd9042637
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateNotEnoughItems/content.txt
@@ -0,0 +1,16 @@
+!2 Not enough cups
+ * Setup template with less than one item
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
+
+ * Begin transaction for client
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|'''not'''|''fill template''|coffee break|''for''|501|''people for''|1 day|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateNotEnoughItems/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateNotEnoughItems/properties.xml
new file mode 100644
index 0000000000..cb026e1fe6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateNotEnoughItems/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1123456446885
+ 6336855863071070817
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplatePartialFails/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplatePartialFails/content.txt
new file mode 100644
index 0000000000..d204988bd2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplatePartialFails/content.txt
@@ -0,0 +1,26 @@
+ * Setup template
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
+
+|''create template''|21st party|
+|''one''|yardie glass|''for''|1000|''people''|
+|''one''|balloon|''for''|10|''people''|
+|''one''|cup|''for''|1|''people''|
+
+ * Client fills 2 templates, 1st one pass, 2nd fails due to the lack of available items
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|'''check'''|''fill template''|coffee break|''for''|21|''people for''|1 day|91.85|
+|'''not'''|''fill template''|21st party|''for''|480|''people for''|1 day|
+|''pay with cash $''|91.85|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|hot water dispenser|2|2004/05/06 09:01|2004/05/07 09:01|
+|coffee table|1|2004/05/06 09:01|2004/05/07 09:01|
+|cup|21|2004/05/06 09:01|2004/05/07 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplatePartialFails/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplatePartialFails/properties.xml
new file mode 100644
index 0000000000..51bf82e9bd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplatePartialFails/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1127949461713
+ 4284801261666505147
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateSimple/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateSimple/content.txt
new file mode 100644
index 0000000000..e945ad8340
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateSimple/content.txt
@@ -0,0 +1,20 @@
+ * Setup template
+|''create template''|coffee break|
+|''one''|coffee dispenser|''for''|20|''people''|
+|''one''|hot water dispenser|''for''|20|''people''|
+|''one''|coffee table|''for''|40|''people''|
+|''one''|cup|''for''|1|''people''|
+
+ * Begin transaction for client
+|''begin transaction for client''|Joanna|''staff''|Bill|
+|''fill template''|coffee break|''for''|20|''people for''|1 day|
+|''pay with cash $''|75.20|
+|''complete transaction''|
+
+ * ''Checks''
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|1|2004/05/06 09:01|2004/05/07 09:01|
+|hot water dispenser|1|2004/05/06 09:01|2004/05/07 09:01|
+|coffee table|1|2004/05/06 09:01|2004/05/07 09:01|
+|cup|20|2004/05/06 09:01|2004/05/07 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateSimple/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateSimple/properties.xml
new file mode 100644
index 0000000000..a3ef80859f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/RentalTemplateSimple/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1127943745083
+ 8195695593662063839
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/SetUp/content.txt
new file mode 100644
index 0000000000..1e8c080789
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/SetUp/content.txt
@@ -0,0 +1,20 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|20|1.50|8.20|60.00|0.00|
+|hot water dispenser|22|1.50|8.00|50.00|0.00|
+|coffee table|10|10.00|50.00|200.00|0.00|
+|cup|500|0.05|0.45|2.00|0.00|
+|yardie glass|20|0.20|1.00|5.00|0.00|
+|balloon|100|0.10|1.20|6.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/SetUp/properties.xml
new file mode 100644
index 0000000000..6c438b8e61
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1123454626316
+ -8904070440126407585
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/content.txt
new file mode 100644
index 0000000000..a3343860ac
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/content.txt
@@ -0,0 +1,11 @@
+^CreateTemplate
+^CreateTemplateWithItemLessThanOne
+^AlteringTemplateAfterSetup
+
+^RentalTemplateSimple
+^RentalTemplateMorePeopleThanDivider
+^RentalTemplateNotEnoughItems
+^RentalTemplatePartialFails
+
+
+^SetUp
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/properties.xml
new file mode 100644
index 0000000000..66fd9e928f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/RentalTemplates/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1122848531578
+ 1363376450786306541
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/SetUp/content.txt
new file mode 100644
index 0000000000..75ccd7921b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/SetUp/content.txt
@@ -0,0 +1,21 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''sales item name''|''count''|''selling price''|
+|coke|10|3.00|
+|chips|10|5.00|
+|cake|10|30.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Bob|352 2353|
+|Joe|334 2433|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+|John|554 2362|
+|Pual|232 2356|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/SetUp/properties.xml
new file mode 100644
index 0000000000..915128997e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085050
+
+
+
+
+
+
+ 1127339501566
+ 738575812289962569
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyCancelled/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyCancelled/content.txt
new file mode 100644
index 0000000000..472fb97422
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyCancelled/content.txt
@@ -0,0 +1,7 @@
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''buy''| 5 || chips |
+|''cancel transaction''|
+
+|sales goods subset|
+| name | count |
+| chips | 10 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyCancelled/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyCancelled/properties.xml
new file mode 100644
index 0000000000..c4d824a340
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyCancelled/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1124315390055
+ 8747604303187870007
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyFails/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyFails/content.txt
new file mode 100644
index 0000000000..7ed3a9c025
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyFails/content.txt
@@ -0,0 +1,7 @@
+|''begin transaction for client''| Bob |''staff''| Bill |
+|'''reject'''|''buy''| 15 || chips |
+|''complete transaction''|
+
+|sales goods subset|
+| name | count |
+| chips | 10 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyFails/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyFails/properties.xml
new file mode 100644
index 0000000000..749f75d315
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuyFails/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1124315342245
+ -8562502935259846100
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuys/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuys/content.txt
new file mode 100644
index 0000000000..e6d8431d92
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuys/content.txt
@@ -0,0 +1,8 @@
+|''begin transaction for client''| Bob |''staff''| Bill |
+|''buy''| 5 || chips |
+|''pay with cash $''|25.00|
+|''complete transaction''|
+
+|sales goods subset|
+| name | count |
+| chips | 5 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuys/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuys/properties.xml
new file mode 100644
index 0000000000..48e70f3605
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/TestBuys/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1124315266445
+ 7725241645403930982
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/content.txt
new file mode 100644
index 0000000000..349e2d3bf3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/content.txt
@@ -0,0 +1,5 @@
+^SetUp
+^TestBuys
+^TestBuyFails
+^TestBuyCancelled
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/properties.xml
new file mode 100644
index 0000000000..804cd8aef1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoods/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085051
+
+
+
+
+
+
+
+ 1124314636877
+ 5387087324381352973
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/AddSalesGoods/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/AddSalesGoods/content.txt
new file mode 100644
index 0000000000..ee2b30b318
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/AddSalesGoods/content.txt
@@ -0,0 +1,9 @@
+|''begin admin transaction''| Bill |
+|''add sales item''|10|''of type''|cake|''costing''|3.00|''each''|
+|''add sales item''|10|''of type''|chips|''costing''|5.00|''each''|
+|''complete transaction''|
+
+|''sales item list''|
+| ''name''| ''count'' |''selling price''|
+| cake | 10 | 3.00 |
+| chips | 10 | 5.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/AddSalesGoods/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/AddSalesGoods/properties.xml
new file mode 100644
index 0000000000..1c036bcbaa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/AddSalesGoods/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1127342138258
+ -27426084509133440
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/ModifySalesGoods/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/ModifySalesGoods/content.txt
new file mode 100644
index 0000000000..9fbac0a4c6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/ModifySalesGoods/content.txt
@@ -0,0 +1,18 @@
+---- Add Sales Goods
+|''begin admin transaction''| Bill |
+|''add sales item''|5|''of type''|cake|''costing''|3.00|''each''|
+|''complete transaction''|
+
+|''sales item list''|
+| ''name''| ''count'' |''selling price''|
+| cake | 5 | 3.00 |
+
+---- Increase count
+|''begin admin transaction''| Bill |
+|''add ''|10|''to sales item of type''|cake|
+|''complete transaction''|
+
+---- Check
+|''sales item list''|
+| ''name''| ''count'' |''selling price''|
+| cake | 15 | 3.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/ModifySalesGoods/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/ModifySalesGoods/properties.xml
new file mode 100644
index 0000000000..bb19d5b8a2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/ModifySalesGoods/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1128286347893
+ -5925977281299936014
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectDuplicateTypes/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectDuplicateTypes/content.txt
new file mode 100644
index 0000000000..a1a408b9ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectDuplicateTypes/content.txt
@@ -0,0 +1,10 @@
+!3 ''The type of the sales goods cannot be duplicated''
+
+|''begin admin transaction''| Bill |
+|''add sales item''|10|''of type''|cake|''costing''|3.00|''each''|
+|'''reject'''|''add sales item''|10|''of type''|cake|''costing''|3.00|''each''|
+|''complete transaction''|
+
+|''sales item list''|
+| ''name''| ''count'' |''selling price''|
+| cake | 10 | 3.00 |
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectDuplicateTypes/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectDuplicateTypes/properties.xml
new file mode 100644
index 0000000000..adab98816c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectDuplicateTypes/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1127342674259
+ -6954409061839604336
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectModifySalesGoods/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectModifySalesGoods/content.txt
new file mode 100644
index 0000000000..f27d863885
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectModifySalesGoods/content.txt
@@ -0,0 +1,8 @@
+Can't modify sales goods that have not been added
+
+|''begin admin transaction''| Bill |
+|''reject''|''add ''|10|''to sales item of type''|cake|
+|''complete transaction''|
+
+|''sales item list''|
+| ''name''| ''count'' |''selling price''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectModifySalesGoods/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectModifySalesGoods/properties.xml
new file mode 100644
index 0000000000..3da86c6593
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/RejectModifySalesGoods/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+
+ 1127343640338
+ 7558316780233174125
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/SetUp/content.txt
new file mode 100644
index 0000000000..e9837c65a5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/SetUp/content.txt
@@ -0,0 +1,7 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2005/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/SetUp/properties.xml
new file mode 100644
index 0000000000..e99ee1f970
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1127341717488
+ -3212761090543971730
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/content.txt
new file mode 100644
index 0000000000..c313655431
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/content.txt
@@ -0,0 +1,6 @@
+^SetUp
+
+^AddSalesGoods
+^RejectDuplicateTypes
+^ModifySalesGoods
+^RejectModifySalesGoods
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/properties.xml
new file mode 100644
index 0000000000..690218909d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SalesGoodsAdminFunction/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085042
+
+
+
+
+
+
+
+ 1127343496988
+ 7691377940742326689
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SetUp/content.txt
new file mode 100644
index 0000000000..d5809316c2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SetUp/content.txt
@@ -0,0 +1,21 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+|coffee pot|20|1.50|12.00|60.00|0.00|
+| coffee urn | 20| 1.50| 12.00|60.00| 50.00|
+| table | 20 | 6.00 | 48.00| 200.00| 80.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Xiaosong|555 1225|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SetUp/properties.xml
new file mode 100644
index 0000000000..3512be3992
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1127291629359
+ 288632049529454254
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/SetUp/content.txt
new file mode 100644
index 0000000000..25b02529b2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/SetUp/content.txt
@@ -0,0 +1,24 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Bob|352 2353|
+|Joe|334 2433|
+|Bill|555 9876|
+|John|554 2362|
+|Pual|232 2356|
+
+|''setup''|
+|''staff name''|''phone''|''Commission %''|''Discount %''|
+|Bill|555 9876|0|0|
+|John|554 2362|10|12.5|
+|Pual|232 2356|20.01|30|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/SetUp/properties.xml
new file mode 100644
index 0000000000..f093809d26
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+ 1124059772041
+ 2620517932125232120
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithDiscount/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithDiscount/content.txt
new file mode 100644
index 0000000000..9a7c027555
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithDiscount/content.txt
@@ -0,0 +1,5 @@
+|''begin transaction for client''| John|''staff''| Bill|
+|''rent''|1||Truck|''for''|1 day|
+|''rent''|1||Tricycle|''for''|1 day|
+|''pay with cash $''|1767.50|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithDiscount/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithDiscount/properties.xml
new file mode 100644
index 0000000000..7be471c530
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithDiscount/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1124059752651
+ 5098649713180579054
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithNoDiscount/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithNoDiscount/content.txt
new file mode 100644
index 0000000000..8733d16d26
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithNoDiscount/content.txt
@@ -0,0 +1,4 @@
+|''begin transaction for client''| Bill|''staff''| John|
+|''rent''|1||Truck|''for''|1 day|
+|''pay with cash $''|2000.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithNoDiscount/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithNoDiscount/properties.xml
new file mode 100644
index 0000000000..e4c94c665e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/TestHireWithNoDiscount/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1124059510340
+ -1329995170029507925
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/content.txt
new file mode 100644
index 0000000000..44fb2d3b9e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/content.txt
@@ -0,0 +1,3 @@
+^SetUp
+^TestHireWithNoDiscount
+^TestHireWithDiscount
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/properties.xml
new file mode 100644
index 0000000000..9028698e0e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffDiscount/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085041
+
+
+
+
+
+
+
+ 1124059492871
+ -7226320349744098275
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/SetUp/content.txt
new file mode 100644
index 0000000000..768b30ddda
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/SetUp/content.txt
@@ -0,0 +1,24 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|Tricycle|1|3.00|20.00|80.00|0.00|
+|Bike|1|30.00|200.00|800.00|0.00|
+|Truck|1|300.00|2000.00|8000.00|0.00|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+|Bob|352 2353|
+|Joe|334 2433|
+|Bill|555 9876|
+|John|554 2362|
+|Pual|232 2356|
+
+|''setup''|
+|''staff name''|''phone''|''Commission %''|
+|Bill|555 9876|0|
+|John|554 2362|10|
+|Pual|232 2356|20.01|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/SetUp/properties.xml
new file mode 100644
index 0000000000..20e7b24366
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+ 1124059073221
+ 7099307065010799096
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/TestNoTransactionForStaffByTheSameStaff/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/TestNoTransactionForStaffByTheSameStaff/content.txt
new file mode 100644
index 0000000000..4f5f6cd46d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/TestNoTransactionForStaffByTheSameStaff/content.txt
@@ -0,0 +1,4 @@
+|'''reject'''|''begin transaction for client''| Pual|''staff''| Pual |
+
+|''begin transaction for client''| Bill|''staff''| Pual |
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/TestNoTransactionForStaffByTheSameStaff/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/TestNoTransactionForStaffByTheSameStaff/properties.xml
new file mode 100644
index 0000000000..28f66c59d4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/TestNoTransactionForStaffByTheSameStaff/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1124059052651
+ -1320614614892393127
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/content.txt
new file mode 100644
index 0000000000..80fe141ae2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/content.txt
@@ -0,0 +1,3 @@
+^SetUp
+^TestNoTransactionForStaffByTheSameStaff
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/properties.xml
new file mode 100644
index 0000000000..5c793c00b9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StaffHire/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1124058937551
+ 9132459071083915069
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/NoRewardPoint/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/NoRewardPoint/content.txt
new file mode 100644
index 0000000000..a3fdd09492
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/NoRewardPoint/content.txt
@@ -0,0 +1,11 @@
+!3 ''Check the initial point balance for a client is zero''
+|'''check'''|point balance for client|Joanna|0.00|
+
+!3 ''Pay using a voucher. No award is given no matter what.''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|6||coffee dispenser|''for''|3 days|
+|''pay with voucher $''|150.00|
+|''complete transaction''|
+
+!3 ''Check the point balance for a client is still zero''
+|'''check'''|point balance for client|Joanna|0.00|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/NoRewardPoint/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/NoRewardPoint/properties.xml
new file mode 100644
index 0000000000..a58b847559
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/NoRewardPoint/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1127087805290
+ -5798641895033807559
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PayByVouchers/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PayByVouchers/content.txt
new file mode 100644
index 0000000000..b073e1ec00
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PayByVouchers/content.txt
@@ -0,0 +1,16 @@
+!3 ''Pay using a voucher. No change is given.''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''pay with voucher $''|50.00|
+|''complete transaction''|
+
+!3 ''Check the point balance for a client is still zero''
+|'''check'''|point balance for client|Joanna|0.00|
+
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee dispenser|2|2004/05/06 09:01|2004/05/09 09:01|
+
+|''rental item subset''|
+|''name''|''free count''|
+|coffee dispenser|8|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PayByVouchers/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PayByVouchers/properties.xml
new file mode 100644
index 0000000000..b99d1714d2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PayByVouchers/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060507115412
+
+
+
+
+
+
+
+ 1146959652145
+ -4781579671928585866
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PurchaseVouchers/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PurchaseVouchers/content.txt
new file mode 100644
index 0000000000..45eead40f4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PurchaseVouchers/content.txt
@@ -0,0 +1,8 @@
+!3 ''Purchase a voucher.''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''ensure'''|''purchase voucher $''|150.00|
+|''complete transaction''|
+
+
+!3 ''Check the point balance for a client has increased''
+|'''check'''|point balance for client|Joanna|2.50|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PurchaseVouchers/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PurchaseVouchers/properties.xml
new file mode 100644
index 0000000000..cfd54863bb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/PurchaseVouchers/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1127347123888
+ -184914508412706904
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/SetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/SetUp/content.txt
new file mode 100644
index 0000000000..66187be5a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/SetUp/content.txt
@@ -0,0 +1,17 @@
+|!-rent.StartApplication-!|
+
+|''setup''|
+|''rental item name''|''count''|''$/hour''|''$/day''|''$/week''|''deposit''|
+|coffee dispenser|10|1.50|8.20|60.00|0.00|
+|hot water dispenser|12|1.50|8.00|50.00|0.00|
+|cup|500|0.05|0.45|2.00|0.10|
+
+|''setup''|
+|''client name''|''phone''|
+|Joanna|373 7599|
+
+|''setup''|
+|''staff name''|''phone''|
+|Bill|555 9876|
+
+|''time is now''| 2004/05/06 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/SetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/SetUp/properties.xml
new file mode 100644
index 0000000000..50983d5d04
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/SetUp/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081124201806
+
+
+
+
+
+
+ 1123458686813
+ 1869858536434922108
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/TestExpiryDate/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/TestExpiryDate/content.txt
new file mode 100644
index 0000000000..a01b6251ee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/TestExpiryDate/content.txt
@@ -0,0 +1,6 @@
+!3 ''Pay using a voucher with expire date.''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|'''reject'''|''pay with voucher $''|50.00|''that expires after''|2004/05/05 17:00|
+|''pay with voucher $''|50.00|''that expires after''|2004/05/06 17:00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/TestExpiryDate/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/TestExpiryDate/properties.xml
new file mode 100644
index 0000000000..2e82139586
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/TestExpiryDate/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1124056521271
+ -3960653421468261999
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/content.txt
new file mode 100644
index 0000000000..081ba30af5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/content.txt
@@ -0,0 +1,6 @@
+^PayByVouchers
+^NoRewardPoint
+^TestExpiryDate
+^PurchaseVouchers
+
+^SetUp
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/properties.xml
new file mode 100644
index 0000000000..09a7722223
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/StoreVouchers/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085043
+
+
+
+
+
+
+
+ 1127087469980
+ 1436819798953651318
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/TestCancelReturn/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/TestCancelReturn/content.txt
new file mode 100644
index 0000000000..65c48552d9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/TestCancelReturn/content.txt
@@ -0,0 +1,25 @@
+!2 Hire items with deposit and return them
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|check|''rent''| 3 || coffee urn |''for''|2 days|222.00 |
+|check|''rent''| 4 || coffee urn |''for''|3 days|344.00 |
+|check|''rent''| 7 || table |''for''|3 days|1568.00 |
+|''pay with cash $''| 2134.00 |
+|''complete transaction''|
+----
+ * Two days later...
+|''time is now''| 2004/05/08 08:30 |
+ * Joanna returns the items and Bob refunds the bond, but Joanna decides to not return them after all:
+|''begin transaction for client''| Joanna |''staff''| Bill |
+|check|''return items''| 3 || coffee urn | -150.00 |
+|''refund cash $''| 150.00 |
+|not|''cancel transaction''|
+|''pay with cash $''| 150.00 |
+|''cancel transaction''|
+ * But she needs to pay Bob back the refunded money first, before it can be cancelled
+
+ * The client's hires are unaltered:
+|''rentals of client''|Joanna|
+|''rental item''|''count''|''start date''|''end date''|
+|coffee urn|3|2004/05/06 09:01|2004/05/08 09:01|
+|coffee urn|4|2004/05/06 09:01|2004/05/09 09:01|
+|table|7|2004/05/06 09:01|2004/05/09 09:01|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/TestCancelReturn/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/TestCancelReturn/properties.xml
new file mode 100644
index 0000000000..ba9a68123f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/TestCancelReturn/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085039
+
+
+
+
+
+
+
+ 1124320529445
+ 4713910613908832228
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/content.txt
new file mode 100644
index 0000000000..cfabf7117e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/content.txt
@@ -0,0 +1 @@
+^TestCancelReturn
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/properties.xml
new file mode 100644
index 0000000000..2dda54eec1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionCancel/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085040
+
+
+
+
+
+
+
+ 1124319758193
+ -8355419423773655913
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestOverpaidRejects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestOverpaidRejects/content.txt
new file mode 100644
index 0000000000..9d3c7de928
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestOverpaidRejects/content.txt
@@ -0,0 +1,7 @@
+!3 ''Transactions actions that fail, as too much paid''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''pay with cash $''|149.20|
+|'''not'''|''complete transaction''|
+|''refund cash $''|100.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestOverpaidRejects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestOverpaidRejects/properties.xml
new file mode 100644
index 0000000000..891442218f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestOverpaidRejects/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085046
+
+
+
+
+
+
+
+ 1124318777074
+ -6274053839642995730
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionCompleteRejects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionCompleteRejects/content.txt
new file mode 100644
index 0000000000..82d345b36f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionCompleteRejects/content.txt
@@ -0,0 +1,3 @@
+!3 Transaction complete fails as it is not yet started:
+
+|not|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionCompleteRejects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionCompleteRejects/properties.xml
new file mode 100644
index 0000000000..b5248a6964
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionCompleteRejects/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1124318084845
+ -3534797280629177394
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionStartRejects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionStartRejects/content.txt
new file mode 100644
index 0000000000..854778a4a3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionStartRejects/content.txt
@@ -0,0 +1,5 @@
+!3 Transaction starts that fail to work:
+
+|'''not'''|''begin transaction for client''|Unknown Client|''staff''|Bill|
+
+|'''not'''|''begin transaction for client''|Joanna|''staff''|Unknown Staff|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionStartRejects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionStartRejects/properties.xml
new file mode 100644
index 0000000000..2bbdf23ae9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestTransactionStartRejects/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1124317527674
+ 2511078850611527843
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnavailableHireItems/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnavailableHireItems/content.txt
new file mode 100644
index 0000000000..85d6f609a8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnavailableHireItems/content.txt
@@ -0,0 +1,5 @@
+!3 ''Transactions actions that fail, as hire items unavailable''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|'''not'''|''rent''|500||coffee dispenser|''for''|3 days|
+|'''not'''|''rent''|500||hot water dispenser|''for''|3 days|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnavailableHireItems/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnavailableHireItems/properties.xml
new file mode 100644
index 0000000000..3e802059a7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnavailableHireItems/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1124318289594
+ -707840927161267017
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnderpaidRejects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnderpaidRejects/content.txt
new file mode 100644
index 0000000000..29737ab800
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnderpaidRejects/content.txt
@@ -0,0 +1,7 @@
+!3 ''Transactions actions that fail, as under paid''
+|''begin transaction for client''| Joanna |''staff''| Bill|
+|''rent''|2||coffee dispenser|''for''|3 days|
+|''pay with cash $''|29.20|
+|'''not'''|''complete transaction''|
+|''pay with cash $''|20.00|
+|''complete transaction''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnderpaidRejects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnderpaidRejects/properties.xml
new file mode 100644
index 0000000000..bffd5fef6a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/TestUnderpaidRejects/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1127343931048
+ 8467915733330866999
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/content.txt
new file mode 100644
index 0000000000..88a4f9617a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/content.txt
@@ -0,0 +1,5 @@
+^TestTransactionStartRejects
+^TestTransactionCompleteRejects
+^TestUnavailableHireItems
+^TestOverpaidRejects
+^TestUnderpaidRejects
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/properties.xml
new file mode 100644
index 0000000000..a47ed7b4c1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/TransactionReject/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060209085047
+
+
+
+
+
+
+
+ 1124316930729
+ -1236657470764853998
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/content.txt b/fitnesse/FitNesseRoot/FitLibrary/RentEz/content.txt
new file mode 100644
index 0000000000..a56d87c814
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/content.txt
@@ -0,0 +1,56 @@
+!3 Example Storytests
+These storytests and associated code were developed in 2004 and 2005 at the University of Auckland, New Zealand.
+
+Rick Mugridge wrote these initial storytests in 2004 for a Software Engineering year 3 project course he taught in agile software development. The storytests were used in 2004 by 70 students, in teams of 6, to develop the software for RentEz in a storytest driven manner.
+
+An earlier version of these storytests served as examples in the ${fitBook}.
+
+In 2005, the best code from 2004 was distributed to 80 students in the next year's version of the project course. Six year 4 students acted as customers and project managers under Rick's supervision, and were responsible for writing new stories and adding considerably to the set of storytests from 2004. These extra storytests served to drive further development work on RentEz by the year 3 students.
+
+In both years, the students met for 6 hours a week for one semester to do their project work. They were discouraged from working on the project outside those times. They practiced all of the XP practices, although only some teams were proficient at TDD.
+
+The storytests distributed here are from the end of the 2005 project course. The code supplied here was from one of the best teams from that year. All the students involved from 2005 have given permission to make these examples available.
+
+|!contents|
+
+^SetUp
+!2 Storytests
+^CashRentals
+^CashReturns
+^CashDeposits
+^AdminFunctions
+^AdminFunctions2
+^BookedRentals
+^SalesGoods
+^ChargeFairly
+^CannotPay
+^AccountHire
+^BookingClash
+^TransactionReject
+^TransactionCancel
+^DroppingTransactionItem
+^RentalTemplates
+^BookingTemplates
+^ParallelTransactions
+^PromotionsBonusPointSystem
+^StoreVouchers
+^PaymentMixture
+^GeneralizedRentalRestrictions
+^CommissionForStaffMembers
+^EditingTransactionItem
+^StaffHire
+^ParallelAdminTransactions
+^StaffDiscount
+^CreditCard
+^GoodsDelivery
+^ClientManagement
+^SalesGoodsAdminFunction
+^DeliveryAdminFunction
+^DeliveryManagement ( ignore for now )
+^LateReturns
+^CompositeTemplate
+
+!path lib/rentEz.jar
+#!path C:\Documents and Settings\RimuResearch\My Documents\work\RentEz\classes
+!define TEST_RUNNER {fitlibrary.suite.FitLibraryServer}
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/RentEz/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/RentEz/properties.xml
new file mode 100644
index 0000000000..78e506d898
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/RentEz/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1228537761703
+ -1163883315986998955
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AddingGlobalActionsObject/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AddingGlobalActionsObject/content.txt
new file mode 100644
index 0000000000..53a19527a4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AddingGlobalActionsObject/content.txt
@@ -0,0 +1,20 @@
+A standard global object provides methods that correspond to standard ''global actions''. For example, the '''comment''' action (which means that the rest of the table is ignored) is a global action defined within the standard global object.
+
+It's possible to add custom global objects with ''global actions'' that can be used anywhere in a suite of storytests.
+
+These are useful for the following:
+
+ * Avoiding the need to mention class and package names in tables
+ * including actions that are useful within a range of storytests. This avoids the need for specialised fixturing code for each such case.
+
+Such ''global objects'' are best added within the ''!-SuiteSetUp-!'' page so that they are available in all storytests in that suite.
+
+For example:
+
+|''add global''|!-fitlibrary.specify.global.ExtraGlobal-!|
+
+An object of the class !-fitlibrary.tutorial.Global-! is added as a global object. This includes a method ''withACalculator()'', which returns an object, so that a storytest can begin with:
+
+|''new global action''|
+
+For an example of using this with a suite, see .FitLibrary.BeginningTutorial.CalculatorBusinessProcessExample. You will need to runt the test to see it all.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AddingGlobalActionsObject/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AddingGlobalActionsObject/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AddingGlobalActionsObject/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessDirectlyToFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessDirectlyToFixture/content.txt
new file mode 100644
index 0000000000..a758a4eadb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessDirectlyToFixture/content.txt
@@ -0,0 +1,28 @@
+!3 Handle Fit fixtures as Alien Evaluators
+!**< def
+!define test {!|fit.specify.AlienEvaluator|
+
+|''!-fit.specify.MyColumnFixture-!''|
+|x|x()|
+|43|43|
+|5|5|
+}
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fit.specify.AlienEvaluator |
+
+
+
+| fit.specify.MyColumnFixture |
+
+| x |
+x() |
+
+| 43 |
+43 |
+
+| 5 |
+5 |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessDirectlyToFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessDirectlyToFixture/properties.xml
new file mode 100644
index 0000000000..f954ad57d6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessDirectlyToFixture/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1240528160483
+ 1758090809632300227
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessThroughAction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessThroughAction/content.txt
new file mode 100644
index 0000000000..769ddc3b0c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessThroughAction/content.txt
@@ -0,0 +1,28 @@
+!3 Handle Fit fixtures as Alien Evaluators
+!**< def
+!define test {!|fit.specify.AlienEvaluator|
+
+|''fixture''|
+|x|x()|
+|43|43|
+|5|5|
+}
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fit.specify.AlienEvaluator |
+
+
+
+| fixture |
+
+| x |
+x() |
+
+| 43 |
+43 |
+
+| 5 |
+5 |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessThroughAction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessThroughAction/properties.xml
new file mode 100644
index 0000000000..0f26ffcce5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/AccessThroughAction/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 1240528189405
+ -7192460939695145151
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/DynamicVariablesSubstitutedForFit/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/DynamicVariablesSubstitutedForFit/content.txt
new file mode 100644
index 0000000000..d0300557a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/DynamicVariablesSubstitutedForFit/content.txt
@@ -0,0 +1,39 @@
+Just before Fit is run on a particular table, all dynamic variables are substituted in that table's cells. This allows Fit tables, used within the context of a ''!-DoFixture-!'' in flow, to make use of dynamic variables that are set from with ''!-FitLibrary-!'' tables/fixtures.
+
+!**< def
+!define test (!|fitlibrary.DoFixture|
+
+|set|fortyThree|to|43|
+
+|!-fit.specify.MyColumnFixture-!|
+|x|x?|
+|43|@{fortyThree}|
+|5|5|
+)
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.DoFixture |
+
+
+
+| set |
+fortyThree |
+to |
+43 |
+
+
+
+| fit.specify.MyColumnFixture |
+
+| x |
+x? |
+
+| 43 |
+43 |
+
+| 5 |
+5 |
+
+
+-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/DynamicVariablesSubstitutedForFit/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/DynamicVariablesSubstitutedForFit/properties.xml
new file mode 100644
index 0000000000..ad10e3629c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/DynamicVariablesSubstitutedForFit/properties.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ 20090424104046
+
+
+
+
+
+
+
+
+ 1240526446731
+ 3859788820036281684
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/content.txt
new file mode 100644
index 0000000000..085d164fab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/content.txt
@@ -0,0 +1,3 @@
+^AccessThroughAction
+^AccessDirectlyToFixture
+^DynamicVariablesSubstitutedForFit
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/properties.xml
new file mode 100644
index 0000000000..fdc63fd735
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AlienEvaluator/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ 20090424103412
+
+
+
+
+
+
+
+
+ 1240526052239
+ -1782023709235554267
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInFirstTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInFirstTable/content.txt
new file mode 100644
index 0000000000..68bc8fe27d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInFirstTable/content.txt
@@ -0,0 +1,13 @@
+|fitlibrary.specify.autowrap.Pojo|
+
+|identity|1|is|1|
+
+|identity|1|becomes|1|
+
+|check|identity|1|1|
+
+|set|x|identity|2|
+
+|get|@{x}|is|2|
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInFirstTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInFirstTable/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInFirstTable/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInLaterTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInLaterTable/content.txt
new file mode 100644
index 0000000000..ccd1065c74
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInLaterTable/content.txt
@@ -0,0 +1,12 @@
+!|fitlibrary.traverse.workflow.DoTraverse|
+
+|set|x|=|2|
+
+|get|@{x}|is|2|
+
+|fitlibrary.specify.autowrap.Pojo|
+|identity|1|is|1|
+
+|identity|1|becomes|1|
+
+|check|identity|1|1|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInLaterTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInLaterTable/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/PojoInLaterTable/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/content.txt
new file mode 100644
index 0000000000..6fc4902533
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/content.txt
@@ -0,0 +1,2 @@
+^PojoInFirstTable
+^PojoInLaterTable
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/properties.xml
new file mode 100644
index 0000000000..5f567cb6b1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/AutoWrapWithDo/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CamelNames/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CamelNames/content.txt
new file mode 100644
index 0000000000..708ac9a7f5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CamelNames/content.txt
@@ -0,0 +1,16 @@
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| name | | getCamelField | get camel field | + |
+| two | | two | two | two+ |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| name | | getCamelField | get camel field | + |
+| two | | two | two | two+ |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CamelNames/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CamelNames/properties.xml
new file mode 100644
index 0000000000..fb2fbe4008
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CamelNames/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153270876600
+ -7202746542643229937
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CannotParse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CannotParse/content.txt
new file mode 100644
index 0000000000..447027c1f8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CannotParse/content.txt
@@ -0,0 +1,18 @@
+!2 An exception is thrown if the input for a field, or the expected value of a method, is of a type that can't be parsed (as it's not defined).
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| calendar | | use |
+| 24 Sept 2003 | | 24 Sept 2003 |
+
-!|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| calendar | | use |
+24 Sept 2003 | | 24 Sept 2003 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CannotParse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CannotParse/properties.xml
new file mode 100644
index 0000000000..dba15b58fd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/CannotParse/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1155961296726
+ -7459886299716137658
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/DoubleUse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/DoubleUse/content.txt
new file mode 100644
index 0000000000..eb9df653d9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/DoubleUse/content.txt
@@ -0,0 +1,48 @@
+!2 One ''!-CalculateFixture-!'' object can be used more than once
+!**< def
+!define test (
+!|fitlibrary.specify.calculate.DoubleUse|
+
+|''calculating''|
+|a|b||c|
+|1|2||3|
+
+|''calculating''|
+|a|b||c|
+|1|2||3|
+)
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.calculate.DoubleUse |
+
+
+
+| calculating |
+
+| a |
+b |
+ |
+c |
+
+| 1 |
+2 |
+ |
+3 |
+
+
+
+| calculating |
+
+| a |
+b |
+ |
+c |
+
+| 1 |
+2 |
+ |
+3 |
+
+
-!|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/DoubleUse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/DoubleUse/properties.xml
new file mode 100644
index 0000000000..97c2915485
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/DoubleUse/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1225512253937
+ 3174509219649923320
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyColumnMissing/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyColumnMissing/content.txt
new file mode 100644
index 0000000000..0f0ee7df78
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyColumnMissing/content.txt
@@ -0,0 +1,15 @@
+!2 An exception is thrown if the empty column is missing.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| unknownField |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+unknownField No calculated column |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyColumnMissing/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyColumnMissing/properties.xml
new file mode 100644
index 0000000000..812e6960cd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyColumnMissing/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153270483334
+ -7332085410180921673
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyGivenNames/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyGivenNames/content.txt
new file mode 100644
index 0000000000..9804e77aa1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyGivenNames/content.txt
@@ -0,0 +1,17 @@
+!2 Given columns don't need to be named. The expected columns appear to the right of the last empty column.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+ | | | sum |
+| 10 | 1 | | 11 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+ | | | sum |
+| 10 | 1 | | 11 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyGivenNames/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyGivenNames/properties.xml
new file mode 100644
index 0000000000..ee1bde7c47
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/EmptyGivenNames/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271160518
+ -2174666089145922395
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/MissingMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/MissingMethod/content.txt
new file mode 100644
index 0000000000..7fc80b3cc7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/MissingMethod/content.txt
@@ -0,0 +1,37 @@
+!2 An exception is thrown if a method doesn't exist.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+ | unknownMethod |
+ | 2 |
+
+
+| calculate |
+| some arg | | unknownMethod |
+| 2 | | 1 |
+
+
+| calculate |
+| some arg | another | | unknownMethod |
+| 2 | 3 | | 1 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+ | unknownMethod Missing method |
+ | 2 |
+
+
+| calculate |
+| some arg | | unknownMethod Missing method |
+| 2 | | 1 |
+
+
+| calculate |
+| some arg | another | | unknownMethod Missing method |
+| 2 | 3 | | 1 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/MissingMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/MissingMethod/properties.xml
new file mode 100644
index 0000000000..31d8778d2e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/MissingMethod/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153270234106
+ 5958404264111027618
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoExpectedColumns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoExpectedColumns/content.txt
new file mode 100644
index 0000000000..53cf6a499f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoExpectedColumns/content.txt
@@ -0,0 +1,15 @@
+!2 An exception is thrown if there are no expected columns; ie, named columns after the last empty column.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+ No calculated column | |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoExpectedColumns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoExpectedColumns/properties.xml
new file mode 100644
index 0000000000..bb56baa10e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoExpectedColumns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271878861
+ -8296631744714391578
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoteColumns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoteColumns/content.txt
new file mode 100644
index 0000000000..5563a1d444
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoteColumns/content.txt
@@ -0,0 +1,21 @@
+!2 All columns after a second empty column are ignored
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus | | notes | notes |
+| 1 | 12 | | 13 | | n | n |
+| -2 | 107 | | 105 | | n n |
+| 0 | 12 | | 13 | | n | n |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus | | notes | notes |
+| 1 | 12 | | 13 | | n | n |
+| -2 | 107 | | 105 | | n n |
+| 0 | 12 | | 13 expected 12 actual | | n | n |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoteColumns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoteColumns/properties.xml
new file mode 100644
index 0000000000..742241a27e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/NoteColumns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271184553
+ 7144341541883464887
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/ResultingObjectIsSubType/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/ResultingObjectIsSubType/content.txt
new file mode 100644
index 0000000000..a4315730b3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/ResultingObjectIsSubType/content.txt
@@ -0,0 +1,45 @@
+!2 If the method returns an object that's a subtype of the result type of the method, use a specialised Parser to parse the expected result and check it.
+!**< def
+!define test (
+!|fitlibrary.specify.calculate.ResultingObjectIsSubType|
+
+|''calculate''|
+|''colour''||''superclass''|
+|red||red|
+
+|''calculate''|
+|''colour''||''interface''|
+|red||red|
+
+)
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.calculate.ResultingObjectIsSubType |
+
+
+
+| calculate |
+
+| colour |
+ |
+superclass |
+
+| red |
+ |
+red |
+
+
+
+| calculate |
+
+| colour |
+ |
+interface |
+
+| red |
+ |
+red |
+
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/ResultingObjectIsSubType/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/ResultingObjectIsSubType/properties.xml
new file mode 100644
index 0000000000..ba628e9fc7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/ResultingObjectIsSubType/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1225512293390
+ -1796944726981298897
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsLong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsLong/content.txt
new file mode 100644
index 0000000000..3bb946953f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsLong/content.txt
@@ -0,0 +1,17 @@
+!2 A row that's too long leads to an exception.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus |
+| 1 | 12 | | 13 | 14 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus |
+1 Row should be 4 cells wide | 12 | | 13 | 14 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsLong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsLong/properties.xml
new file mode 100644
index 0000000000..ae52134d78
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsLong/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271901534
+ 519447056936584041
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsShort/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsShort/content.txt
new file mode 100644
index 0000000000..7aae3133ba
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsShort/content.txt
@@ -0,0 +1,21 @@
+!2 Rows can be incomplete, with warning.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus |
+| 1 | 12 |
+| 1 | 12 | |
+| 1 | 12 | | 13 | 14 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus |
+1 Row should be 4 cells wide | 12 |
+1 Row should be 4 cells wide | 12 | |
+1 Row should be 4 cells wide | 12 | | 13 | 14 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsShort/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsShort/properties.xml
new file mode 100644
index 0000000000..837d8cae64
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/RowsShort/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271125578
+ -681375170080285182
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyBlank/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyBlank/content.txt
new file mode 100644
index 0000000000..ad780acffc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyBlank/content.txt
@@ -0,0 +1,23 @@
+!2 If a field cell contains a repeat string that has been defined by the fixture (here ''), the previous value is provided instead for that cell in the result.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest3 |
+
+
+| calc |
+| a | b | | plus |
+| 0 | 0 | | 0 |
+ | 1 | | 1 |
+| -1 | | | 0 |
+| 1 | 2 | | 3 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest3 |
+
+
+| calc |
+| a | b | | plus |
+| 0 | 0 | | 0 |
+ | 1 | | 1 |
+| -1 | | | 0 |
+| 1 | 2 | | 3 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyBlank/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyBlank/properties.xml
new file mode 100644
index 0000000000..5cc0fe29d5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyBlank/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120414
+
+
+
+
+
+
+
+ 1153271807919
+ -2671785944531637649
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyDoubleQuote/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyDoubleQuote/content.txt
new file mode 100644
index 0000000000..7ed8696782
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyDoubleQuote/content.txt
@@ -0,0 +1,23 @@
+!2 If a field cell contains a repeat string that has been defined by the fixture (here '"'), the previous value is provided instead for that cell in the result.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest2 |
+
+
+| calc |
+| a | b | | plus |
+| 0 | 0 | | 0 |
+| " | 1 | | 1 |
+| -1 | " | | 0 |
+| 1 | 2 | | 3 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest2 |
+
+
+| calc |
+| a | b | | plus |
+| 0 | 0 | | 0 |
+| " | 1 | | 1 |
+| -1 | " | | 0 |
+| 1 | 2 | | 3 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyDoubleQuote/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyDoubleQuote/properties.xml
new file mode 100644
index 0000000000..5a247e5219
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialEmptyDoubleQuote/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271681828
+ 5325393806818855466
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialError/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialError/content.txt
new file mode 100644
index 0000000000..b9a24dc265
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialError/content.txt
@@ -0,0 +1,20 @@
+!3 Exceptions are expected when a special string is supplied by the fixture, such as "exception". If the cell is blank and an exception is thrown, "error" is reported. The exception is reported if something else was expected.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest2 |
+
+
+| calc |
+ | exception method |
+ | exception |
+ | no exception |
+
-!|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest2 |
+
+
+| calc |
+ | exception method |
+ | exception |
+ | no exception
|
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialError/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialError/properties.xml
new file mode 100644
index 0000000000..9c9cefbf5b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialError/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081124201810
+
+
+
+
+
+
+
+ 1153271566572
+ -4735813490533137686
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialErrorWrong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialErrorWrong/content.txt
new file mode 100644
index 0000000000..e0f88b49ab
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialErrorWrong/content.txt
@@ -0,0 +1,17 @@
+!3 It's wrong if an exception is not thrown when it's expected.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest2 |
+
+
+| calc |
+| a | b | | plus |
+| 1 | 2 | | exception |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest2 |
+
+
+| calc |
+| a | b | | plus |
+| 1 | 2 | | exception |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialErrorWrong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialErrorWrong/properties.xml
new file mode 100644
index 0000000000..bf80d689e6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/SpecialErrorWrong/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271649571
+ -5046131970428573945
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestDifferingResults/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestDifferingResults/content.txt
new file mode 100644
index 0000000000..fc706f9557
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestDifferingResults/content.txt
@@ -0,0 +1,31 @@
+!2 A method need not take any arguments and may return different results on each call.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+ | increment |
+ | 1 |
+ | 2 |
+
+
+| calculate |
+ | increment | increment |
+ | 3 | 4 |
+ | 5 | 6 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+ | increment |
+ | 1 |
+ | 2 |
+
+
+| calculate |
+ | increment | increment |
+ | 3 | 4 |
+ | 5 | 6 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestDifferingResults/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestDifferingResults/properties.xml
new file mode 100644
index 0000000000..b644c48f73
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestDifferingResults/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120414
+
+
+
+
+
+
+
+ 1153271096947
+ -5409011952379006936
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestGraphics/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestGraphics/content.txt
new file mode 100644
index 0000000000..dc6864c4df
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestGraphics/content.txt
@@ -0,0 +1,19 @@
+!2 The values can be graphic
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| 1 | 2 | | + |
+| a | b | | |
+| A | B | | |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| 1 | 2 | | + |
+| a | b | | |
+| A | B | | |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestGraphics/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestGraphics/properties.xml
new file mode 100644
index 0000000000..17b73bbc32
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestGraphics/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271841938
+ 5615900195206853262
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestLeftToRight/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestLeftToRight/content.txt
new file mode 100644
index 0000000000..849daf1eb4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestLeftToRight/content.txt
@@ -0,0 +1,19 @@
+!2 Inputs and outputs are processed from left to right. Processing continues across a row even if an earlier method call was wrong.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | | plus | plus |
+| 1 | | 1 | 1 |
+| 2 | | 0 | 2 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | | plus | plus |
+| 1 | | 1 | 1 |
+| 2 | | 0 expected 2 actual | 2 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestLeftToRight/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestLeftToRight/properties.xml
new file mode 100644
index 0000000000..a2b0a921c2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestLeftToRight/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271070509
+ -914929711703074092
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUp/content.txt
new file mode 100644
index 0000000000..38e1db5aff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUp/content.txt
@@ -0,0 +1,16 @@
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.DoCalculateFixtureSetUp |
+
+
+| calc set up |
+| a | | result |
+| 1 | | 2 |
+
-!|!-
+| fitlibrary.specify.DoCalculateFixtureSetUp |
+
+
+| calc set up |
+| a | | result |
+| 1 | | 2 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUp/properties.xml
new file mode 100644
index 0000000000..2122a872f2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUp/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120414
+
+
+
+
+
+
+
+ 1137289414450
+ 4293143767444376966
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUpException/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUpException/content.txt
new file mode 100644
index 0000000000..e53358514e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUpException/content.txt
@@ -0,0 +1,17 @@
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.DoCalculateFixtureSetUp |
+
+
+| calculate set up with exception |
+| a | | result |
+| 1 | | 2 |
+
-!|!-
+| fitlibrary.specify.DoCalculateFixtureSetUp |
+
+
+calculate set up with exception
|
+| a | | result |
+| 1 | | 2 |
+
-!|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUpException/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUpException/properties.xml
new file mode 100644
index 0000000000..8dbe2cae80
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestNonFlowSetUpException/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120414
+
+
+
+
+
+
+
+ 1137289949409
+ -7050689884185405336
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUp/content.txt
new file mode 100644
index 0000000000..ac722f1c46
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUp/content.txt
@@ -0,0 +1,10 @@
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureSetUp |
+| a | | result |
+| 1 | | 2 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureSetUp |
+| a | | result |
+| 1 | | 2 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUp/properties.xml
new file mode 100644
index 0000000000..c5779577a4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUp/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120414
+
+
+
+
+
+
+
+ 1137287536609
+ -5481750406729260815
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUpExceptionShown/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUpExceptionShown/content.txt
new file mode 100644
index 0000000000..222d2205f4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUpExceptionShown/content.txt
@@ -0,0 +1,13 @@
+ * setUp() is called once the fixture object has started running the table
+ * If it throws an exception inside setUp(), this is shown in the report (and it continues)
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureSetUpWithException |
+| a | | result |
+| 1 | | 2 |
+
-!|!-
+fitlibrary.specify.CalculateFixtureSetUpWithException
|
+| a | | result |
+| 1 | | 2 |
+
-!|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUpExceptionShown/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUpExceptionShown/properties.xml
new file mode 100644
index 0000000000..f8e6ff2d7a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestSetUpExceptionShown/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101174653
+
+
+
+
+
+
+
+ 1225514813609
+ 7102375403952097025
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestTearDown/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestTearDown/content.txt
new file mode 100644
index 0000000000..ae9b68db48
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestTearDown/content.txt
@@ -0,0 +1,16 @@
+ * tearDown() is called once the fixture object has finished running the table
+ * To check this has happened, the fixture here throws an exception inside tearDown()
+ * So we check that that has happened
+ * The calculation row also throws an exception, and we check that that's also reported, and that tearDown() is still called
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureTearDown |
+| a | | result |
+| 1 | | 2 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureTearDown |
+| a | | result |
+| 1 | | 2
|
+
+
Error in storytest tear down:
|
-!|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestTearDown/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestTearDown/properties.xml
new file mode 100644
index 0000000000..09b9371f01
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/TestTearDown/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1166230161244
+ -5245123654193388282
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/content.txt
new file mode 100644
index 0000000000..53f7b3b1d6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/content.txt
@@ -0,0 +1,6 @@
+^TestSetUp
+^TestTearDown
+^TestSetUpExceptionShown
+
+^TestNonFlowSetUp
+^TestNonFlowSetUpException
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/properties.xml
new file mode 100644
index 0000000000..1e1e95f538
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSetUpTearDown/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20061216134957
+
+
+
+
+
+
+
+ 1166230197706
+ 3992966996912218068
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSeveralMethods/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSeveralMethods/content.txt
new file mode 100644
index 0000000000..a7cdc4ef53
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSeveralMethods/content.txt
@@ -0,0 +1,17 @@
+!2 A table can include several methods.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus | minus |
+| 1 | 12 | | 13 | -11 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus | minus |
+| 1 | 12 | | 13 | -11 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSeveralMethods/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSeveralMethods/properties.xml
new file mode 100644
index 0000000000..2e7ba1d73e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestSeveralMethods/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153271041617
+ 8852517693796737060
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsExplicit/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsExplicit/content.txt
new file mode 100644
index 0000000000..ca0aa504aa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsExplicit/content.txt
@@ -0,0 +1,21 @@
+!2 Usual operation of ''!-CalculateFixture-!''
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus |
+| 1 | 12 | | 13 |
+| -2 | 107 | | 105 |
+| 0 | 12 | | 13 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus |
+| 1 | 12 | | 13 |
+| -2 | 107 | | 105 |
+| 0 | 12 | | 13 expected 12 actual |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsExplicit/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsExplicit/properties.xml
new file mode 100644
index 0000000000..ee157708e6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsExplicit/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153270912952
+ 2914473109346436008
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsFail/content.txt
new file mode 100644
index 0000000000..e2fa760c54
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsFail/content.txt
@@ -0,0 +1,17 @@
+!2 Wrong values are reported
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus |
+| 0 | 12 | | 13 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | b | | plus |
+| 0 | 12 | | 13 expected 12 actual |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsFail/properties.xml
new file mode 100644
index 0000000000..8ce6ba63e4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/TestsFail/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153270934643
+ -926083599675418209
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/VoidMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/VoidMethod/content.txt
new file mode 100644
index 0000000000..82b45bff81
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/VoidMethod/content.txt
@@ -0,0 +1,17 @@
+!2 An exception is thrown if a method doesn't return a value (is void).
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| | voidMethod |
+| | 2 |
+
-!|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| | voidMethod Method voidMethod is void. |
+| | 2 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/VoidMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/VoidMethod/properties.xml
new file mode 100644
index 0000000000..e98171e412
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/VoidMethod/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120415
+
+
+
+
+
+
+
+ 1153272002569
+ 2060173600472208666
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/WrongType/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/WrongType/content.txt
new file mode 100644
index 0000000000..2c464545b1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/WrongType/content.txt
@@ -0,0 +1,18 @@
+!2 An exception is thrown if the input for a field, or the expected value of a method, is of the wrong type.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | | plus |
+| one | | one |
+
-!|
+|!-
+| fitlibrary.specify.CalculateFixtureUnderTest |
+
+
+| calculate |
+| a | | plus |
+one Invalid Number | | one |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/WrongType/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/WrongType/properties.xml
new file mode 100644
index 0000000000..16cc888b33
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/WrongType/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120414
+
+
+
+
+
+
+
+ 1154132533894
+ -2310023306340795232
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/content.txt
new file mode 100644
index 0000000000..a92e03540b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/content.txt
@@ -0,0 +1,28 @@
+^TestsExplicit
+^TestsFail
+^TestSeveralMethods
+!3 Details of operation
+^TestLeftToRight
+^TestDifferingResults
+^RowsShort
+^CamelNames
+^EmptyGivenNames
+^NoteColumns
+^DoubleUse
+^TestSetUpTearDown
+^ResultingObjectIsSubType
+!3 Two special cell contents
+^SpecialError
+^SpecialErrorWrong
+^SpecialEmptyDoubleQuote
+^SpecialEmptyBlank
+!3 Graphics
+^TestGraphics
+!3 Error Conditions
+^EmptyColumnMissing
+^NoExpectedColumns
+^MissingMethod
+^VoidMethod
+^WrongType
+^CannotParse
+^RowsLong
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/properties.xml
new file mode 100644
index 0000000000..26a6881a06
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CalculateTraverse/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20090118160717
+
+
+
+
+
+
+
+ 1232248037812
+ -7021969304654782705
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/DirectSut/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/DirectSut/content.txt
new file mode 100644
index 0000000000..3b88c35d83
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/DirectSut/content.txt
@@ -0,0 +1,14 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.DirectCombination |
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 | 3 |
+| 2 | 2 | 4 | 6 |
+| 3 | 3 | 6 | 10 |
+
-!|!-
+| fitlibrary.specify.DirectCombination |
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 | 3 |
+| 2 | 2 | 4 | 6 |
+| 3 | 3 | 6 | 10 expected 9 actual |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/DirectSut/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/DirectSut/properties.xml
new file mode 100644
index 0000000000..51cc77dc77
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/DirectSut/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120429
+
+
+
+
+
+
+
+ 1131874101671
+ -6185663331303617540
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/MixedTypes/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/MixedTypes/content.txt
new file mode 100644
index 0000000000..80e6e7f059
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/MixedTypes/content.txt
@@ -0,0 +1,14 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.MixedCombination |
+| | 1 | 2 |
+| a | true | false |
+| b | true | false |
+| c | true | true |
+
-!|!-
+| fitlibrary.specify.MixedCombination |
+| | 1 | 2 |
+| a | true | false |
+| b | true | false |
+| c | true | true expected false actual |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/MixedTypes/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/MixedTypes/properties.xml
new file mode 100644
index 0000000000..99dd8cfb97
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/MixedTypes/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120429
+
+
+
+
+
+
+
+ 1131874114406
+ 3936507405268744385
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/SimpleExample/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/SimpleExample/content.txt
new file mode 100644
index 0000000000..51892b831e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/SimpleExample/content.txt
@@ -0,0 +1,14 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.TimesCombination |
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 | 3 |
+| 2 | 2 | 4 | 6 |
+| 3 | 300 | 6 | 9 |
+
-!|!-
+| fitlibrary.specify.TimesCombination |
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 | 3 |
+| 2 | 2 | 4 | 6 |
+| 3 | 300 expected 3 actual | 6 | 9 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/SimpleExample/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/SimpleExample/properties.xml
new file mode 100644
index 0000000000..178b2434a1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/SimpleExample/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120429
+
+
+
+
+
+
+
+ 1131874126609
+ 1709534520000666288
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/TestSetUp/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/TestSetUp/content.txt
new file mode 100644
index 0000000000..1783612d75
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/TestSetUp/content.txt
@@ -0,0 +1,34 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.TimesCombinationSetUp |
+
+
+| combine |
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 | 3 |
+| 2 | 2 | 4 | 6 |
+| 3 | 300 | 6 | 9 |
+
+
+| combine |
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 | 3 |
+| 2 | 2 | 4 | 6 |
+| 3 | 300 | 6 | 9 |
+
-!|!-
+| fitlibrary.specify.TimesCombinationSetUp |
+
+
+combine
|
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 | 3 |
+| 2 | 2 | 4 | 6 |
+| 3 | 300 expected 3 actual | 6 | 9 |
+
+
+combine
|
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 | 3 |
+| 2 | 2 | 4 | 6 |
+| 3 | 300 expected 3 actual | 6 | 9 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/TestSetUp/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/TestSetUp/properties.xml
new file mode 100644
index 0000000000..02620ed77e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/TestSetUp/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120429
+
+
+
+
+
+
+
+ 1153272551198
+ -626702659103543633
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongData/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongData/content.txt
new file mode 100644
index 0000000000..c40b8796c6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongData/content.txt
@@ -0,0 +1,13 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.TimesCombination |
+| | 1 | x |
+| 1 | 1 | 2 |
+| 2 | y | 4 |
+
-!|
+|!-
+| fitlibrary.specify.TimesCombination |
+| | 1 | x Invalid Number |
+| 1 | 1 | 2 |
+| 2 | y | 4 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongData/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongData/properties.xml
new file mode 100644
index 0000000000..fc8e462846
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongData/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120429
+
+
+
+
+
+
+
+ 1154132626357
+ -4472740515223178401
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongRows/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongRows/content.txt
new file mode 100644
index 0000000000..cdcdf20dd9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongRows/content.txt
@@ -0,0 +1,12 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.TimesCombination |
+| | 1 | 2 | 3 |
+| 1 | 1 | 2 |
+| 2 | 2 | 4 | 6 | 9 |
+
-!|!-
+| fitlibrary.specify.TimesCombination |
+| | 1 | 2 | 3 |
+1 Missing table cells | 1 | 2 |
+2 Extra table cells | 2 | 4 | 6 | 9 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongRows/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongRows/properties.xml
new file mode 100644
index 0000000000..fb5b582f75
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/WrongRows/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120429
+
+
+
+
+
+
+
+ 1136088707968
+ 2556322910046367180
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/content.txt
new file mode 100644
index 0000000000..78f20026a7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/content.txt
@@ -0,0 +1,7 @@
+^SimpleExample
+^MixedTypes
+^DirectSut
+^TestSetUp
+
+^WrongRows
+^WrongData
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/properties.xml
new file mode 100644
index 0000000000..2338c51bc6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/CombinationTraverse/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120429
+
+
+
+
+
+
+
+ 1137292422375
+ -4437613548117244791
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToFail/content.txt
new file mode 100644
index 0000000000..7f7696a689
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToFail/content.txt
@@ -0,0 +1,34 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.FailConstraint |
+
+| b |
+a |
+
+| 1 |
+2 |
+
+
+| 2 |
+3 |
+
+| 3 |
+2 |
+
+
-!|!-
+| fitlibrary.specify.FailConstraint |
+
+| b |
+a |
+
+| 1 |
+2 |
+
+
+| 2 |
+3 |
+
+| 3 |
+2 |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToFail/properties.xml
new file mode 100644
index 0000000000..4bd9aaa80e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToFail/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20061217161434
+
+
+
+
+
+
+
+ 1131874155109
+ -7332237174878055808
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToSucceed/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToSucceed/content.txt
new file mode 100644
index 0000000000..b03aeeb757
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToSucceed/content.txt
@@ -0,0 +1,33 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SucceedConstraint |
+
+| a |
+b |
+
+| 1 |
+2 |
+
+
+| 2 |
+3 |
+
+| 3 |
+4 |
+
+
-!|!-
+| fitlibrary.specify.SucceedConstraint |
+
+| a |
+b |
+
+| 1 |
+2 |
+
+
+| 2 |
+3 |
+
+| 3 |
+4 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToSucceed/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToSucceed/properties.xml
new file mode 100644
index 0000000000..8360e8653d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/ExpectedToSucceed/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120443
+
+
+
+
+
+
+
+ 1137291980229
+ -8367835585082585488
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/NotBoolean/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/NotBoolean/content.txt
new file mode 100644
index 0000000000..5fdb1e8ff2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/NotBoolean/content.txt
@@ -0,0 +1,14 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SucceedConstraint |
+
+| b |
+c |
+
+
-!|!-
+| fitlibrary.specify.SucceedConstraint |
+
+b Method bC does not return a boolean. |
+c |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/NotBoolean/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/NotBoolean/properties.xml
new file mode 100644
index 0000000000..0766269dc2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/NotBoolean/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120443
+
+
+
+
+
+
+
+ 1131874177343
+ -8918397053103756770
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/RowsWrong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/RowsWrong/content.txt
new file mode 100644
index 0000000000..7388702ff4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/RowsWrong/content.txt
@@ -0,0 +1,14 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SucceedConstraint |
+
+| a | b |
+| 1 |
+| 1 | 2 | 2 |
+
-!|!-
+| fitlibrary.specify.SucceedConstraint |
+
+| a | b |
+1 Row should be 2 cells wide |
+1 Row should be 2 cells wide | 2 | 2 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/RowsWrong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/RowsWrong/properties.xml
new file mode 100644
index 0000000000..eaab2b6c22
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/RowsWrong/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120443
+
+
+
+
+
+
+
+ 1131874186296
+ 4849225216159713038
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/TestSetUpCall/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/TestSetUpCall/content.txt
new file mode 100644
index 0000000000..c250cf5599
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/TestSetUpCall/content.txt
@@ -0,0 +1,30 @@
+!3 Methods setUp() and tearDown() are both called
+The class is defined so that the ''setUp()'' method has to be called for the first table to succeed. The ''tearDown()'' method throws an exception, which we check for. This is a round-about way to verify that the ''teardown()'' method has been called, because it's the last thing that happens.
+!**< def
+!define test (!|fitlibrary.specify.constraint.SetUpAndTearDownCalled|
+
+|''constraint''|
+|''a''|''b''|
+|1|2|
+|2|3|
+)
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.constraint.SetUpAndTearDownCalled |
+
+
+
+| constraint |
+
+| a |
+b |
+
+| 1 |
+2 |
+
+| 2 |
+3 |
+
+
+
Error in storytest tear down:
|
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/TestSetUpCall/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/TestSetUpCall/properties.xml
new file mode 100644
index 0000000000..ee67e1f2ea
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/TestSetUpCall/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1254094714528
+ -5296035122497097137
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/UnknownMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/UnknownMethod/content.txt
new file mode 100644
index 0000000000..0b19e7e6f9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/UnknownMethod/content.txt
@@ -0,0 +1,15 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SucceedConstraint |
+
+| b | m |
+| 1 | 2 |
+
-!|!-
+| fitlibrary.specify.SucceedConstraint |
+
+b Missing method | m |
+| 1 | 2 |
+
-!|
+
+extra
+extra
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/UnknownMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/UnknownMethod/properties.xml
new file mode 100644
index 0000000000..be1fc4a29a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/UnknownMethod/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20080914173947
+
+
+
+
+
+
+
+ 1221370787062
+ 409978401505493225
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/content.txt
new file mode 100644
index 0000000000..caa78cee48
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/content.txt
@@ -0,0 +1,7 @@
+^ExpectedToSucceed
+^ExpectedToFail
+^TestSetUpCall
+
+^UnknownMethod
+^NotBoolean
+^RowsWrong
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/properties.xml
new file mode 100644
index 0000000000..c173a0f61c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/ConstraintTraverse/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120443
+
+
+
+
+
+
+
+ 1137291884561
+ -4327327561887681010
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/GetterSetterUnknown/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/GetterSetterUnknown/content.txt
new file mode 100644
index 0000000000..83cb75381a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/GetterSetterUnknown/content.txt
@@ -0,0 +1,26 @@
+!**< define
+!define test (!|fitlibrary.specify.calculate.RuleTableExample|
+|in|in3|out3?|
+|1|1|2|
+|2|2|4|
+)
+
+*!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|
+|!-
+| fitlibrary.specify.calculate.RuleTableExample |
+
+| in |
+in3 Missing method, possibly: - public void setIn3(ArgType in3) { }
In:- fitlibrary.specify.calculate.RuleTableExample
- fitlibrary.specify.calculate.RuleTableExample.Sut
|
+out3? Missing method, possibly: - public Rule getOut3() { }
In:- fitlibrary.specify.calculate.RuleTableExample
- fitlibrary.specify.calculate.RuleTableExample.Sut
|
+
+| 1 |
+1 |
+2 |
+
+| 2 |
+2 |
+4 |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/GetterSetterUnknown/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/GetterSetterUnknown/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/GetterSetterUnknown/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/MethodsThrowExceptions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/MethodsThrowExceptions/content.txt
new file mode 100644
index 0000000000..9f36274137
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/MethodsThrowExceptions/content.txt
@@ -0,0 +1,83 @@
+!**< define
+!define test (!|fitlibrary.specify.calculate.RuleTableMethodsThrowExceptions|
+|in throws exception|in|out throws exception|out?|reset throws exception|execute throws exception|
+| false |1 | false | 1 | false | false |
+| true |1 | false | 1 | false | false |
+| false |1 | true | 1 | false | false |
+| false |1 | false | 1 | true | false |
+| false |1 | false | 1 | false | false |
+| false |1 | false | 1 | false | true |
+| false |1 | false | 1 | false | true |
+| false |1 | false | 1 | false | false |
+)
+
+*!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|
+|!-
+| fitlibrary.specify.calculate.RuleTableMethodsThrowExceptions |
+
+| in throws exception |
+in |
+out throws exception |
+out? |
+reset throws exception |
+execute throws exception |
+
+| false |
+1 |
+false |
+1 |
+false |
+false |
+
+| true |
+1 in exception |
+false |
+1 |
+false |
+false |
+
+| false |
+1 |
+true |
+1 out exception |
+false |
+false |
+
+| false |
+1 |
+false |
+1 |
+true |
+false |
+
+false reset exception |
+1 |
+false |
+1 |
+false |
+false |
+
+| false |
+1 |
+false |
+1 |
+false |
+true |
+
+| false |
+1 |
+false |
+1 execute exception |
+false |
+true |
+
+| false |
+1 |
+false |
+1 |
+false |
+false |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/MethodsThrowExceptions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/MethodsThrowExceptions/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/MethodsThrowExceptions/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/OneInAndOneOut/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/OneInAndOneOut/content.txt
new file mode 100644
index 0000000000..f71c77c10f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/OneInAndOneOut/content.txt
@@ -0,0 +1,35 @@
+!**< define
+!define test (!|fitlibrary.specify.calculate.RuleTableExample|
+|in|in2|out?|
+|1|1|2|
+|2|2|4|
+|3|4|8|
+|a|b|c|
+)
+
+*!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.calculate.RuleTableExample |
+
+| in |
+in2 |
+out? |
+
+| 1 |
+1 |
+2 |
+
+| 2 |
+2 |
+4 |
+
+| 3 |
+4 |
+8 expected 7 actual |
+
+a Invalid Number |
+b |
+c |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/OneInAndOneOut/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/OneInAndOneOut/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/OneInAndOneOut/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/RowsVaryInWidth/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/RowsVaryInWidth/content.txt
new file mode 100644
index 0000000000..f51b89c44e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/RowsVaryInWidth/content.txt
@@ -0,0 +1,26 @@
+!**< define
+!define test (!|fitlibrary.specify.calculate.RuleTableExample|
+|in|in2|out?|
+|1|1|2|4|
+|2|2|4|
+)
+
+*!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.calculate.RuleTableExample |
+
+| in |
+in2 |
+out? |
+
+1 Irregular shaped: This row differs in width from the header |
+1 |
+2 |
+4 |
+
+| 2 |
+2 |
+4 |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/RowsVaryInWidth/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/RowsVaryInWidth/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/RowsVaryInWidth/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/WithResetAndExecute/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/WithResetAndExecute/content.txt
new file mode 100644
index 0000000000..5ff1a5f139
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/WithResetAndExecute/content.txt
@@ -0,0 +1,51 @@
+!**< define
+!define test (!|fitlibrary.specify.calculate.RuleTableWithResetAndExecute|
+|expected resets|expected executes|resets?|executes?|expected resets|expected executes|resets?|executes?|
+| 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
+| 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 |
+| 3 | 2 | 3 | 3 | 3 | 3 | 3 | 3 |
+)
+
+*!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|
+|!-
+| fitlibrary.specify.calculate.RuleTableWithResetAndExecute |
+
+| expected resets |
+expected executes |
+resets? |
+executes? |
+expected resets |
+expected executes |
+resets? |
+executes? |
+
+| 1 |
+0 |
+1 |
+1 |
+1 |
+1 |
+1 |
+1 |
+
+| 2 |
+1 |
+2 |
+2 |
+2 |
+2 |
+2 |
+2 |
+
+| 3 |
+2 |
+3 |
+3 |
+3 |
+3 |
+3 |
+3 |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/WithResetAndExecute/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/WithResetAndExecute/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/WithResetAndExecute/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/content.txt
new file mode 100644
index 0000000000..6274e006c6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/content.txt
@@ -0,0 +1,7 @@
+!3 This is like a !-ColumnFixture-! from Fit (and thus like a Decision Table from Slim)
+^OneInAndOneOut
+^WithResetAndExecute
+!3 Errors:
+^RowsVaryInWidth
+^GetterSetterUnknown
+^MethodsThrowExceptions
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/properties.xml
new file mode 100644
index 0000000000..1e01581b7d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/RuleTable/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/content.txt
new file mode 100644
index 0000000000..ad4b54b5ae
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/content.txt
@@ -0,0 +1,2 @@
+|!contents|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/properties.xml
new file mode 100644
index 0000000000..a7ebcc5243
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/BusinessRules/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1232248022156
+ -2826558134747803451
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestAll/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestAll/content.txt
new file mode 100644
index 0000000000..5e967c5409
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestAll/content.txt
@@ -0,0 +1,13 @@
+!2 All elements are in the correct order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| one |
+| two |
+| three |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| one |
+| two |
+| three |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestAll/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestAll/properties.xml
new file mode 100644
index 0000000000..be2217e48e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestAll/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153961939530
+ -7749471095293258904
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestArray/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestArray/content.txt
new file mode 100644
index 0000000000..20254b2ec1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestArray/content.txt
@@ -0,0 +1,13 @@
+!2 All elements are in the correct order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureUnderTest |
+| 1 |
+| 2 |
+| 3 |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureUnderTest |
+| 1 |
+| 2 |
+| 3 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestArray/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestArray/properties.xml
new file mode 100644
index 0000000000..00a55c69d6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestArray/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153962180076
+ -6678870793589080270
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestDeleteAtStart/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestDeleteAtStart/content.txt
new file mode 100644
index 0000000000..3e35513010
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestDeleteAtStart/content.txt
@@ -0,0 +1,16 @@
+!2 The first expected element is missing
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| two |
+| three |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| two missing |
+| three missing |
+
+| one surplus |
+
+| two surplus |
+
+| three surplus |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestDeleteAtStart/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestDeleteAtStart/properties.xml
new file mode 100644
index 0000000000..792289daa8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestDeleteAtStart/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153961985366
+ 3943444214575114651
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestInsertAtStart/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestInsertAtStart/content.txt
new file mode 100644
index 0000000000..ecf27e131b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestInsertAtStart/content.txt
@@ -0,0 +1,15 @@
+!2 All elements are in the correct order, except that an extra row is expected at the start
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| zero |
+| one |
+| two |
+| three |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| zero missing |
+| one |
+| two |
+| three |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestInsertAtStart/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestInsertAtStart/properties.xml
new file mode 100644
index 0000000000..d94f0b3b8c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestInsertAtStart/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153961971325
+ 5390239965959344480
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestMixedObjects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestMixedObjects/content.txt
new file mode 100644
index 0000000000..579cfcf4cf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestMixedObjects/content.txt
@@ -0,0 +1,13 @@
+!2 All objects of mixed types are in the correct order.
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureUnderTestMixed |
+| 1 |
+| 2.0 |
+| three |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureUnderTestMixed |
+| 1 |
+| 2.0 |
+| three |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestMixedObjects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestMixedObjects/properties.xml
new file mode 100644
index 0000000000..648953473d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestMixedObjects/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153962067864
+ -8049228565166549844
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActuals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActuals/content.txt
new file mode 100644
index 0000000000..7c958b205e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActuals/content.txt
@@ -0,0 +1,7 @@
+!2 No elements are expected or exist
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureUnderTestEmpty |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureUnderTestEmpty |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActuals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActuals/properties.xml
new file mode 100644
index 0000000000..b0b656fec0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActuals/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153962102234
+ -6544582772484690268
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActualsSoMissing/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActualsSoMissing/content.txt
new file mode 100644
index 0000000000..4895abe067
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActualsSoMissing/content.txt
@@ -0,0 +1,9 @@
+!2 No elements exist
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureUnderTestEmpty |
+| one |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureUnderTestEmpty |
+| one missing |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActualsSoMissing/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActualsSoMissing/properties.xml
new file mode 100644
index 0000000000..4e92538f74
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoActualsSoMissing/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153962129993
+ 8356898782321357741
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoneExpected/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoneExpected/content.txt
new file mode 100644
index 0000000000..b685493d01
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoneExpected/content.txt
@@ -0,0 +1,12 @@
+!2 No elements are expected
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+
+| one surplus |
+
+| two surplus |
+
+| three surplus |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoneExpected/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoneExpected/properties.xml
new file mode 100644
index 0000000000..189181bd8f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNoneExpected/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153962001779
+ -5054118233780289358
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNullInCollection/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNullInCollection/content.txt
new file mode 100644
index 0000000000..223ee6043d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNullInCollection/content.txt
@@ -0,0 +1,31 @@
+!**< def
+!define list (|name|
+||
+|fitlibrary|
+)
+!define test (
+!|fitlibrary.specify.collection.NullInCollection|
+
+|list|'''is'''|${list}|
+)
+*!
+!2 An element of the collection may be null
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.collection.NullInCollection |
+
+
+
+| list |
+is |
+
+name An element of the collection is null |
+
+| |
+
+| fitlibrary |
+
+
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNullInCollection/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNullInCollection/properties.xml
new file mode 100644
index 0000000000..2eda561144
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestNullInCollection/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1225512355328
+ -3854692543375386066
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestOutOfOrder/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestOutOfOrder/content.txt
new file mode 100644
index 0000000000..4ed237b214
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestOutOfOrder/content.txt
@@ -0,0 +1,14 @@
+!2 Some elements are out of order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| one |
+| three |
+| two |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| one |
+| three missing |
+| two |
+
+| three surplus |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestOutOfOrder/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestOutOfOrder/properties.xml
new file mode 100644
index 0000000000..6af57c2142
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestOutOfOrder/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153961956093
+ 8714593517426538146
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestSomeInOrder/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestSomeInOrder/content.txt
new file mode 100644
index 0000000000..deb1ea6838
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestSomeInOrder/content.txt
@@ -0,0 +1,12 @@
+!2 Some elements are there and in the correct order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| one |
+| two |
+
-!|!-
+| fitlibrary.specify.PrimitiveArrayFixtureWithCollection |
+| one |
+| two |
+
+| three surplus |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestSomeInOrder/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestSomeInOrder/properties.xml
new file mode 100644
index 0000000000..8c6f92c1af
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/TestSomeInOrder/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120214
+
+
+
+
+
+
+
+ 1153961913342
+ -8256650686124427510
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/content.txt
new file mode 100644
index 0000000000..f960d53eee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/content.txt
@@ -0,0 +1,14 @@
+!2 ArrayTraverse is like ListTraverse, except that it handles arrays and doesn't have a header row.
+ * If the array elements are objects, it uses their ''toString()'' value
+ * If a collection is supplied, it's copied into an array and that's used
+^TestArray
+^TestAll
+^TestSomeInOrder
+^TestOutOfOrder
+^TestInsertAtStart
+^TestDeleteAtStart
+^TestNoneExpected
+^TestMixedObjects
+^TestNoActuals
+^TestNoActualsSoMissing
+^TestNullInCollection
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/properties.xml
new file mode 100644
index 0000000000..3e109112ba
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ArrayTraverse/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20070224152706
+
+
+
+
+
+
+
+ 1172284026841
+ -8800076351799326555
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateList/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateList/content.txt
new file mode 100644
index 0000000000..c0e9810f69
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateList/content.txt
@@ -0,0 +1,53 @@
+!3 A list is created
+!**< def
+!define ious (|''name''|''owe''|
+|emma|130.00|
+|james|120.00|
+)
+!define test (
+!|fitlibrary.specify.collectionSetUp.SetUpList|
+
+|''IOUs''|${ious}|
+----
+----
+|''IOUs''|${ious}|
+
+)
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.collectionSetUp.SetUpList |
+
+
+
+| IOUs |
+
+| name |
+owe |
+
+| emma |
+130.00 |
+
+| james |
+120.00 |
+
+
+ |
+
+
+
+| IOUs |
+
+| name |
+owe |
+
+| emma |
+130.00 |
+
+| james |
+120.00 |
+
+
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateList/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateList/properties.xml
new file mode 100644
index 0000000000..2a6e76745a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateList/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170606
+
+
+
+
+
+
+
+ 1225512366843
+ -1504376435586435444
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateMap/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateMap/content.txt
new file mode 100644
index 0000000000..4439f9ead1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateMap/content.txt
@@ -0,0 +1,72 @@
+!3 A map is created indirectly with a List
+In ${fitLibrary2}, with generics, a map can be created directly
+!**< def
+!define emma (
+|''owe''|130.00|
+
+)
+!define james (
+|''name''|james|
+|''owe''|120.00|
+)
+!define mapIn (|''name''|''owe''|
+|emma|130.00|
+|james|120.00|
+)
+!define mapOut (|emma|${emma}|
+|james|${james}|
+)
+!define test (!|fitlibrary.specify.collectionSetUp.SetUpMap|
+----
+|''IOU map''|${mapIn}|
+----
+|''IOU map''|${mapOut}|
+)
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.collectionSetUp.SetUpMap |
+
+
+
+| IOU map |
+
+| name |
+owe |
+
+| emma |
+130.00 |
+
+| james |
+120.00 |
+
+
+ |
+
+
+
+| IOU map |
+
+| emma |
+
+
|
+
+| james |
+
+| name |
+james |
+
+| owe |
+120.00 |
+
+
+ |
+
+
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateMap/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateMap/properties.xml
new file mode 100644
index 0000000000..9bd014ac68
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateMap/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170619
+
+
+
+
+
+
+
+ 1225512379078
+ -761925953918711852
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateSet/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateSet/content.txt
new file mode 100644
index 0000000000..dc684ffdff
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateSet/content.txt
@@ -0,0 +1,54 @@
+!3 A set is created
+!**< def
+!define set (|''name''|''owe''|
+|emma|130.00|
+|james|120.00|
+)
+!define test (
+!|fitlibrary.specify.collectionSetUp.SetUpSet|
+
+|''IOU set''|${set}|
+----
+----
+|''IOU set''|${set}|
+
+)
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.collectionSetUp.SetUpSet |
+
+
+
+| IOU set |
+
+| name |
+owe |
+
+| emma |
+130.00 |
+
+| james |
+120.00 |
+
+
+ |
+
+
+
+| IOU set |
+
+| name |
+owe |
+
+| emma |
+130.00 |
+
+| james |
+120.00 |
+
+
+ |
+
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateSet/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateSet/properties.xml
new file mode 100644
index 0000000000..21616409c6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/CreateSet/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170629
+
+
+
+
+
+
+
+ 1225512389328
+ 6572945401277088265
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/MissingObjectFactoryMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/MissingObjectFactoryMethod/content.txt
new file mode 100644
index 0000000000..2b0863756e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/MissingObjectFactoryMethod/content.txt
@@ -0,0 +1,26 @@
+!2 An error is shown if the method doesn't exist.
+!**< def
+!define test (!|fitlibrary.specify.collectionSetUp.MissingObjectFactoryMethod|
+
+|''missing''|
+|''one''|''two''|
+|1|2|
+)
+**!
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|
+|!-
+| fitlibrary.specify.collectionSetUp.MissingObjectFactoryMethod |
+
+
+
+| missing |
+
+one |
+two |
+
+| 1 |
+2 |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/MissingObjectFactoryMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/MissingObjectFactoryMethod/properties.xml
new file mode 100644
index 0000000000..c40155b458
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/MissingObjectFactoryMethod/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1225512406578
+ 7845803262743610773
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/ObjectFactoryMethodException/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/ObjectFactoryMethodException/content.txt
new file mode 100644
index 0000000000..6e2e2ac06a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/ObjectFactoryMethodException/content.txt
@@ -0,0 +1,27 @@
+!3 The exception is caught and shown
+!**< def
+!define test (!|fitlibrary.specify.collectionSetUp.ExceptionInObjectFactoryMethod|
+----
+|''create''|
+|''bad''|''method''|
+|1|2|
+)
+**!
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.collectionSetUp.ExceptionInObjectFactoryMethod |
+
+
+
+
+| create |
+
+| bad |
+method |
+
+1
+
|
+2 |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/ObjectFactoryMethodException/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/ObjectFactoryMethodException/properties.xml
new file mode 100644
index 0000000000..9b87b6770b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/ObjectFactoryMethodException/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1225512420578
+ 9106073859481061423
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/RowsShortOrLong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/RowsShortOrLong/content.txt
new file mode 100644
index 0000000000..6d813a3c65
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/RowsShortOrLong/content.txt
@@ -0,0 +1,58 @@
+!2 An error is given if a row is short or long.
+!**< def
+!define in (|''name''|''owe''|
+|emma|130.00||
+|james|
+)
+!define out (|''name''|''owe''|
+|emma|130.00|
+|james|120.00|
+)
+!define test (
+!|fitlibrary.specify.collectionSetUp.SetUpList|
+
+|''IOUs''|${in}|
+----
+----
+|''IOUs''|${out}|
+
+)
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.collectionSetUp.SetUpList |
+
+
+
+| IOUs |
+
+| name |
+owe |
+
+emma Row should be 2 cells wide |
+130.00 |
+ |
+
+james Row should be 2 cells wide |
+
+
+ |
+
+
+
+| IOUs |
+
+| name |
+owe |
+
+| emma missing |
+130.00 |
+
+| james missing |
+120.00 |
+
+
+ |
+
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/RowsShortOrLong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/RowsShortOrLong/properties.xml
new file mode 100644
index 0000000000..4518f1cfe3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/RowsShortOrLong/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170711
+
+
+
+
+
+
+
+ 1225512431546
+ -6761457784432619590
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/content.txt
new file mode 100644
index 0000000000..304c40a28d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/content.txt
@@ -0,0 +1,8 @@
+!3 This has been trimmed right back, ready to be removed altogether
+^CreateList - an ordered list is created by creating an element for each row of the table
+^CreateSet - an unordered list is created by creating an element for each row of the table
+^CreateMap - a map is created by creating an element for each row of the table and explicitly adding it to the map
+
+^MissingObjectFactoryMethod - the ${objectFactoryMethod} is missing
+^ObjectFactoryMethodException - an exception may be thrown in the ${objectFactoryMethod}
+^RowsShortOrLong - an error is given if the rows have too many or too few cells
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/properties.xml
new file mode 100644
index 0000000000..abc7e5e0b4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/CollectionSetUpTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1156386320567
+ 2646795566209411104
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAll/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAll/content.txt
new file mode 100644
index 0000000000..f9c24cf58c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAll/content.txt
@@ -0,0 +1,15 @@
+!2 All elements are in the correct order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAll/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAll/properties.xml
new file mode 100644
index 0000000000..f7bcbcee73
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAll/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873623218
+ 7291388124376231583
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAllWithProperty/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAllWithProperty/content.txt
new file mode 100644
index 0000000000..41d3a59729
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAllWithProperty/content.txt
@@ -0,0 +1,15 @@
+!2 All elements are in the correct order and we use a property to access
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| prop | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| prop | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAllWithProperty/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAllWithProperty/properties.xml
new file mode 100644
index 0000000000..03a0403f06
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestAllWithProperty/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873639906
+ 8103768646905617966
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestEntityInNestedArray/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestEntityInNestedArray/content.txt
new file mode 100644
index 0000000000..5a0eef9cec
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestEntityInNestedArray/content.txt
@@ -0,0 +1,46 @@
+ * An Entity in a nested table is referenced when there are find/show methods for it in any of the nesting fixtures
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.EntityInNestedArray |
+| id | sub |
+| 1 |
+| actions |
+| name | type |
+| First | first |
+| First | second |
+ |
+ |
+
-!|!-
+| fitlibrary.specify.EntityInNestedArray |
+| id | sub |
+| 1 |
+| actions |
+| name | type |
+| First | first |
+| First | second expected first actual |
+ |
+ |
+
-!|
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.EntityInNestedArray |
+| id | actions |
+| 1 |
+
+| name | type |
+| First | first |
+| First | second |
+
+ |
+
-!|!-
+| fitlibrary.specify.EntityInNestedArray |
+| id | actions |
+| 1 |
+
+| name | type |
+| First | first |
+| First | second expected first actual |
+
+ |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestEntityInNestedArray/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestEntityInNestedArray/properties.xml
new file mode 100644
index 0000000000..86b8398250
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestEntityInNestedArray/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1144556624857
+ -5355154588443800007
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestExtraCells/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestExtraCells/content.txt
new file mode 100644
index 0000000000..64666c8bdf
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestExtraCells/content.txt
@@ -0,0 +1,15 @@
+!2 There is an extra cell in the 3rd row
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 1 | one | extra |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+1 Extra table cells | one | extra |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestExtraCells/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestExtraCells/properties.xml
new file mode 100644
index 0000000000..d0fc217615
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestExtraCells/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873657218
+ -4489354144644630835
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestInsertAtStart/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestInsertAtStart/content.txt
new file mode 100644
index 0000000000..6c324e7487
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestInsertAtStart/content.txt
@@ -0,0 +1,17 @@
+!2 All elements are in the correct order, except that an extra row is expected at the start
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 0 | zero |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 0 missing | zero |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestInsertAtStart/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestInsertAtStart/properties.xml
new file mode 100644
index 0000000000..e619db90a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestInsertAtStart/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+ 1131873672500
+ -2244466378431728905
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollection/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollection/content.txt
new file mode 100644
index 0000000000..277a226db9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollection/content.txt
@@ -0,0 +1,34 @@
+!*< test
+!define test {!|fitlibrary.specify.ArrayFixtureUnderTestWithMap|
+
+|map|
+|+|&|
+|1|one|
+|1|two|
+|2|two|
+}
+*!
+!2 Each actual element is a Map. All elements are in the correct order.
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.ArrayFixtureUnderTestWithMap |
+
+
+
+| map |
+
+| + |
+& |
+
+| 1 |
+one |
+
+| 1 |
+two |
+
+| 2 |
+two |
+
+
-!|
+
+In this spec, the map has entries for "plus" and "&". See the fixturing code.
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollection/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollection/properties.xml
new file mode 100644
index 0000000000..63c4e8103a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollection/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1131873686078
+ 7700085820788273127
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollectionOutOfOrder/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollectionOutOfOrder/content.txt
new file mode 100644
index 0000000000..e8f957ce9c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollectionOutOfOrder/content.txt
@@ -0,0 +1,32 @@
+!*< test
+!define test {!|fitlibrary.specify.ArrayFixtureUnderTestWithMap|
+
+|''map''|
+|+|&|
+|1|one|
+|2|two|
+|1|two|
+}
+*!
+!2 Each element is a Map. The elements here are not in the correct order.
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.ArrayFixtureUnderTestWithMap |
+
+
+
+| map |
+
+| + |
+& |
+
+| 1 |
+one |
+
+| 2 missing |
+two |
+
+| 1 |
+two |
+
+| 2 surplus | two |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollectionOutOfOrder/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollectionOutOfOrder/properties.xml
new file mode 100644
index 0000000000..8789ad05f9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMapCollectionOutOfOrder/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1131873699906
+ -5228426683018113304
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingCells/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingCells/content.txt
new file mode 100644
index 0000000000..5289a076a5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingCells/content.txt
@@ -0,0 +1,15 @@
+!2 A cell is missing in the 3rd row
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 1 |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+1 Missing table cells |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingCells/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingCells/properties.xml
new file mode 100644
index 0000000000..d50fbb919b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingCells/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120154
+
+
+
+
+
+
+
+ 1131873715453
+ 2513411991973222853
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingRows/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingRows/content.txt
new file mode 100644
index 0000000000..f052fcbde8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingRows/content.txt
@@ -0,0 +1,7 @@
+!2 Header row is missing
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+
-!|!-
+fitlibrary.specify.ArrayFixtureUnderTest Missing row |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingRows/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingRows/properties.xml
new file mode 100644
index 0000000000..ee76cb120b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMissingRows/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873730062
+ -2210570416167261500
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedCollection/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedCollection/content.txt
new file mode 100644
index 0000000000..4930810a55
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedCollection/content.txt
@@ -0,0 +1,15 @@
+!2 Each element is either a Map or an Object. The elements are in the correct order.
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTestMixed |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTestMixed |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedCollection/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedCollection/properties.xml
new file mode 100644
index 0000000000..c260781d09
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedCollection/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873742812
+ 6453453489487245401
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedObjects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedObjects/content.txt
new file mode 100644
index 0000000000..e19b730fca
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedObjects/content.txt
@@ -0,0 +1,17 @@
+!2 All elements of mixed types are in the correct order and all fields are accounted for. An unknown field for a particular object is accepted as long as the corresponding cell is empty.
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest2 |
+| + | & | some |
+| 1 | one | |
+| 1 | two | |
+| 2 | two | xxx |
+ | | one |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest2 |
+| + | & | some |
+| 1 | one | |
+| 1 | two | |
+| 2 | two | xxx expected actual |
+ | | one |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedObjects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedObjects/properties.xml
new file mode 100644
index 0000000000..61feb0b16b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestMixedObjects/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873758390
+ -2655622562584841683
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActuals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActuals/content.txt
new file mode 100644
index 0000000000..58e113735a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActuals/content.txt
@@ -0,0 +1,9 @@
+!2 No elements are expected or exist
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest3 |
+| + | & |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest3 |
+| + | & |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActuals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActuals/properties.xml
new file mode 100644
index 0000000000..e90cf11778
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActuals/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1136154426750
+ 7383751153865308482
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActualsSoMissing/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActualsSoMissing/content.txt
new file mode 100644
index 0000000000..c739aba12b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActualsSoMissing/content.txt
@@ -0,0 +1,11 @@
+!2 No elements exist
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest3 |
+| + | & |
+| 1 | 2 |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest3 |
+| + | & |
+| 1 missing | 2 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActualsSoMissing/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActualsSoMissing/properties.xml
new file mode 100644
index 0000000000..f1f5b24c9d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoActualsSoMissing/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873794484
+ 1782039934242024788
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoneExpected/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoneExpected/content.txt
new file mode 100644
index 0000000000..592a799341
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoneExpected/content.txt
@@ -0,0 +1,17 @@
+!2 No elements are expected
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+
+| 1 surplus |
+ one |
+
+| 1 surplus |
+ two |
+
+| 2 surplus |
+ two |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoneExpected/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoneExpected/properties.xml
new file mode 100644
index 0000000000..1749ac97c2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestNoneExpected/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120154
+
+
+
+
+
+
+
+ 1131873809109
+ -3001164563362930229
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestOutOfOrder/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestOutOfOrder/content.txt
new file mode 100644
index 0000000000..0016622450
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestOutOfOrder/content.txt
@@ -0,0 +1,17 @@
+!2 All elements are there, but not in the correct order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 1 | two |
+| 2 | two |
+| 1 | one |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 1 | two expected one actual |
+| 2 missing | two |
+| 1 | one expected two actual |
+
+| 2 surplus |
+ two |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestOutOfOrder/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestOutOfOrder/properties.xml
new file mode 100644
index 0000000000..6c175f0319
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestOutOfOrder/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120154
+
+
+
+
+
+
+
+ 1131873820203
+ 5749766135943738726
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestSomeInOrder/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestSomeInOrder/content.txt
new file mode 100644
index 0000000000..9809fc6c0c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestSomeInOrder/content.txt
@@ -0,0 +1,15 @@
+!2 Some elements are in the correct order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+
+| 2 surplus |
+ two |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestSomeInOrder/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestSomeInOrder/properties.xml
new file mode 100644
index 0000000000..cc75c055ce
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestSomeInOrder/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873834250
+ -5733169673299469778
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestTrees/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestTrees/content.txt
new file mode 100644
index 0000000000..fa1502a1f5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestTrees/content.txt
@@ -0,0 +1,15 @@
+!2 Elements can be non-textual things, like HTML lists
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTestGraphics |
+| i | tree |
+| 1 | a |
+| 1 | |
+| 2 | |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTestGraphics |
+| i | tree |
+| 1 | a |
+| 1 | |
+| 2 | |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestTrees/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestTrees/properties.xml
new file mode 100644
index 0000000000..701a650010
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestTrees/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873848859
+ -5818030756468947081
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUnknownProperty/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUnknownProperty/content.txt
new file mode 100644
index 0000000000..4b83095d83
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUnknownProperty/content.txt
@@ -0,0 +1,15 @@
+!2 A property that is not within any of the elements is rejected.
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & | some |
+| 1 | one | |
+| 1 | two | |
+| 2 | two | |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTest |
+| + | & | some Could not find property some |
+| 1 | one | |
+| 1 | two | |
+| 2 | two | |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUnknownProperty/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUnknownProperty/properties.xml
new file mode 100644
index 0000000000..fb9b6ee719
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUnknownProperty/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1150795993275
+ -8299537686852534402
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingScientificDouble/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingScientificDouble/content.txt
new file mode 100644
index 0000000000..e69f396188
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingScientificDouble/content.txt
@@ -0,0 +1,16 @@
+ * The three underlying elements are each a pair(1.11,2.22).
+ * This shows that ''!-ScientificDouble-!'' takes account of the precision of the expected value in making the comparison
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTestWithScientificDouble |
+| one | two |
+| 1 | 2 |
+| 1.1 | 2.2 |
+| 1.11 | 2.22 |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTestWithScientificDouble |
+| one | two |
+| 1 | 2 |
+| 1.1 | 2.2 |
+| 1.11 | 2.22 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingScientificDouble/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingScientificDouble/properties.xml
new file mode 100644
index 0000000000..5bba213ab1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingScientificDouble/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1144535731594
+ -1115729709508820333
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingValueObjects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingValueObjects/content.txt
new file mode 100644
index 0000000000..de1cde2736
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingValueObjects/content.txt
@@ -0,0 +1,14 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ArrayFixtureUnderTestWithValueObjects |
+| one | two |
+| i 1 | i 2 |
+| i 3 | i 4 |
+| i 5 | i 6 |
+
-!|!-
+| fitlibrary.specify.ArrayFixtureUnderTestWithValueObjects |
+| one | two |
+| i 1 | i 2 |
+| i 3 | i 4 |
+| i 5 | i 6 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingValueObjects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingValueObjects/properties.xml
new file mode 100644
index 0000000000..b87e4ad18c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/TestUsingValueObjects/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120155
+
+
+
+
+
+
+
+ 1131873872562
+ 9100661058633387409
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/content.txt
new file mode 100644
index 0000000000..2885696542
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/content.txt
@@ -0,0 +1,25 @@
+!2 ''!-ArrayFixture-!'' takes account of the order of the sequence
+^TestAll
+^TestSomeInOrder
+^TestOutOfOrder
+^TestInsertAtStart
+^TestNoneExpected
+^TestAllWithProperty
+^TestMixedObjects
+^TestNoActuals
+^TestNoActualsSoMissing
+^TestUsingValueObjects
+^TestUsingScientificDouble
+!2 It handles a collection of Map, to handle dynamic collections such as from JTable
+^TestMapCollection
+^TestMapCollectionOutOfOrder
+^TestMixedCollection
+!2 It handles trees and images
+^TestTrees
+!2 Collections may be nested
+^TestEntityInNestedArray
+!2 Errors
+^TestMissingCells
+^TestExtraCells
+^TestMissingRows
+^TestUnknownProperty
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/properties.xml
new file mode 100644
index 0000000000..1f57f40ce3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/ListTraverse/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+ 1144542846424
+ 578496675972062725
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMap/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMap/content.txt
new file mode 100644
index 0000000000..facdcdc253
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMap/content.txt
@@ -0,0 +1,22 @@
+!**< def
+!define test (
+!|fitlibrary.specify.mapTraverse.Empty|
+----
+----
+|''empty map''||
+
+)
+**!
+An empty map matches a table with no extra rows
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.Empty |
+
+
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMap/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMap/properties.xml
new file mode 100644
index 0000000000..377bf2e74c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMap/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170807
+
+
+
+
+
+
+
+ 1225512487703
+ -3302956712075315802
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMismatch/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMismatch/content.txt
new file mode 100644
index 0000000000..7f79a46256
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMismatch/content.txt
@@ -0,0 +1,31 @@
+!**< def
+!define map (|a|b|
+)
+!define test (!|fitlibrary.specify.mapTraverse.Empty|
+
+|''checks''|
+
+|''empty map''|${map}|
+)
+**!
+When the actual map is empty, any expected elements will be "missing"
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.Empty |
+
+
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMismatch/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMismatch/properties.xml
new file mode 100644
index 0000000000..3cc7700a1a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/EmptyMismatch/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170821
+
+
+
+
+
+
+
+ 1225512501125
+ 5538449114860275071
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExceptionsHandling/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExceptionsHandling/content.txt
new file mode 100644
index 0000000000..18222ec146
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExceptionsHandling/content.txt
@@ -0,0 +1,33 @@
+!**< def
+!define map (|a|b|
+)
+!define test (!|fitlibrary.specify.mapTraverse.ErrorMap|
+
+|''checks''|
+
+|''error map''|${map}|
+)
+**!
+Any exception is caught and shown in the table.
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.ErrorMap |
+
+
+
+
+| error map |
+
+a
|
+b |
+
+
+| a surplus |
+InError[] |
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExceptionsHandling/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExceptionsHandling/properties.xml
new file mode 100644
index 0000000000..f8d85c468f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExceptionsHandling/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170832
+
+
+
+
+
+
+
+ 1225512512500
+ 4773080283052566802
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExpectedKeyNotUnique/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExpectedKeyNotUnique/content.txt
new file mode 100644
index 0000000000..8c6f11d082
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExpectedKeyNotUnique/content.txt
@@ -0,0 +1,61 @@
+!**< def
+!define map1 (|yellow|blue|
+|red|green|
+|red|blue|
+)
+!define map2 (|yellow|blue|
+|red|blue|
+|red|green|
+)
+!define test (!|fitlibrary.specify.mapTraverse.ColourMap|
+
+|''checks''|
+
+|''colour map''|${map1}|
+
+|''colour map''|${map2}|
+)
+**!
+Each of the expected elements are matched in turn against the actual elements of the Map. So the order of the rows imnpacts on the error message given.
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.ColourMap |
+
+
+
+
+| colour map |
+
+| yellow |
+blue |
+
+| red |
+green |
+
+| red missing |
+blue |
+
+
+ |
+
+
+
+| colour map |
+
+| yellow |
+blue |
+
+| red |
+blue expected Colour[green] actual |
+
+| red missing |
+green |
+
+
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExpectedKeyNotUnique/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExpectedKeyNotUnique/properties.xml
new file mode 100644
index 0000000000..85dfe84a55
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ExpectedKeyNotUnique/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170846
+
+
+
+
+
+
+
+ 1225512526515
+ 7028127216878406347
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/MixedObjectProblem/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/MixedObjectProblem/content.txt
new file mode 100644
index 0000000000..746683fcbc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/MixedObjectProblem/content.txt
@@ -0,0 +1,37 @@
+!**< def
+!define map (|red|green|
+|1|2|
+)
+!define test (!|fitlibrary.specify.mapTraverse.MixedMap|
+
+|''checks''|
+
+|''mixed map''|${map}|
+)
+**!
+If the actual map is of mixed types, the strategy used to determine a suitable Parser for the key and value is flawed. So some won't be matched.
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.MixedMap |
+
+
+
+
+| mixed map |
+
+| red |
+green |
+
+| 1 missing |
+2 |
+
+
+| Count[1] surplus |
+Count[2] |
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/MixedObjectProblem/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/MixedObjectProblem/properties.xml
new file mode 100644
index 0000000000..9c35498e4b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/MixedObjectProblem/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170859
+
+
+
+
+
+
+
+ 1225512539406
+ 6004859677743028163
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMap/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMap/content.txt
new file mode 100644
index 0000000000..b9b4367e5d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMap/content.txt
@@ -0,0 +1,53 @@
+!**< def
+!define map1 (|red|green|
+|yellow|blue|
+)
+!define map2 (|yellow|blue|
+|red|green|
+)
+!define test (!|fitlibrary.specify.mapTraverse.ColourMap|
+
+|''checks''|
+
+|''colour map''|${map1}|
+
+|''colour map''|${map2}|
+)
+**!
+A Map is from any class to any class (ie, Map). Pre-generics, it's not possible to determine the type of the key and the value. So ''!-FitLibrary-!'' picks one element from the Map and uses that to determine the types. This doesn't work if the map is of mixed types, as shown in another storytest.
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.ColourMap |
+
+
+
+
+| colour map |
+
+| red |
+green |
+
+| yellow |
+blue |
+
+
+ |
+
+
+
+| colour map |
+
+| yellow |
+blue |
+
+| red |
+green |
+
+
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMap/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMap/properties.xml
new file mode 100644
index 0000000000..f8c76e9c58
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMap/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170911
+
+
+
+
+
+
+
+ 1225512551531
+ -6906152995701116613
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMismatch/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMismatch/content.txt
new file mode 100644
index 0000000000..5150eb932d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMismatch/content.txt
@@ -0,0 +1,44 @@
+!**< def
+!define map (|yellow|orange|
+|orange|green|
+)
+!define test (!|fitlibrary.specify.mapTraverse.ColourMap|
+
+|''checks''|
+
+|''colour map''||
+
+|''colour map''|${map}|
+)
+**!
+The error given on a mismatch will depend on whether the key of an element of the actual map corresponds to the key cell of a row in the table.
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.ColourMap |
+
+
+
+
+| colour map |
+ expected Colour[red]->Colour[green], Colour[yellow]->Colour[blue] actual |
+
+
+
+| colour map |
+
+| yellow |
+orange expected Colour[blue] actual |
+
+| orange missing |
+green |
+
+
+| Colour[red] surplus |
+Colour[green] |
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMismatch/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMismatch/properties.xml
new file mode 100644
index 0000000000..2676953fc4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/ObjectMismatch/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170922
+
+
+
+
+
+
+
+ 1225512562281
+ 946591265734637589
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/RowsWrong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/RowsWrong/content.txt
new file mode 100644
index 0000000000..57351c119a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/RowsWrong/content.txt
@@ -0,0 +1,57 @@
+!**< def
+!define map1 (|a|
+|A|B|
+)
+!define map2 (|A|B|C|
+|a|b|
+)
+!define test (!|fitlibrary.specify.mapTraverse.StringMap|
+
+|''checks''|
+
+|''string map''|${map1}|
+
+|''string map''|${map2}|
+)
+**!
+Each row for an expected element of the Map needs to be two cells wide.
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.StringMap |
+
+
+
+
+| string map |
+
+a Missing table cells |
+
+| A |
+B |
+
+
+| a surplus |
+b |
+ |
+
+
+
+| string map |
+
+A Extra table cells |
+B |
+C |
+
+| a |
+b |
+
+
+| A surplus |
+B |
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/RowsWrong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/RowsWrong/properties.xml
new file mode 100644
index 0000000000..8a7bb35852
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/RowsWrong/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170932
+
+
+
+
+
+
+
+ 1225512572765
+ -6226994710371325865
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/StringMap/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/StringMap/content.txt
new file mode 100644
index 0000000000..f824eb8bf7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/StringMap/content.txt
@@ -0,0 +1,53 @@
+!**< def
+!define map1 (|a|b|
+|A|B|
+)
+!define map2 (|A|B|
+|a|b|
+)
+!define test (!|fitlibrary.specify.mapTraverse.StringMap|
+
+|''checks''|
+
+|''string map''|${map1}|
+
+|''string map''|${map2}|
+)
+**!
+A table for a map contains, after the header, a row for each element of the map. A row consists of two cells: for the key and the value. The rows can be in any order, as a Map is also a set.
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.mapTraverse.StringMap |
+
+
+
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/StringMap/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/StringMap/properties.xml
new file mode 100644
index 0000000000..b4ab3ea57b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/StringMap/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101170942
+
+
+
+
+
+
+
+ 1225512582046
+ -5324610278157220691
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/content.txt
new file mode 100644
index 0000000000..b245b8f430
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/content.txt
@@ -0,0 +1,12 @@
+!3 A ''MapTraverse'' checks that a table corresponds to a given ''Map''
+^EmptyMap
+^StringMap
+^ObjectMap
+
+^EmptyMismatch
+^ObjectMismatch
+^ExpectedKeyNotUnique
+^MixedObjectProblem
+
+^RowsWrong
+^ExceptionsHandling
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/properties.xml
new file mode 100644
index 0000000000..f8558a5184
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/MapTraverse/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060818154325
+
+
+
+
+
+
+
+ 1155182007967
+ 7288865343256413598
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAll/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAll/content.txt
new file mode 100644
index 0000000000..a942bf1804
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAll/content.txt
@@ -0,0 +1,15 @@
+!2 All elements are there in the same order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAll/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAll/properties.xml
new file mode 100644
index 0000000000..d1c92c0aaa
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAll/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874629890
+ 4363419160955062157
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllDifferentOrder/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllDifferentOrder/content.txt
new file mode 100644
index 0000000000..07523cb6f0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllDifferentOrder/content.txt
@@ -0,0 +1,15 @@
+!2 All elements are there in a different order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 2 | two |
+| 1 | one |
+| 1 | two |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 2 | two |
+| 1 | one |
+| 1 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllDifferentOrder/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllDifferentOrder/properties.xml
new file mode 100644
index 0000000000..04360d4bfb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllDifferentOrder/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874640734
+ -5276857135543410863
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllWithProperty/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllWithProperty/content.txt
new file mode 100644
index 0000000000..044d6a117c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllWithProperty/content.txt
@@ -0,0 +1,15 @@
+!2 All elements there and we use a property to access
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| prop | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| prop | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllWithProperty/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllWithProperty/properties.xml
new file mode 100644
index 0000000000..ac9d05ce68
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestAllWithProperty/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874653984
+ 9189136341208764036
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestBag/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestBag/content.txt
new file mode 100644
index 0000000000..46cfeaddd9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestBag/content.txt
@@ -0,0 +1,18 @@
+!2 All elements are there, and there are duplicates
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest2 |
+| some | + | & |
+| | 1 | two |
+| | 1 | one |
+| | 1 | two |
+| one | | |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest2 |
+| some | + | & |
+| | 1 | two |
+| | 1 | one |
+| | 1 | two |
+| one | | |
+
-!|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestBag/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestBag/properties.xml
new file mode 100644
index 0000000000..ed692f7e29
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestBag/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874666921
+ 4198051010006433452
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestExtraCells/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestExtraCells/content.txt
new file mode 100644
index 0000000000..850497645a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestExtraCells/content.txt
@@ -0,0 +1,16 @@
+!2 There is an extra cell in the 3rd row
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 1 | one | extra |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+1 Extra table cells | one | extra |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestExtraCells/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestExtraCells/properties.xml
new file mode 100644
index 0000000000..a781475bd8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestExtraCells/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874678390
+ -1275929713689351654
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestGraphics/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestGraphics/content.txt
new file mode 100644
index 0000000000..512eaaef78
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestGraphics/content.txt
@@ -0,0 +1,16 @@
+!2 Elements can be graphical things
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTestGraphics |
+| i | tree |
+| 2 | |
+| 1 | a |
+| 1 | |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTestGraphics |
+| i | tree |
+| 2 | |
+| 1 | a |
+| 1 | |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestGraphics/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestGraphics/properties.xml
new file mode 100644
index 0000000000..44a823754b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestGraphics/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874689343
+ 452362561983025706
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestInsertAtStart/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestInsertAtStart/content.txt
new file mode 100644
index 0000000000..8d56e19326
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestInsertAtStart/content.txt
@@ -0,0 +1,19 @@
+!2 All elements are there, except that an extra row is expected at the start
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 0 | zero |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 0 missing | zero |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestInsertAtStart/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestInsertAtStart/properties.xml
new file mode 100644
index 0000000000..7b19a46e01
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestInsertAtStart/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874701984
+ -3584164969046500689
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMap/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMap/content.txt
new file mode 100644
index 0000000000..552a22edcd
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMap/content.txt
@@ -0,0 +1,50 @@
+!**< def
+!define test (!|fitlibrary.specify.MapFixture|
+
+|map|
+|key|value|
+|c|d|
+|a|b|
+
+|camel free map|
+|+|&|
+|1|one|
+|1|two|
+|2|two|
+)
+**!
+!2 The Map defines a set of elements (key and value).
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.MapFixture |
+
+
+
+| map |
+
+| key |
+value |
+
+| c |
+d |
+
+| a |
+b |
+
+
+
+| camel free map |
+
+| + |
+& |
+
+| 1 |
+one |
+
+| 1 |
+two |
+
+| 2 |
+two |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMap/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMap/properties.xml
new file mode 100644
index 0000000000..bc5b6be833
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMap/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1225512596203
+ -3374790889312611866
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissing/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissing/content.txt
new file mode 100644
index 0000000000..d0e286e8dc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissing/content.txt
@@ -0,0 +1,17 @@
+!2 ''!-SetFixture-!'' gives an error if a row is missing from the actual collection
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+| 3 | three |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+| 3 missing | three |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissing/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissing/properties.xml
new file mode 100644
index 0000000000..336e792f03
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissing/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874723421
+ -8820167017277144899
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingAtStart/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingAtStart/content.txt
new file mode 100644
index 0000000000..9e37eed5f1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingAtStart/content.txt
@@ -0,0 +1,17 @@
+!2 ''!-SetFixture-!'' gives an error if a row is missing from the actual collection
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 3 | three |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 3 missing | three |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingAtStart/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingAtStart/properties.xml
new file mode 100644
index 0000000000..c54c0b7eb0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingAtStart/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874734125
+ -4888324663876597663
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingCells/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingCells/content.txt
new file mode 100644
index 0000000000..c0169c7583
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingCells/content.txt
@@ -0,0 +1,15 @@
+!2 A cell is missing in the 3rd row
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 1 |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+1 Missing table cells |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingCells/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingCells/properties.xml
new file mode 100644
index 0000000000..a557c7cb84
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingCells/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874745578
+ 1349691263857066380
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingRows/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingRows/content.txt
new file mode 100644
index 0000000000..ad67163886
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingRows/content.txt
@@ -0,0 +1,7 @@
+!2 Header row is missing
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+
-!|!-
+fitlibrary.specify.SetFixtureUnderTest Missing row |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingRows/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingRows/properties.xml
new file mode 100644
index 0000000000..c0259eec92
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMissingRows/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874757359
+ -8244656139544474406
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMixedObjects/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMixedObjects/content.txt
new file mode 100644
index 0000000000..bed3a497fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMixedObjects/content.txt
@@ -0,0 +1,17 @@
+!2 All elements of mixed types are in the correct order and all fields are accounted for. An unknown field for a particular object is accepted as long as the corresponding cell is empty.
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest2 |
+| + | & | some |
+| 1 | one | |
+| 1 | two | |
+| 1 | two | xxx |
+ | | one |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest2 |
+| + | & | some |
+| 1 | one | |
+| 1 | two | |
+| 1 | two | xxx expected actual |
+ | | one |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMixedObjects/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMixedObjects/properties.xml
new file mode 100644
index 0000000000..df3a7ba888
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestMixedObjects/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874765937
+ 8511492308104750889
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActuals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActuals/content.txt
new file mode 100644
index 0000000000..fe4d73cc66
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActuals/content.txt
@@ -0,0 +1,9 @@
+!2 ''!-SetFixture-!'' ignores the actual collection if it's empty
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest3 |
+| + | & |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest3 |
+| + | & |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActuals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActuals/properties.xml
new file mode 100644
index 0000000000..95a3a227d2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActuals/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1136154474734
+ -5634507437948081535
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActualsSoMissing/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActualsSoMissing/content.txt
new file mode 100644
index 0000000000..b31a6c605d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActualsSoMissing/content.txt
@@ -0,0 +1,11 @@
+!2 The actual collection is empty
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest3 |
+| + | & |
+| 1 | one |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest3 |
+| + | & |
+| 1 missing | one |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActualsSoMissing/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActualsSoMissing/properties.xml
new file mode 100644
index 0000000000..d5ca87d84b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoActualsSoMissing/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874785734
+ 4737345858682974104
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoneExpected/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoneExpected/content.txt
new file mode 100644
index 0000000000..9ba4bb2616
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoneExpected/content.txt
@@ -0,0 +1,17 @@
+!2 No elements are expected
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+
+| 1 surplus |
+ one |
+
+| 1 surplus |
+ two |
+
+| 2 surplus |
+ two |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoneExpected/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoneExpected/properties.xml
new file mode 100644
index 0000000000..02ba69153a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestNoneExpected/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874794765
+ -7169288259890179881
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestSurplus/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestSurplus/content.txt
new file mode 100644
index 0000000000..ea8868341a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestSurplus/content.txt
@@ -0,0 +1,15 @@
+!2 An element is surplus
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+
+| 2 surplus |
+ two |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestSurplus/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestSurplus/properties.xml
new file mode 100644
index 0000000000..23561bb2d3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestSurplus/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1131874805218
+ 3317471044242816839
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestUnknownField/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestUnknownField/content.txt
new file mode 100644
index 0000000000..dd5a91a452
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestUnknownField/content.txt
@@ -0,0 +1,16 @@
+!2 A field that is not within any of the elements is rejected.
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & | some |
+| 1 | one | |
+| 1 | two | |
+| 2 | two | |
+
-!|!-
+| fitlibrary.specify.SetFixtureUnderTest |
+| + | & | some Could not find property some |
+| 1 | one | |
+| 1 | two | |
+| 2 | two | |
+
-!|
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestUnknownField/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestUnknownField/properties.xml
new file mode 100644
index 0000000000..dd6f6d2197
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestUnknownField/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120106
+
+
+
+
+
+
+
+ 1150586971720
+ -4478044563117591816
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithFields/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithFields/content.txt
new file mode 100644
index 0000000000..2a923b38f0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithFields/content.txt
@@ -0,0 +1,36 @@
+!2 Rather than properties, we access fields directly
+!**< def
+!define set (
+|field1|field2|
+|1|2|
+|3|4|
+)
+!define test (
+!|fitlibrary.specify.set.AccessFields|
+
+|a set|'''is'''|${set}|
+)
+**!
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.set.AccessFields |
+
+
+
+| a set |
+is |
+
+| field1 |
+field2 |
+
+| 1 |
+2 |
+
+| 3 |
+4 |
+
+
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithFields/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithFields/properties.xml
new file mode 100644
index 0000000000..2f6c388543
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithFields/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1225512610953
+ -5749154481736113548
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithPrivateFields/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithPrivateFields/content.txt
new file mode 100644
index 0000000000..82f2f9ce0c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithPrivateFields/content.txt
@@ -0,0 +1,35 @@
+!2 We can access private fields directly
+!**< def
+!define set (
+|field1|field2|
+|1|2|
+|3|4|
+)
+!define test (!|fitlibrary.specify.set.AccessPrivateFields|
+
+|a set|'''is'''|${set}|
+)
+**!
+
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.set.AccessPrivateFields |
+
+
+
+| a set |
+is |
+
+| field1 |
+field2 |
+
+| 1 |
+2 |
+
+| 3 |
+4 |
+
+
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithPrivateFields/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithPrivateFields/properties.xml
new file mode 100644
index 0000000000..8eae6017a8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/TestWithPrivateFields/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ 1225512621156
+ 2293800050960298478
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/content.txt
new file mode 100644
index 0000000000..3e5ecf77dc
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/content.txt
@@ -0,0 +1,21 @@
+^TestMap
+^TestAll
+^TestAllDifferentOrder
+^TestAllWithProperty
+^TestWithFields
+^TestWithPrivateFields
+^TestBag
+^TestExtraCells
+^TestGraphics
+
+^TestInsertAtStart
+^TestMissing
+^TestMissingAtStart
+^TestMissingCells
+^TestMissingRows
+^TestMixedObjects
+^TestNoActuals
+^TestNoActualsSoMissing
+^TestNoneExpected
+^TestSurplus
+^TestUnknownField
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/properties.xml
new file mode 100644
index 0000000000..ed7076f2f4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SetTraverse/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1169174861218
+ 5380382714801139555
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestAll/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestAll/content.txt
new file mode 100644
index 0000000000..831ab97005
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestAll/content.txt
@@ -0,0 +1,15 @@
+!2 ''!-SubsetFixture-!'' can check for the whole set
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestAll/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestAll/properties.xml
new file mode 100644
index 0000000000..2ee3c74064
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestAll/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120127
+
+
+
+
+
+
+
+ 1132629566574
+ 5441808324874763864
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestFewer/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestFewer/content.txt
new file mode 100644
index 0000000000..4e620af4f6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestFewer/content.txt
@@ -0,0 +1,13 @@
+!2 ''!-SubsetFixture-!'' can check for a subset
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestFewer/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestFewer/properties.xml
new file mode 100644
index 0000000000..601a4214e9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestFewer/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120127
+
+
+
+
+
+
+
+ 1132629692545
+ 7146546526707315705
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMap/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMap/content.txt
new file mode 100644
index 0000000000..24adb8357f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMap/content.txt
@@ -0,0 +1,25 @@
+!**< def
+!define test (
+!|fitlibrary.specify.MapFixture|
+
+|subset map|
+|''key''|''value''|
+|a|b|
+)
+**!
+!2 The Map defines a set of elements (key and value).
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.MapFixture |
+
+
+
+| subset map |
+
+| key |
+value |
+
+| a |
+b |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMap/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMap/properties.xml
new file mode 100644
index 0000000000..9fd30b352d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMap/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081101171033
+
+
+
+
+
+
+
+ 1225512633937
+ 1188436852777881744
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMismatch/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMismatch/content.txt
new file mode 100644
index 0000000000..2437435e9e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMismatch/content.txt
@@ -0,0 +1,15 @@
+!2 An expected row is missing
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+| 1 | 1 |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+| 1 missing | 1 |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMismatch/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMismatch/properties.xml
new file mode 100644
index 0000000000..4ecc57db9c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMismatch/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120127
+
+
+
+
+
+
+
+ 1132630046884
+ 8728586029882061574
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMissing/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMissing/content.txt
new file mode 100644
index 0000000000..2882841193
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMissing/content.txt
@@ -0,0 +1,17 @@
+!2 ''!-SubsetFixture-!'' gives an error if a row is missing from the actual collection
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+| 3 | three |
+
-!|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+| 3 missing | three |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMissing/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMissing/properties.xml
new file mode 100644
index 0000000000..cbebf1ec6f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestMissing/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120127
+
+
+
+
+
+
+
+ 1132629926661
+ -6861053770206876744
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestNone/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestNone/content.txt
new file mode 100644
index 0000000000..643cc4b93b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestNone/content.txt
@@ -0,0 +1,12 @@
+!2 ''!-SubsetFixture-!'' can check for none (although it's not much use)
+|!-fitlibrary.specify.SubsetFixtureUnderTest-!|
+|+|&|
+
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+
-!|!-
+| fitlibrary.specify.SubsetFixtureUnderTest |
+| + | & |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestNone/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestNone/properties.xml
new file mode 100644
index 0000000000..18975beb82
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/TestNone/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120127
+
+
+
+
+
+
+
+ 1132629805788
+ -7369200350160434521
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/content.txt
new file mode 100644
index 0000000000..c5aa64b7b3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/content.txt
@@ -0,0 +1,7 @@
+!2 ''!-SubsetFixture-!'' is the same as ''!-SetFixture-!'', except that it tests that the expected rows are a subset of the actual collection (ie, it ignores surplus)
+^TestAll
+^TestFewer
+^TestNone
+^TestMissing
+^TestMismatch
+^TestMap
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/properties.xml
new file mode 100644
index 0000000000..e0ed3c2f5d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/SubsetTraverse/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20060820120127
+
+
+
+
+
+
+
+ 1132629429266
+ -1334137120664196486
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/content.txt
new file mode 100644
index 0000000000..3208741146
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/content.txt
@@ -0,0 +1 @@
+|!contents|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/properties.xml
new file mode 100644
index 0000000000..74f95c1d82
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CollectionSpecifications/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20090118160858
+
+
+
+
+
+
+
+ 1232248138671
+ -1241808528417661767
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionExceptions/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionExceptions/content.txt
new file mode 100644
index 0000000000..551d444178
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionExceptions/content.txt
@@ -0,0 +1,8 @@
+!2 Exceptions with the ''press'', ''enter'' and ''check'' methods are handled (with minor inconsistency)
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
| enter | enterThrows | a string |
| enter | enterThrows | error |
| press | pressThrows |
| check | checkThrows | 0 |
-!|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
enter
+
| enterThrows | a string |
enter
+
| enterThrows | error |
press
+
| pressThrows |
| check | checkThrows | 0
+
|
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionExceptions/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionExceptions/properties.xml
new file mode 100644
index 0000000000..f5001856b8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionExceptions/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223713228218
+ 1062458225703046929
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionsExistWithRightType/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionsExistWithRightType/content.txt
new file mode 100644
index 0000000000..df70aeb1eb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionsExistWithRightType/content.txt
@@ -0,0 +1,4 @@
+!2 The ''press'', ''enter'' and ''check'' methods need to exist and have the right types
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
| enter | enterResult | a string |
| enter | enterMethodWithNoArgs | a string |
| enter | enterMethodWithTwoArgs | one | two |
| press | unknownMethod |
| check | intResultMethod | a string |
-!|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
enter Could not parse: a string, expected type: int. | enterResult | a string |
enter Could not find method: enterMethodWithNoArgs. | enterMethodWithNoArgs | a string |
enter Could not find method: enterMethodWithTwoArgs. | enterMethodWithTwoArgs | one | two |
press Could not find method: unknownMethod. | unknownMethod |
| check | intResultMethod | a string Could not parse: a string, expected type: int. |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionsExistWithRightType/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionsExistWithRightType/properties.xml
new file mode 100644
index 0000000000..b47c5cc48b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ActionsExistWithRightType/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081101121031
+
+
+
+
+
+ 1225494631390
+ 8764897478422725908
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/BooleanEquals/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/BooleanEquals/content.txt
new file mode 100644
index 0000000000..1278812a0b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/BooleanEquals/content.txt
@@ -0,0 +1,18 @@
+!2 Boolean
+The following are treated as true:
+ * true
+ * yes
+ * y
+ * 1
+ * +
+All other values are treated as false.
+
+!|fit.ActionFixture|
+|start| fit.specify.ActionFixtureUnderTest|
+|check| booleanTrue| true|
+|check| booleanTrue| yes|
+|check| booleanTrue| y|
+|check| booleanTrue| 1|
+|check| booleanTrue| +|
+|check| booleanFalse| false|
+|check| booleanFalse| nonBoolean|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/BooleanEquals/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/BooleanEquals/properties.xml
new file mode 100644
index 0000000000..1e3fa82839
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/BooleanEquals/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223713926515
+ 7862099995870343164
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/EmptyTable/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/EmptyTable/content.txt
new file mode 100644
index 0000000000..13e5019eb9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/EmptyTable/content.txt
@@ -0,0 +1,6 @@
+!2 The tables doesn't need to do anything
+!|fitlibrary.spec.SpecifyFixture|
+|!--!|!--!|
+
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
-!|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/EmptyTable/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/EmptyTable/properties.xml
new file mode 100644
index 0000000000..d97ec2ab1b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/EmptyTable/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215043
+
+
+
+
+
+ 1223713301640
+ 3777265030846157668
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ExtraCellsInRows/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ExtraCellsInRows/content.txt
new file mode 100644
index 0000000000..9014f20115
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ExtraCellsInRows/content.txt
@@ -0,0 +1,3 @@
+!2 Extra cells on the end of a row are ignored, and thus can be used to include comments
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest | extra |
| enter | enterString | a string | extra |
| press | pressMethod | extra |
| check | intResultMethod | 0 | extra |
-!|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest | extra |
| enter | enterString | a string | extra |
| press | pressMethod | extra |
| check | intResultMethod | 0 | extra |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ExtraCellsInRows/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ExtraCellsInRows/properties.xml
new file mode 100644
index 0000000000..1515ce107b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/ExtraCellsInRows/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223713357078
+ 8384337369076396680
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/MissingCellsInRows/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/MissingCellsInRows/content.txt
new file mode 100644
index 0000000000..19deb255d8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/MissingCellsInRows/content.txt
@@ -0,0 +1,6 @@
+!2 These previously provided unhelpful exceptions
+!|fitlibrary.spec.SpecifyFixture|
+|!--!|!-| fit.ActionFixture |
start You must specify a fixture to start. |
-!|
+
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
| enter |
| enter | enterString |
| enter | enterString | a string | extra |
| press |
| press | pressMethod | extra |
| check |
| check | intResultMethod | 0 | extra |
-!|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
enter You must specify a method. |
enter You must specify an argument. | enterString |
| enter | enterString | a string | extra |
press You must specify a method. |
| press | pressMethod | extra |
check You must specify a method. |
| check | intResultMethod | 0 | extra |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/MissingCellsInRows/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/MissingCellsInRows/properties.xml
new file mode 100644
index 0000000000..bf8578702d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/MissingCellsInRows/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215043
+
+
+
+
+
+ 1223713337234
+ 6070216755370863815
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/NoStart/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/NoStart/content.txt
new file mode 100644
index 0000000000..39805c3ff8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/NoStart/content.txt
@@ -0,0 +1,6 @@
+!3 A problem with a missing ''start'' in ''!-ActionFixture-!''
+The first table with an ''!-ActionFixture-!'' needs a ''start''
+!|fitlibrary.specify.ClearStartInActionFixture|
+
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| enter | enterString | a string |
-!|!-| fit.ActionFixture |
enter You must start a fixture using the 'start' keyword. | enterString | a string |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/NoStart/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/NoStart/properties.xml
new file mode 100644
index 0000000000..b6a49c5f3a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/NoStart/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20081029215042
+
+
+
+
+ 1133752037359
+ 5968426939927877456
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/PressCanBeVoid/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/PressCanBeVoid/content.txt
new file mode 100644
index 0000000000..1834fb22c8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/PressCanBeVoid/content.txt
@@ -0,0 +1,3 @@
+!2 A press method need not be void
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
| press | pressMethodReturningInt |
-!|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
| press | pressMethodReturningInt |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/PressCanBeVoid/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/PressCanBeVoid/properties.xml
new file mode 100644
index 0000000000..c6259415fe
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/PressCanBeVoid/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223713285765
+ -6980479648739656169
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SameActor/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SameActor/content.txt
new file mode 100644
index 0000000000..892819e484
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SameActor/content.txt
@@ -0,0 +1,20 @@
+!2 The 'start' action allows a series of tables to be used to test through the same actor. It's especially handy when tables in between use other fixtures, such as a ''!-RowFixture-!''.
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fit.ActionFixture |
+| start | fit.specify.ActionFixtureUnderTest |
+| enter | enterResult | 134 |
+
+
+| fit.ActionFixture |
+| check | intResultMethod | 134 |
+
-!|!-
+| fit.ActionFixture |
+| start | fit.specify.ActionFixtureUnderTest |
+| enter | enterResult | 134 |
+
+
+| fit.ActionFixture |
+| check | intResultMethod | 134 |
+
-!|
+ * There is no ''start'' in the second table
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SameActor/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SameActor/properties.xml
new file mode 100644
index 0000000000..6dcc046b0b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SameActor/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+ 1223712930531
+ 2194109521058814119
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SelfStarter/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SelfStarter/content.txt
new file mode 100644
index 0000000000..e2e8ddffb3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SelfStarter/content.txt
@@ -0,0 +1,2 @@
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.SelfStarter |
| enter | enterString | a string |
| check | s | a string |
-!|!-| fit.specify.SelfStarter |
| enter | enterString | a string |
| check | s | a string |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SelfStarter/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SelfStarter/properties.xml
new file mode 100644
index 0000000000..dff57eecb8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SelfStarter/properties.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+ 1223713048578
+ 5780548737576641280
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartMustExist/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartMustExist/content.txt
new file mode 100644
index 0000000000..1031c49513
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartMustExist/content.txt
@@ -0,0 +1,3 @@
+!2 The fixture class named in the ''start'' must exist
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| start | UnknownFixture |
-!|!-| fit.ActionFixture |
start Could not find fixture: UnknownFixture. | UnknownFixture |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartMustExist/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartMustExist/properties.xml
new file mode 100644
index 0000000000..c9ebe071c4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartMustExist/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215043
+
+
+
+
+
+ 1223713316687
+ -38576216886485728
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartNotFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartNotFixture/content.txt
new file mode 100644
index 0000000000..f05b1db63d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartNotFixture/content.txt
@@ -0,0 +1,10 @@
+!2 The actor (''start'' class) has to be a ''Fixture'' subclass
+ * Notice how subsequent rows of the table are interpreted even though the ''start'' failed. Similarly for the table below, where !-ActionFixture-! continues even though there is a problem (exception) with a row.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ClearActionFixture |
+| fit.ActionFixture |
+| start | fit.specify.NonFixture |
+| enter | x | 12 |
-!|!-| fit.specify.ClearActionFixture |
+| fit.ActionFixture |
+start | fit.specify.NonFixture |
+enter You must start a fixture using the 'start' keyword. | x | 12 |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartNotFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartNotFixture/properties.xml
new file mode 100644
index 0000000000..9d546c1f4e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/StartNotFixture/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223714559375
+ 7816437414699888292
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SwitchActor/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SwitchActor/content.txt
new file mode 100644
index 0000000000..7b96371fc3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SwitchActor/content.txt
@@ -0,0 +1,3 @@
+!2 Switching actor dynamically can be done through using ''start'' or through an actor fixture switching programmatically.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
| enter | enterString | a string |
| press | switchActor |
| press | start |
| enter | enterString | a string |
| press | switchBack |
| enter | enterString | a string |
| press | start |
| start | fitlibrary.specify.AnotherActor |
| press | start |
-!|!-| fit.ActionFixture |
| start | fit.specify.ActionFixtureUnderTest |
| enter | enterString | a string |
| press | switchActor |
| press | start |
enter Could not find method: enterString. | enterString | a string |
| press | switchBack |
| enter | enterString | a string |
press Could not find method: start. | start |
| start | fitlibrary.specify.AnotherActor |
| press | start |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SwitchActor/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SwitchActor/properties.xml
new file mode 100644
index 0000000000..a195fea876
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/SwitchActor/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223712951140
+ 1178029046746595007
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/UsualOperation/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/UsualOperation/content.txt
new file mode 100644
index 0000000000..8b7b392dd7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/UsualOperation/content.txt
@@ -0,0 +1,23 @@
+!3 ''!-ActionFixture-!'' continues even if there is a problem (wrong) with a row.
+
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fit.ActionFixture |
+| start | fit.specify.ActionFixtureUnderTest |
+| enter | enterString | a string |
+| enter | enter string | a string |
+| press | pressMethod |
+| check | intResultMethod | 1 |
+| check | intResultMethod | 0 |
+| check | intResultMethod | |
+
-!|!-
+| fit.ActionFixture |
+| start | fit.specify.ActionFixtureUnderTest |
+| enter | enterString | a string |
+| enter | enter string | a string |
+| press | pressMethod |
+| check | intResultMethod | 1 expected 0 actual |
+| check | intResultMethod | 0 |
+| check | intResultMethod | 0 |
+
-!|
+Notice the above use of the ''camel'' form of the method "enterString" as "enter string".
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/UsualOperation/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/UsualOperation/properties.xml
new file mode 100644
index 0000000000..089ff5be26
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/UsualOperation/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081124201813
+
+
+
+
+
+ 1223712912578
+ -8208245810866916473
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/content.txt
new file mode 100644
index 0000000000..cb5e55c1a0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/content.txt
@@ -0,0 +1,17 @@
+Fit version 2003-9-15
+^UsualOperation
+^SameActor
+^SwitchActor
+^SelfStarter
+!3 Unusual conditions and error handling
+^NoStart
+^StartNotFixture
+^ActionExceptions
+^ActionsExistWithRightType
+^PressCanBeVoid
+^EmptyTable
+^StartMustExist
+^MissingCellsInRows
+^ExtraCellsInRows
+>BooleanEquals
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/properties.xml
new file mode 100644
index 0000000000..06f3d85b70
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ActionFixture/properties.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+ 1232251258468
+ 6009231404785214071
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CamelNames/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CamelNames/content.txt
new file mode 100644
index 0000000000..14c1b2a033
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CamelNames/content.txt
@@ -0,0 +1,7 @@
+!2 Camel names, like ''!-ActionFixture-!'':
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| camelFieldName | camel field name | getCamelFieldName() | get camel field name() |
+| one | two | two | two |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| camelFieldName | camel field name | getCamelFieldName() | get camel field name() |
+| one | two | two | two |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CamelNames/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CamelNames/properties.xml
new file mode 100644
index 0000000000..5397e17016
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CamelNames/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223710988375
+ 6735050140770371051
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CannotParse/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CannotParse/content.txt
new file mode 100644
index 0000000000..8ab6d82e69
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CannotParse/content.txt
@@ -0,0 +1,12 @@
+!2 An exception is thrown if the input for a field, or the expected value of a method, is of a type that can't be parsed (as it's not defined).
+!|fitlibrary.spec.SpecifyFixture|
+|!-
+| fit.specify.ColumnFixtureUnderTest |
+| calendar | useCalendar() |
+| 24 Sept 2003 | 24 Sept 2003 |
+
-!|
+|!-
+| fit.specify.ColumnFixtureUnderTest |
+| calendar | useCalendar() |
+24 Sept 2003 Could not parse: 24 Sept 2003, expected type: java.util.Calendar. | 24 Sept 2003 Could not parse: 24 Sept 2003, expected type: java.util.Calendar. |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CannotParse/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CannotParse/properties.xml
new file mode 100644
index 0000000000..54585b22fb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/CannotParse/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081101121129
+
+
+
+
+
+ 1225494689593
+ -3499709152098324763
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/FixtureArguments/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/FixtureArguments/content.txt
new file mode 100644
index 0000000000..7d59367fb6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/FixtureArguments/content.txt
@@ -0,0 +1,13 @@
+!2 A table for a core fixture, such as ''!-ColumnFixture-!'', can have one or more arguments following the fixture class name in the first row of the table.
+These can be used to pass extra information to the fixture, such as values that apply to all of the rows.
+
+These arguments can be accessed as Strings by the fixture subclass written by the programmer.
+
+In this example, two arguments are provided in this way:
+
+|!-fit.specify.ColumnFixtureUnderTestWithArgs-!|1|2|
+|''third''|''sum()''|
+|0|3|
+|10|13|
+
+The way the arguments are collected is implementation-dependent. In the Java version, they are accessed in a fixture by calling the inherited method ''getArgs()'', which return a ''String[]''.
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/FixtureArguments/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/FixtureArguments/properties.xml
new file mode 100644
index 0000000000..f949af12bb
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/FixtureArguments/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215042
+
+
+
+
+
+
+
+ 1223711155734
+ -8208729391271568520
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingField/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingField/content.txt
new file mode 100644
index 0000000000..00425630c8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingField/content.txt
@@ -0,0 +1,5 @@
+!2 An exception is thrown if a field doesn't exist.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| unknownField |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+unknownField Could not find field: unknownField. |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingField/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingField/properties.xml
new file mode 100644
index 0000000000..bce3d4d6d5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingField/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223711174750
+ -344464625392187144
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingFirstRow/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingFirstRow/content.txt
new file mode 100644
index 0000000000..fabe3b5298
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingFirstRow/content.txt
@@ -0,0 +1,3 @@
+!2 An exception is thrown if the first row, containing field and method names, is missing.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
-!|!-fit.specify.ColumnFixtureUnderTest
|
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingFirstRow/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingFirstRow/properties.xml
new file mode 100644
index 0000000000..5c535c108a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingFirstRow/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223711196937
+ -7946737810701836125
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingMethod/content.txt
new file mode 100644
index 0000000000..0a5975d72b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingMethod/content.txt
@@ -0,0 +1,5 @@
+!2 An exception is thrown if a method doesn't exist.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| unknownMethod() |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+unknownMethod() Could not find method: unknownMethod(). |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingMethod/properties.xml
new file mode 100644
index 0000000000..dc686cfeb3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/MissingMethod/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223711213843
+ 3827179262030060445
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsLong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsLong/content.txt
new file mode 100644
index 0000000000..be4ead2be9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsLong/content.txt
@@ -0,0 +1,8 @@
+!2 A row that's too long leads to an exception.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 1 | 12 | 13 | 14 |
-!|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 1 | 12 | 13 | 14
|
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsLong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsLong/properties.xml
new file mode 100644
index 0000000000..72161d2179
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsLong/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223714612890
+ -8450960604693465861
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsShort/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsShort/content.txt
new file mode 100644
index 0000000000..0b8c93d1c6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsShort/content.txt
@@ -0,0 +1,10 @@
+!2 Rows can be incomplete, without warning. An error is given on extra cells.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 1 | 12 |
+| 1 | 12 | 13 | 14 |
-!|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 1 | 12 |
+| 1 | 12 | 13 | 14
|
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsShort/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsShort/properties.xml
new file mode 100644
index 0000000000..d3bac9012b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/RowsShort/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223714629156
+ 5192676481739029676
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialEmpty/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialEmpty/content.txt
new file mode 100644
index 0000000000..74a57aece2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialEmpty/content.txt
@@ -0,0 +1,11 @@
+!2 If a field cell is empty, its current value is provided in that cell in the result. The same for a method call.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+ | | |
+| 1 | 2 | 3 |
+ | | |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 0 | 0 | 0 |
+| 1 | 2 | 3 |
+| 1 | 2 | 3 |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialEmpty/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialEmpty/properties.xml
new file mode 100644
index 0000000000..3b9c3c2b08
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialEmpty/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223712164656
+ -1662132662940248265
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialError/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialError/content.txt
new file mode 100644
index 0000000000..42b31b0c29
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialError/content.txt
@@ -0,0 +1,12 @@
+!2 Exceptions are expected with the special string "error". If the cell is blank and an exception is thrown, "error" is reported. The exception is reported if something else was expected.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| exceptionMethod() |
+| error |
+ |
+| no exception |
-!|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| exceptionMethod() |
+| error |
+| error |
+no exception
|
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialError/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialError/properties.xml
new file mode 100644
index 0000000000..ca8e5425d4
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialError/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081124201813
+
+
+
+
+
+ 1223714645187
+ -4208838835445871086
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialErrorWrong/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialErrorWrong/content.txt
new file mode 100644
index 0000000000..53b44a1ef9
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialErrorWrong/content.txt
@@ -0,0 +1,7 @@
+!2 It's wrong if an exception is not thrown with the special string "error".
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| plus() |
+| error |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| plus() |
+error expected 0 actual |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialErrorWrong/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialErrorWrong/properties.xml
new file mode 100644
index 0000000000..fbfa9df486
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/SpecialErrorWrong/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223712200921
+ 6148332418443734291
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestDifferingResults/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestDifferingResults/content.txt
new file mode 100644
index 0000000000..3cabe3f8af
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestDifferingResults/content.txt
@@ -0,0 +1,9 @@
+!2 A method may return different results on each call.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| increment() | increment() |
+| 1 | 2 |
+| 3 | 4 |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| increment() | increment() |
+| 1 | 2 |
+| 3 | 4 |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestDifferingResults/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestDifferingResults/properties.xml
new file mode 100644
index 0000000000..90f9b39a94
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestDifferingResults/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223712217937
+ -2316066708845109006
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestFieldsAndMethods/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestFieldsAndMethods/content.txt
new file mode 100644
index 0000000000..c67cdfb07d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestFieldsAndMethods/content.txt
@@ -0,0 +1,14 @@
+!2 A table can include a mixture of fields and methods.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() | minus() |
+| 1 | 12 | 13 | -11 |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() | minus() |
+| 1 | 12 | 13 | -11 |
-!|
+ * And "?" can be used instead of "()"
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus? | minus? |
+| 1 | 12 | 13 | -11 |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus? | minus? |
+| 1 | 12 | 13 | -11 |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestFieldsAndMethods/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestFieldsAndMethods/properties.xml
new file mode 100644
index 0000000000..05edf63537
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestFieldsAndMethods/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223714283359
+ 520567741808286784
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestLeftToRight/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestLeftToRight/content.txt
new file mode 100644
index 0000000000..cd06fefc2a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestLeftToRight/content.txt
@@ -0,0 +1,9 @@
+!2 Inputs and outputs are processed from left to right. Processing continues across a row even if an earlier method call was wrong.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | plus() | b | plus() |
+| 1 | 1 | 12 | 13 |
+| 2 | 13 | -2 | 0 |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| a | plus() | b | plus() |
+| 1 | 1 | 12 | 13 |
+| 2 | 13 expected 14 actual | -2 | 0 |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestLeftToRight/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestLeftToRight/properties.xml
new file mode 100644
index 0000000000..a698e5b31c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestLeftToRight/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223712263234
+ 8229621047612099070
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsExplicit/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsExplicit/content.txt
new file mode 100644
index 0000000000..afebe7deec
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsExplicit/content.txt
@@ -0,0 +1,22 @@
+!2 Usual operation of ''!-ColumnFixture-!''
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 1 | 12 | 13 |
+| -2 | 107 | 105 |
+| 0 | 12 | 13 |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 1 | 12 | 13 |
+| -2 | 107 | 105 |
+| 0 | 12 | 13 expected 12 actual |
-!|
+ * And "?" can be sued instead of "()"
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus? |
+| 1 | 12 | 13 |
+| -2 | 107 | 105 |
+| 0 | 12 | 13 |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus? |
+| 1 | 12 | 13 |
+| -2 | 107 | 105 |
+| 0 | 12 | 13 expected 12 actual |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsExplicit/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsExplicit/properties.xml
new file mode 100644
index 0000000000..42c49401f0
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsExplicit/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223714325281
+ 8244511469660541616
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsFail/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsFail/content.txt
new file mode 100644
index 0000000000..713df7bb4b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsFail/content.txt
@@ -0,0 +1,7 @@
+!2 Wrong values are reported
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 0 | 12 | 13 |
-!|!-| fit.specify.ColumnFixtureUnderTest |
+| a | b | plus() |
+| 0 | 12 | 13 expected 12 actual |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsFail/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsFail/properties.xml
new file mode 100644
index 0000000000..d83526d9ae
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/TestsFail/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223712295734
+ 2358871290227371086
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/VoidMethod/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/VoidMethod/content.txt
new file mode 100644
index 0000000000..ddd61cd364
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/VoidMethod/content.txt
@@ -0,0 +1,6 @@
+!2 An exception is thrown if a method doesn't return a value (is void).
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| voidMethod() |
-!|
+|!-| fit.specify.ColumnFixtureUnderTest |
+voidMethod()
|
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/VoidMethod/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/VoidMethod/properties.xml
new file mode 100644
index 0000000000..24b968d5ed
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/VoidMethod/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223712347578
+ 7069616634118351456
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/WrongType/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/WrongType/content.txt
new file mode 100644
index 0000000000..af2fde586e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/WrongType/content.txt
@@ -0,0 +1,8 @@
+!2 An exception is thrown if the input for a field, or the expected value of a method, is of the wrong type.
+!|fitlibrary.spec.SpecifyFixture|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | plus() |
+| one | one |
-!|
+|!-| fit.specify.ColumnFixtureUnderTest |
+| a | plus() |
+one
| one |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/WrongType/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/WrongType/properties.xml
new file mode 100644
index 0000000000..6335932263
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/WrongType/properties.xml
@@ -0,0 +1,12 @@
+
+
+
+ 20081029215042
+
+
+
+
+
+ 1223712387203
+ -7422650937225018382
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/content.txt
new file mode 100644
index 0000000000..6d93e04f4a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/content.txt
@@ -0,0 +1,22 @@
+Fit version 2003-9-15
+^TestsExplicit
+^TestsFail
+^TestFieldsAndMethods
+!3 Details of operation
+^TestLeftToRight
+^TestDifferingResults
+^RowsShort
+^CamelNames
+^FixtureArguments
+!3 Two special cell contents
+^SpecialError
+^SpecialErrorWrong
+^SpecialEmpty
+!3 Error Conditions
+^MissingField
+^MissingMethod
+^VoidMethod
+^WrongType
+^CannotParse
+^MissingFirstRow
+^RowsLong
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/properties.xml
new file mode 100644
index 0000000000..b9ba830ee3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/ColumnFixture/properties.xml
@@ -0,0 +1,11 @@
+
+
+
+ 20090118170048
+
+
+
+
+ 1232251248281
+ 4162621168572047917
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/DefaultPackages/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/DefaultPackages/content.txt
new file mode 100644
index 0000000000..d07ce86669
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/DefaultPackages/content.txt
@@ -0,0 +1,19 @@
+!**< test
+!define test (!|Import|
+|fitlibrary.speciallyNamedPackage|
+
+!|ClassInOddPackage|
+)
+
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| Import |
+
+| fitlibrary.speciallyNamedPackage |
+
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/DefaultPackages/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/DefaultPackages/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/DefaultPackages/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FitPackageByDefault/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FitPackageByDefault/content.txt
new file mode 100644
index 0000000000..d2935727b8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FitPackageByDefault/content.txt
@@ -0,0 +1,13 @@
+!**< test
+!define test (!|ColumnFixture|
+|unknown?|
+)
+
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| ColumnFixture |
+
+unknown? Could not find method: unknown?. |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FitPackageByDefault/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FitPackageByDefault/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FitPackageByDefault/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FixtureByDefault/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FixtureByDefault/content.txt
new file mode 100644
index 0000000000..10ff201d03
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FixtureByDefault/content.txt
@@ -0,0 +1,13 @@
+!**> test
+!define test (!|Column|
+|unknown?|
+)
+
+**!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| Column |
+
+unknown? Could not find method: unknown?. |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FixtureByDefault/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FixtureByDefault/properties.xml
new file mode 100644
index 0000000000..6d61bae3c5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/FixtureByDefault/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/content.txt
new file mode 100644
index 0000000000..3906b49306
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/content.txt
@@ -0,0 +1,3 @@
+>FitPackageByDefault
+>FixtureByDefault
+^DefaultPackages
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/properties.xml
new file mode 100644
index 0000000000..5f567cb6b1
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/PackageImportsAndDefaults/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/BadFieldNames/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/BadFieldNames/content.txt
new file mode 100644
index 0000000000..f7c64a7218
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/BadFieldNames/content.txt
@@ -0,0 +1,8 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest2 |
+| x |
+
-!|!-
+| fit.specify.RowFixtureUnderTest2 |
+x Could not find field: x. |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/BadFieldNames/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/BadFieldNames/properties.xml
new file mode 100644
index 0000000000..84ac1664d3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/BadFieldNames/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712632203
+ 3495991200080723902
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsAnyOrder/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsAnyOrder/content.txt
new file mode 100644
index 0000000000..963793fc10
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsAnyOrder/content.txt
@@ -0,0 +1,15 @@
+!2 The columns can be given in any order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| two | 1 |
+| one | 1 |
+| two | 2 |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| two | 1 |
+| one | 1 |
+| two | 2 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsAnyOrder/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsAnyOrder/properties.xml
new file mode 100644
index 0000000000..ee44460953
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsAnyOrder/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712494531
+ 7925813303327944115
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsRepeated/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsRepeated/content.txt
new file mode 100644
index 0000000000..26b8d8ff48
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsRepeated/content.txt
@@ -0,0 +1,15 @@
+!2 The columns can be given in any order and repeated
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a | s |
+| two | 1 | two |
+| two | 2 | two |
+| one | 1 | one |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a | s |
+| two | 1 | two |
+| two | 2 | two |
+| one | 1 | one |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsRepeated/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsRepeated/properties.xml
new file mode 100644
index 0000000000..85418d48a8
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ColumnsRepeated/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712510390
+ 8633505856996791686
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ExtraCellsIgnored/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ExtraCellsIgnored/content.txt
new file mode 100644
index 0000000000..6183f1567b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ExtraCellsIgnored/content.txt
@@ -0,0 +1,15 @@
+!2 Extra cells are ignored and can be used to include comments
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| a |
+| 1 | extra | extra |
+| 1 |
+| 2 | extra |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| a |
+| 1 | extra | extra |
+| 1 |
+| 2 | extra |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ExtraCellsIgnored/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ExtraCellsIgnored/properties.xml
new file mode 100644
index 0000000000..a77b7d31ac
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/ExtraCellsIgnored/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712647343
+ 344720849867676052
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/InconsistentColumns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/InconsistentColumns/content.txt
new file mode 100644
index 0000000000..4f23d34dc3
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/InconsistentColumns/content.txt
@@ -0,0 +1,15 @@
+!2 Repeated columns have to be consistent:
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a | s |
+| two | 1 | one |
+| one | 1 | two |
+| two | 2 | two |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a | s |
+| two | 1 | one expected two actual |
+| one | 1 | two expected one actual |
+| two | 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/InconsistentColumns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/InconsistentColumns/properties.xml
new file mode 100644
index 0000000000..54460fafee
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/InconsistentColumns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712617015
+ -5769142048697386523
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingCells/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingCells/content.txt
new file mode 100644
index 0000000000..1c0f586a8a
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingCells/content.txt
@@ -0,0 +1,20 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 0 |
+| 1 |
+| 2 |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 0 missing |
+| 1 missing |
+| 2 |
+
+| 1 surplus |
+ two |
+
+| 1 surplus |
+ one |
-!|
+ * note that this storytest is sensitive to row order
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingCells/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingCells/properties.xml
new file mode 100644
index 0000000000..4d4ee748ea
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingCells/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712750062
+ -3352308486621193556
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingRow/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingRow/content.txt
new file mode 100644
index 0000000000..76a6bfdfea
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingRow/content.txt
@@ -0,0 +1,18 @@
+!2 A 'missing' row is a row that's expected but not there.
+Here the last row is missing:
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| one | 1 |
+| two | 2 |
+| two | 1 |
+| seven | 1 |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| one | 1 |
+| two | 2 |
+| two | 1 |
+| seven missing | 1 |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingRow/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingRow/properties.xml
new file mode 100644
index 0000000000..600a9a88d5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/MissingRow/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712542453
+ -7805502273392264212
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsAnyOrder/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsAnyOrder/content.txt
new file mode 100644
index 0000000000..f3819edd96
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsAnyOrder/content.txt
@@ -0,0 +1,15 @@
+!2 The rows can be given in any order
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 2 | two |
+| 1 | two |
+| 1 | one |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 2 | two |
+| 1 | two |
+| 1 | one |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsAnyOrder/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsAnyOrder/properties.xml
new file mode 100644
index 0000000000..1d25c185e6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsAnyOrder/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712478953
+ -3767501705023368958
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsCorrect/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsCorrect/content.txt
new file mode 100644
index 0000000000..a838c570da
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsCorrect/content.txt
@@ -0,0 +1,15 @@
+!2 There are three rows, as shown here
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 1 | one |
+| 1 | two |
+| 2 | two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsCorrect/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsCorrect/properties.xml
new file mode 100644
index 0000000000..dbab2036a7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/RowsCorrect/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712465078
+ 5320739906997793637
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SomeColumns/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SomeColumns/content.txt
new file mode 100644
index 0000000000..fa330a3e1c
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SomeColumns/content.txt
@@ -0,0 +1,15 @@
+!2 A subset of the columns may be provided (the rows don't need to be unique)
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| s |
+| two |
+| one |
+| two |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| s |
+| two |
+| one |
+| two |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SomeColumns/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SomeColumns/properties.xml
new file mode 100644
index 0000000000..f3a0d7fad2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SomeColumns/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712525343
+ 2115476161191808089
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SpecialCellValue/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SpecialCellValue/content.txt
new file mode 100644
index 0000000000..6e69d740a2
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SpecialCellValue/content.txt
@@ -0,0 +1,19 @@
+!2 Special cell value " ", which is available in ''!-ColumnFixture-!'' is not applicable here
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 1 | one |
+| 1 | |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 1 | one |
+| 1 missing | |
+
+| 1 surplus |
+ two |
+
+| 2 surplus |
+ two |
-!|
+ * This storytest is sensitive to the order that the elements of the set are processed
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SpecialCellValue/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SpecialCellValue/properties.xml
new file mode 100644
index 0000000000..d1c38366b6
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SpecialCellValue/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712827375
+ 2227828585068462505
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SurplusRow/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SurplusRow/content.txt
new file mode 100644
index 0000000000..01d1bfbc30
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SurplusRow/content.txt
@@ -0,0 +1,15 @@
+!2 A surplus row is a row that's not expected to be in the actual list:
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| one | 1 |
+| two | 2 |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| one | 1 |
+| two | 2 |
+
+| two surplus |
+ 1 |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SurplusRow/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SurplusRow/properties.xml
new file mode 100644
index 0000000000..6b32f20bca
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/SurplusRow/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+ 1223712557484
+ -512482809526509979
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKey/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKey/content.txt
new file mode 100644
index 0000000000..f3229c1758
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKey/content.txt
@@ -0,0 +1,18 @@
+!2 If a key value is wrong, it's treated as a replacement (missing + surplus).
+Here the expected "|3|one|" was actually "|1|one|" (the same as above but the columns are reordered):
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 2 | two |
+| 1 | two |
+| 3 | one |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| a | s |
+| 2 | two |
+| 1 | two |
+| 3 missing | one |
+
+| 1 surplus |
+ one |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKey/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKey/properties.xml
new file mode 100644
index 0000000000..0f8d903591
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKey/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712586281
+ 3180864597706548629
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKeyDuplicated/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKeyDuplicated/content.txt
new file mode 100644
index 0000000000..4bdbb9b7ad
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKeyDuplicated/content.txt
@@ -0,0 +1,18 @@
+!2 If there are several rows with the same key as the one that's wrong, it's treated as a replacement as well.
+Here the expected "|two|3|" was actually "|two|2|":
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| two | 3 |
+| two | 1 |
+| one | 1 |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| two missing | 3 |
+| two | 1 |
+| one | 1 |
+
+| two surplus |
+ 2 |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKeyDuplicated/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKeyDuplicated/properties.xml
new file mode 100644
index 0000000000..34e7353a6d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongKeyDuplicated/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712601140
+ 5308277258388614923
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongNonKey/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongNonKey/content.txt
new file mode 100644
index 0000000000..01cc19da83
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongNonKey/content.txt
@@ -0,0 +1,18 @@
+!2 Wrong values are signalled in different ways, depending on where they occur in a row.
+Matching of each row proceeds from left to right across the columns, so that earlier columns act as keys.
+
+If a "non-key" value is wrong, it's signalled in place. Here the expected "|one|3|" was actually "|one|1|":
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| two | 2 |
+| two | 1 |
+| one | 3 |
+
-!|!-
+| fit.specify.RowFixtureUnderTest |
+| s | a |
+| two | 2 |
+| two | 1 |
+| one | 3 expected 1 actual |
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongNonKey/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongNonKey/properties.xml
new file mode 100644
index 0000000000..56fba77c88
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/WrongNonKey/properties.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+
+ 1223712571843
+ 1360238502981302478
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/content.txt
new file mode 100644
index 0000000000..689498d98b
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/content.txt
@@ -0,0 +1,18 @@
+^RowsCorrect
+^RowsAnyOrder
+^ColumnsAnyOrder
+^ColumnsRepeated
+^SomeColumns
+!2 Missing and Surplus Rows
+^MissingRow
+^SurplusRow
+!2 Wrong Values
+^WrongNonKey
+^WrongKey
+^WrongKeyDuplicated
+^InconsistentColumns
+!2 Errors
+^BadFieldNames
+^ExtraCellsIgnored
+^MissingCells
+^SpecialCellValue
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/properties.xml
new file mode 100644
index 0000000000..8601235a3e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/RowFixture/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ 20081029215043
+
+
+
+
+
+
+ 1133645081796
+ 7769714597281631360
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/SummaryFixture/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/SummaryFixture/content.txt
new file mode 100644
index 0000000000..5e14fd11d5
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/SummaryFixture/content.txt
@@ -0,0 +1,36 @@
+|!-fitlibrary.spec.SpecifyFixture-!|
+|!-
+| fitlibrary.specify.ResetCounts |
+
+
+
+
+| fit.ActionFixture |
+| start | unknown |
+
+-!|!-
+| fitlibrary.specify.ResetCounts |
+
+
+| fit.Summary |
+
+| counts |
+ 0 right, 0 wrong, 0 ignored, 0 exceptions |
+
+
+| fit.ActionFixture |
+start Could not find fixture: unknown. | unknown |
+
+
+| fit.Summary |
+
+| counts |
+ 0 right, 0 wrong, 0 ignored, 2 exceptions |
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/SummaryFixture/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/SummaryFixture/properties.xml
new file mode 100644
index 0000000000..dadfc0a89d
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/SummaryFixture/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1224577372468
+ 5628628734709279654
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/content.txt
new file mode 100644
index 0000000000..b38e43084e
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/content.txt
@@ -0,0 +1,2 @@
+|!contents|
+>PackageImportsAndDefaults
\ No newline at end of file
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/properties.xml
new file mode 100644
index 0000000000..efef804e5f
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/CoreFitSpecifications/properties.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1150501387561
+ 5377812094259666025
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonDefinedAction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonDefinedAction/content.txt
new file mode 100644
index 0000000000..80184c9f97
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonDefinedAction/content.txt
@@ -0,0 +1,12 @@
+|''act''|
+
+|'''show'''|''get''|1|
+
+|''abandon storytest''|
+|'''show'''|''get''|2|
+
+|'''show'''|''get''|3|
+----
+|''act 2''|
+
+|''act''|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonDefinedAction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonDefinedAction/properties.xml
new file mode 100644
index 0000000000..da15b65342
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonDefinedAction/properties.xml
@@ -0,0 +1,14 @@
+
+
+ true
+ true
+ 20090928124616
+ true
+ true
+ true
+ true
+ true
+ true
+ 1254095176310
+ 9190678407425636824
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInDefinedAction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInDefinedAction/content.txt
new file mode 100644
index 0000000000..e4cab8fd88
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInDefinedAction/content.txt
@@ -0,0 +1,56 @@
+!**< def
+!define test (!|fitlibrary.specify.definedAction.DefinedActionUnderTest|
+
+|''clear defined actions''|
+
+|''define actions at''|.FitLibrary.SpecifiCations.DefinedActions.AbandonDefinedAction|
+
+|''act''|
+
+|''act''|
+)
+
+*!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.definedAction.DefinedActionUnderTest |
+
+
+
+| clear defined actions |
+
+
+
+
+| act |
+ Defined action call
+
+
+
+
+
+| abandon storytest |
+
+| show |
+get |
+2 |
+
+ |
+
+
-!|
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInDefinedAction/properties.xml b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInDefinedAction/properties.xml
new file mode 100644
index 0000000000..aff93f5618
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInDefinedAction/properties.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1254271924449
+ -7927597061473847117
+
diff --git a/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInNestedDefinedAction/content.txt b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInNestedDefinedAction/content.txt
new file mode 100644
index 0000000000..df321a30e7
--- /dev/null
+++ b/fitnesse/FitNesseRoot/FitLibrary/SpecifiCations/DefinedActions/AbandonInNestedDefinedAction/content.txt
@@ -0,0 +1,69 @@
+!**< def
+!define test (!|fitlibrary.specify.definedAction.DefinedActionUnderTest|
+
+|''clear defined actions''|
+
+|''define actions at''|.FitLibrary.SpecifiCations.DefinedActions.AbandonDefinedAction|
+
+|''set expand defined actions''|true|
+
+|''act 2''|
+
+|''act 2''|
+)
+
+*!
+|!-fitlibrary.spec.SpecifyFixture-!|
+|${test}|!-
+| fitlibrary.specify.definedAction.DefinedActionUnderTest |
+
+
+
+| clear defined actions |
+
+
+
+
+| set expand defined actions |
+true |
+
+
+