1- using Adnc . FluidBT . TaskParents ;
1+ using System ;
2+ using Adnc . FluidBT . TaskParents ;
23using Adnc . FluidBT . Tasks ;
4+ using Adnc . FluidBT . Tasks . Actions ;
35using NSubstitute ;
46using NSubstitute . ReturnsExtensions ;
57using NUnit . Framework ;
@@ -86,13 +88,15 @@ public void It_should_not_update_previous_nodes_when_a_continue_node_is_rerun ()
8688 // @TODO Builder API for tasks
8789 public class WhenAbortLowerPriority : UpdateMethod {
8890 private Sequence _seqChild ;
91+ private ITask _taskCondition ;
8992
9093 [ SetUp ]
9194 public void Setup_lower_priority_trigger ( ) {
9295 _seqChild = new Sequence { AbortType = AbortType . LowerPriority } ;
93- _seqChild . AddChild ( _childA ) ;
94- _childA . GetAbortCondition ( ) . Returns ( _childA ) ;
9596
97+ _taskCondition = A . TaskStub ( ) . WithAbortConditionSelf ( true ) . Build ( ) ;
98+ _seqChild . AddChild ( _taskCondition ) ;
99+
96100 _sequence . children . Clear ( ) ;
97101 _sequence . AddChild ( _seqChild ) ;
98102 _sequence . AddChild ( _childB ) ;
@@ -107,18 +111,18 @@ public void Does_not_trigger_abort_on_first_update () {
107111 [ Test ]
108112 public void Triggers_when_a_lower_priority_sibling_composite_changes_from_success_to_failure ( ) {
109113 _sequence . Update ( ) ;
110- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
114+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
111115
112116 Assert . AreEqual ( TaskStatus . Failure , _sequence . Update ( ) ) ;
113117 }
114118
115119 [ Test ]
116120 public void Parent_task_triggers_reset_on_all_nodes ( ) {
117121 _sequence . Update ( ) ;
118- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
122+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
119123 _sequence . Update ( ) ;
120124
121- _childA . Received ( 1 ) . Reset ( ) ;
125+ _taskCondition . Received ( 1 ) . Reset ( ) ;
122126 _childB . Received ( 1 ) . Reset ( ) ;
123127 }
124128
@@ -127,34 +131,34 @@ public void Does_not_crash_on_a_conditional_abort_without_tasks () {
127131 _seqChild . children . Clear ( ) ;
128132
129133 _sequence . Update ( ) ;
130- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
134+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
131135 _sequence . Update ( ) ;
132136 }
133137
134138 [ Test ]
135139 public void Does_not_recheck_conditional_aborts_after_reset_is_called ( ) {
136140 _sequence . Update ( ) ;
137- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
141+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
138142 _sequence . Update ( ) ;
139143 _sequence . Update ( ) ;
140144
141- _childA . Received ( 3 ) . Update ( ) ;
145+ _taskCondition . Received ( 3 ) . Update ( ) ;
142146 }
143147
144148 [ Test ]
145149 public void Triggers_on_valid_conditional_task ( ) {
146150 _sequence . Update ( ) ;
147- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
151+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
148152
149153 Assert . AreEqual ( TaskStatus . Failure , _sequence . Update ( ) ) ;
150154 }
151155
152156 [ Test ]
153157 public void Does_not_trigger_on_invalid_conditional_task ( ) {
154- _childA . GetAbortCondition ( ) . ReturnsNull ( ) ;
158+ _taskCondition . GetAbortCondition ( ) . ReturnsNull ( ) ;
155159
156160 _sequence . Update ( ) ;
157- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
161+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
158162
159163 Assert . AreEqual ( TaskStatus . Continue , _sequence . Update ( ) ) ;
160164 }
@@ -163,11 +167,11 @@ public void Does_not_trigger_on_invalid_conditional_task () {
163167 public void Triggers_abort_on_nested_sequence_with_first_node_a_condition ( ) {
164168 _seqChild . children . Clear ( ) ;
165169 var nestedSeqChild = new Sequence ( ) ;
166- nestedSeqChild . AddChild ( _childA ) ;
170+ nestedSeqChild . AddChild ( _taskCondition ) ;
167171 _seqChild . AddChild ( nestedSeqChild ) ;
168172
169173 _sequence . Update ( ) ;
170- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
174+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
171175
172176 Assert . AreEqual ( TaskStatus . Failure , _sequence . Update ( ) ) ;
173177 }
@@ -176,21 +180,21 @@ public void Triggers_abort_on_nested_sequence_with_first_node_a_condition () {
176180 public void Does_not_trigger_on_nested_sequence_with_first_node_a_non_condition ( ) {
177181 _seqChild . children . Clear ( ) ;
178182 var nestedSeqChild = new Sequence ( ) ;
179- nestedSeqChild . AddChild ( _childA ) ;
183+ nestedSeqChild . AddChild ( _taskCondition ) ;
180184 _seqChild . AddChild ( nestedSeqChild ) ;
181185
182- _childA . GetAbortCondition ( ) . ReturnsNull ( ) ;
186+ _taskCondition . GetAbortCondition ( ) . ReturnsNull ( ) ;
183187
184188 _sequence . Update ( ) ;
185- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
189+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
186190
187191 Assert . AreEqual ( TaskStatus . Continue , _sequence . Update ( ) ) ;
188192 }
189193
190194 [ Test ]
191195 public void Triggers_end_on_exited_pointer_task ( ) {
192196 _sequence . Update ( ) ;
193- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
197+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
194198 _sequence . Update ( ) ;
195199
196200 _childB . Received ( 1 ) . End ( ) ;
@@ -207,7 +211,7 @@ public void Triggers_end_on_nested_task () {
207211 _sequence . AddChild ( sequence ) ;
208212
209213 _sequence . Update ( ) ;
210- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
214+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
211215 _sequence . Update ( ) ;
212216
213217 child . Received ( 1 ) . End ( ) ;
@@ -222,7 +226,7 @@ public void Triggers_on_lower_priority_2nd_sibling () {
222226 _sequence . AddChild ( _childB ) ;
223227
224228 _sequence . Update ( ) ;
225- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
229+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
226230
227231 Assert . AreEqual ( TaskStatus . Failure , _sequence . Update ( ) ) ;
228232 }
@@ -238,7 +242,7 @@ public void Triggers_on_lower_priority_3rd_sibling () {
238242 _sequence . AddChild ( _childB ) ;
239243
240244 _sequence . Update ( ) ;
241- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
245+ _taskCondition . Update ( ) . Returns ( TaskStatus . Failure ) ;
242246
243247 Assert . AreEqual ( TaskStatus . Failure , _sequence . Update ( ) ) ;
244248 }
0 commit comments