1- using System ;
2- using Adnc . FluidBT . TaskParents ;
1+ using Adnc . FluidBT . TaskParents ;
32using Adnc . FluidBT . Tasks ;
4- using Adnc . FluidBT . Tasks . Actions ;
53using NSubstitute ;
64using NSubstitute . ReturnsExtensions ;
75using NUnit . Framework ;
@@ -254,16 +252,15 @@ public void SetAbortTypeSelf () {
254252 }
255253
256254 public class DefaultCalls : WhenAbortSelf {
257- public void Triggers_on_valid_conditional_task ( ) {
258-
259- }
260-
255+ [ Test ]
261256 public void Does_not_trigger_on_invalid_conditional_task ( ) {
262-
263- }
264-
265- public void It_should_revaulate_parent_tasks_with_an_abort_type_assigned ( ) {
266-
257+ _childB . Update ( ) . Returns ( TaskStatus . Continue ) ;
258+
259+ _sequence . Update ( ) ;
260+
261+ _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
262+
263+ Assert . AreEqual ( TaskStatus . Continue , _sequence . Update ( ) ) ;
267264 }
268265
269266 [ Test ]
@@ -282,49 +279,66 @@ public void It_should_not_fail_if_no_children_are_present () {
282279
283280 [ Test ]
284281 public void Nested_sequence_will_return_failure_while_being_ticked_through_multiple_frames ( ) {
285- var parentSequence = new Sequence ( ) ;
286- parentSequence . AddChild ( _sequence ) ;
287- _childB . Update ( ) . Returns ( TaskStatus . Continue ) ;
288-
282+ var parentSequence = new Sequence { AbortType = AbortType . Self } ;
283+ var childSequence = new Sequence ( ) ;
284+ var condition = A . TaskStub ( ) . WithAbortConditionSelf ( true ) . Build ( ) ;
285+ var action = A . TaskStub ( ) . WithUpdateStatus ( TaskStatus . Continue ) . Build ( ) ;
286+
287+ parentSequence
288+ . AddChild ( childSequence . AddChild ( condition ) )
289+ . AddChild ( action ) ;
290+
289291 Assert . AreEqual ( TaskStatus . Continue , parentSequence . Update ( ) ) ;
290- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
292+ condition . Update ( ) . Returns ( TaskStatus . Failure ) ;
291293
292294 Assert . AreEqual ( TaskStatus . Failure , parentSequence . Update ( ) ) ;
293295 }
294296 }
295297
296298 public class WhenAbortIsReady : WhenAbortSelf {
299+ private Sequence _parentSequence ;
300+ private ITask _condition ;
301+ private ITask _action ;
302+
297303 [ SetUp ]
298304 public void SetupAbort ( ) {
299- _childB . Update ( ) . Returns ( TaskStatus . Continue ) ;
300- _sequence . Update ( ) ;
301- _childA . Update ( ) . Returns ( TaskStatus . Failure ) ;
305+ _parentSequence = new Sequence { AbortType = AbortType . Self } ;
306+ _condition = A . TaskStub ( ) . WithAbortConditionSelf ( true ) . Build ( ) ;
307+ _action = A . TaskStub ( ) . WithUpdateStatus ( TaskStatus . Continue ) . Build ( ) ;
308+
309+ _parentSequence
310+ . AddChild ( _condition )
311+ . AddChild ( _action ) ;
312+
313+ _parentSequence . Update ( ) ;
314+
315+ _condition . Update ( ) . Returns ( TaskStatus . Failure ) ;
302316 }
303317
304318 [ Test ]
305319 public void Return_failure_on_tick_if_the_first_node_changes_from_success_to_failure ( ) {
306- Assert . AreEqual ( TaskStatus . Failure , _sequence . Update ( ) ) ;
320+ Assert . AreEqual ( TaskStatus . Failure , _parentSequence . Update ( ) ) ;
307321 }
308322
309323 [ Test ]
310324 public void Does_not_abort_if_not_marked_abort_self ( ) {
311- _sequence . AbortType = AbortType . None ;
325+ _parentSequence . AbortType = AbortType . None ;
312326
313- Assert . AreEqual ( TaskStatus . Continue , _sequence . Update ( ) ) ;
327+ Assert . AreEqual ( TaskStatus . Continue , _parentSequence . Update ( ) ) ;
314328 }
315329
316330 [ Test ]
317331 public void It_should_run_end_when_aborting_on_the_active_node ( ) {
318- _sequence . Update ( ) ;
332+ _parentSequence . Update ( ) ;
319333
320- _childB . Received ( 1 ) . End ( ) ;
334+ _action . Received ( 1 ) . End ( ) ;
321335 }
322336
323337 [ Test ]
324338 public void Triggers_reset_after_firing_abort ( ) {
325- _sequence . Update ( ) ;
339+ _parentSequence . Update ( ) ;
326340
327- _sequence . children . ForEach ( ( child ) => {
341+ _parentSequence . children . ForEach ( ( child ) => {
328342 child . Received ( ) . Reset ( ) ;
329343 } ) ;
330344 }
0 commit comments