1
1
using System . Collections . Generic ;
2
+ using System . Linq ;
2
3
using CleverCrow . Fluid . BTs . TaskParents . Composites ;
3
4
using CleverCrow . Fluid . BTs . Tasks ;
5
+ using CleverCrow . Fluid . BTs . Testing ;
4
6
using NSubstitute ;
5
7
using NUnit . Framework ;
6
8
using UnityEngine ;
@@ -121,6 +123,27 @@ public void It_should_increase_the_tick_count () {
121
123
122
124
Assert . AreEqual ( 1 , _tree . TickCount ) ;
123
125
}
126
+
127
+ [ Test ]
128
+ public void It_should_call_End_on_active_nodes ( ) {
129
+ var task = A . TaskStub ( ) . Build ( ) ;
130
+
131
+ _tree . AddActiveTask ( task ) ;
132
+ _tree . Reset ( ) ;
133
+
134
+ task . Received ( 1 ) . End ( ) ;
135
+ }
136
+
137
+ [ Test ]
138
+ public void It_should_not_call_End_on_active_nodes_twice_if_called_again ( ) {
139
+ var task = A . TaskStub ( ) . Build ( ) ;
140
+
141
+ _tree . AddActiveTask ( task ) ;
142
+ _tree . Reset ( ) ;
143
+ _tree . Reset ( ) ;
144
+
145
+ task . Received ( 1 ) . End ( ) ;
146
+ }
124
147
}
125
148
126
149
public class TickMethod : BehaviorTreeTest {
@@ -218,5 +241,28 @@ public void Does_not_run_reset_on_2nd_action_if_1st_fails () {
218
241
}
219
242
}
220
243
}
244
+
245
+ public class AddActiveTaskMethod : BehaviorTreeTest {
246
+ [ Test ]
247
+ public void It_should_add_an_active_task ( ) {
248
+ var task = A . TaskStub ( ) . Build ( ) ;
249
+
250
+ _tree . AddActiveTask ( task ) ;
251
+
252
+ Assert . IsTrue ( _tree . ActiveTasks . Contains ( task ) ) ;
253
+ }
254
+ }
255
+
256
+ public class RemoveActiveTaskMethod : BehaviorTreeTest {
257
+ [ Test ]
258
+ public void It_should_add_an_active_task ( ) {
259
+ var task = A . TaskStub ( ) . Build ( ) ;
260
+
261
+ _tree . AddActiveTask ( task ) ;
262
+ _tree . RemoveActiveTask ( task ) ;
263
+
264
+ Assert . IsFalse ( _tree . ActiveTasks . Contains ( task ) ) ;
265
+ }
266
+ }
221
267
}
222
268
}
0 commit comments