Split the tasks and names factory tests out

Split out the tasks and names factory tests into their own test case
with its own root to make it easier to maintain and to debug when
something goes wrong.

Change-Id: I237ce974ef543cd52dafff9715d0dc7deffba3c5
diff --git a/src/main/resources/Documentation/test/task_states.md b/src/main/resources/Documentation/test/task_states.md
index 7ab6c3e..f078db7 100644
--- a/src/main/resources/Documentation/test/task_states.md
+++ b/src/main/resources/Documentation/test/task_states.md
@@ -779,7 +779,6 @@
 [task "Subtask Properties"]
   subtask = Subtask Properties Hints
   subtask = Subtask Properties Reset
-  subtasks-factory = TaskFactory Properties Hints
 
 [task "Subtask Properties Hints"]
   set-first-property = first-value
@@ -793,15 +792,6 @@
   set-first-property = reset-first-value
   fail-hint = first-property(${first-property})
 
-[tasks-factory "TaskFactory Properties Hints"]
-  names-factory = NamesFactory Properties
-  fail-hint = Name(${_name}) Change Number(${_change_number}) Change Id(${_change_id}) Change Project(${_change_project}) Change Branch(${_change_branch}) Change Status(${_change_status}) Change Topic(${_change_topic})
-  fail = True
-
-[names-factory "NamesFactory Properties"]
-  type = change
-  changes = change:_change1_number OR change:${_change_number} project:${_change_project} branch:${_change_branch}
-
 {
    "applicable" : true,
    "hasPass" : false,
@@ -826,20 +816,6 @@
                "hasPass" : true,
                "name" : "Subtask Properties Reset",
                "status" : "PASS"
-            },
-            {
-               "applicable" : true,
-               "hasPass" : true,
-               "hint" : "Name(_change3_number) Change Number(_change3_number) Change Id(_change3_id) Change Project(_change3_project) Change Branch(_change3_branch) Change Status(_change3_status) Change Topic(_change3_topic)",
-               "name" : "_change3_number",
-               "status" : "FAIL"
-            },
-            {
-               "applicable" : true,
-               "hasPass" : true,
-               "hint" : "Name(_change1_number) Change Number(_change3_number) Change Id(_change3_id) Change Project(_change3_project) Change Branch(_change3_branch) Change Status(_change3_status) Change Topic(_change3_topic)",
-               "name" : "_change1_number",
-               "status" : "FAIL"
             }
          ]
       }
@@ -944,6 +920,67 @@
    ]
 }
 
+[root "Root TaskFactory Properties"]
+  subtasks-factory = TaskFactory Properties
+
+[tasks-factory "TaskFactory Properties"]
+  set-welcome-message = Welcome to the pleasuredome
+  names-factory = names-factory my change
+  fail-hint = ${welcome-message} Name(${_name}) Change Number(${_change_number}) Change Id(${_change_id}) Change Project(${_change_project}) Change Branch(${_change_branch}) Change Status(${_change_status}) Change Topic(${_change_topic})
+  fail = True
+
+[names-factory "names-factory my change"]
+  type = change
+  changes = change:${_change_number}
+
+{
+   "applicable" : true,
+   "hasPass" : false,
+   "name" : "Root TaskFactory Properties",
+   "status" : "WAITING",
+   "subTasks" : [
+      {
+         "applicable" : true,
+         "hasPass" : true,
+         "hint" : "Welcome to the pleasuredome Name(_change3_number) Change Number(_change3_number) Change Id(_change3_id) Change Project(_change3_project) Change Branch(_change3_branch) Change Status(_change3_status) Change Topic(_change3_topic)",
+         "name" : "_change3_number",
+         "status" : "FAIL"
+      }
+   ]
+}
+
+[root "Root NamesFactory Properties"]
+  subtasks-factory = TaskFactory NamesFactory Properties
+
+[tasks-factory "TaskFactory NamesFactory Properties"]
+  names-factory = NamesFactory Properties
+  fail = True
+
+[names-factory "NamesFactory Properties"]
+  type = change
+  changes = change:_change1_number OR change:${_change_number} project:${_change_project} branch:${_change_branch}
+
+{
+   "applicable" : true,
+   "hasPass" : false,
+   "name" : "Root NamesFactory Properties",
+   "status" : "WAITING",
+   "subTasks" : [
+      {
+         "applicable" : true,
+         "hasPass" : true,
+         "name" : "_change3_number",
+         "status" : "FAIL"
+      },
+      {
+         "applicable" : true,
+         "hasPass" : true,
+         "name" : "_change1_number",
+         "status" : "FAIL"
+      }
+   ]
+}
+
 [root "Root Properties Expansion"]
   applicable = status:open
   subtask = Subtask Property Expansion fail-hint