Skip to content

Commit 410e888

Browse files
committed
revert #329
1 parent 3325745 commit 410e888

File tree

2 files changed

+1
-141
lines changed

2 files changed

+1
-141
lines changed

src/controls/sequence_star_node.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ NodeStatus SequenceWithMemory::tick()
8989

9090
void SequenceWithMemory::halt()
9191
{
92-
// DO NOT reset current_child_idx_ on halt
92+
current_child_idx_ = 0;
9393
ControlNode::halt();
9494
}
9595

tests/gtest_sequence.cpp

Lines changed: 0 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -387,143 +387,3 @@ TEST_F(ComplexSequenceWithMemoryTest, Conditions1ToFalse)
387387
ASSERT_EQ(NodeStatus::IDLE, action_2.status());
388388
}
389389

390-
TEST_F(ComplexSequenceWithMemoryTest, Conditions2ToFalse)
391-
{
392-
BT::NodeStatus state = root.executeTick();
393-
394-
condition_2.setExpectedResult(NodeStatus::FAILURE);
395-
state = root.executeTick();
396-
// change in condition_2 does not affect the state of the tree,
397-
// since the seq_conditions was executed already
398-
ASSERT_EQ(NodeStatus::RUNNING, state);
399-
ASSERT_EQ(NodeStatus::SUCCESS, seq_conditions.status());
400-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
401-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
402-
ASSERT_EQ(NodeStatus::RUNNING, seq_actions.status());
403-
ASSERT_EQ(NodeStatus::RUNNING, action_1.status());
404-
ASSERT_EQ(NodeStatus::IDLE, action_2.status());
405-
}
406-
407-
TEST_F(ComplexSequenceWithMemoryTest, Action1DoneSeq)
408-
{
409-
root.executeTick();
410-
411-
condition_2.setExpectedResult(NodeStatus::FAILURE);
412-
root.executeTick();
413-
414-
// change in condition_2 does not affect the state of the tree,
415-
// since the seq_conditions was executed already
416-
ASSERT_EQ(NodeStatus::SUCCESS, seq_conditions.status());
417-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
418-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
419-
ASSERT_EQ(NodeStatus::RUNNING, seq_actions.status());
420-
ASSERT_EQ(NodeStatus::RUNNING, action_1.status());
421-
ASSERT_EQ(NodeStatus::IDLE, action_2.status());
422-
423-
std::this_thread::sleep_for(milliseconds(150));
424-
root.executeTick();
425-
426-
ASSERT_EQ(NodeStatus::SUCCESS, seq_conditions.status());
427-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
428-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
429-
ASSERT_EQ(NodeStatus::RUNNING, seq_actions.status());
430-
ASSERT_EQ(NodeStatus::SUCCESS, action_1.status());
431-
ASSERT_EQ(NodeStatus::RUNNING, action_2.status());
432-
433-
std::this_thread::sleep_for(milliseconds(150));
434-
root.executeTick();
435-
436-
ASSERT_EQ(NodeStatus::SUCCESS, root.status());
437-
ASSERT_EQ(NodeStatus::IDLE, seq_conditions.status());
438-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
439-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
440-
ASSERT_EQ(NodeStatus::IDLE, seq_actions.status());
441-
ASSERT_EQ(NodeStatus::IDLE, action_1.status());
442-
ASSERT_EQ(NodeStatus::IDLE, action_2.status());
443-
}
444-
445-
TEST_F(ComplexSequenceWithMemoryTest, Action2FailureSeq)
446-
{
447-
root.executeTick();
448-
std::this_thread::sleep_for(milliseconds(150));
449-
root.executeTick();
450-
451-
ASSERT_EQ(NodeStatus::SUCCESS, seq_conditions.status());
452-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
453-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
454-
ASSERT_EQ(NodeStatus::RUNNING, seq_actions.status());
455-
ASSERT_EQ(NodeStatus::SUCCESS, action_1.status());
456-
ASSERT_EQ(NodeStatus::RUNNING, action_2.status());
457-
458-
action_2.setExpectedResult(NodeStatus::FAILURE);
459-
std::this_thread::sleep_for(milliseconds(150));
460-
root.executeTick();
461-
462-
// failure in action_2 does not affect the state of already
463-
// executed nodes (seq_conditions and action_1)
464-
ASSERT_EQ(NodeStatus::FAILURE, root.status());
465-
ASSERT_EQ(NodeStatus::SUCCESS, seq_conditions.status());
466-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
467-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
468-
ASSERT_EQ(NodeStatus::IDLE, seq_actions.status());
469-
ASSERT_EQ(NodeStatus::SUCCESS, action_1.status());
470-
ASSERT_EQ(NodeStatus::IDLE, action_2.status());
471-
472-
action_2.setExpectedResult(NodeStatus::SUCCESS);
473-
root.executeTick();
474-
475-
ASSERT_EQ(NodeStatus::SUCCESS, seq_conditions.status());
476-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
477-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
478-
ASSERT_EQ(NodeStatus::RUNNING, seq_actions.status());
479-
ASSERT_EQ(NodeStatus::SUCCESS, action_1.status());
480-
ASSERT_EQ(NodeStatus::RUNNING, action_2.status());
481-
482-
std::this_thread::sleep_for(milliseconds(150));
483-
root.executeTick();
484-
485-
ASSERT_EQ(NodeStatus::SUCCESS, root.status());
486-
ASSERT_EQ(NodeStatus::IDLE, seq_conditions.status());
487-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
488-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
489-
ASSERT_EQ(NodeStatus::IDLE, seq_actions.status());
490-
ASSERT_EQ(NodeStatus::IDLE, action_1.status());
491-
ASSERT_EQ(NodeStatus::IDLE, action_2.status());
492-
}
493-
494-
TEST_F(ComplexSequenceWithMemoryTest, Action2HaltSeq)
495-
{
496-
root.executeTick();
497-
std::this_thread::sleep_for(milliseconds(150));
498-
root.executeTick();
499-
500-
root.halt();
501-
502-
ASSERT_EQ(NodeStatus::IDLE, seq_conditions.status());
503-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
504-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
505-
ASSERT_EQ(NodeStatus::IDLE, seq_actions.status());
506-
ASSERT_EQ(NodeStatus::IDLE, action_1.status());
507-
ASSERT_EQ(NodeStatus::IDLE, action_2.status());
508-
509-
root.executeTick();
510-
511-
// tree retakes execution from action_2
512-
ASSERT_EQ(NodeStatus::IDLE, seq_conditions.status());
513-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
514-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
515-
ASSERT_EQ(NodeStatus::RUNNING, seq_actions.status());
516-
ASSERT_EQ(NodeStatus::IDLE, action_1.status());
517-
ASSERT_EQ(NodeStatus::RUNNING, action_2.status());
518-
519-
std::this_thread::sleep_for(milliseconds(150));
520-
root.executeTick();
521-
522-
ASSERT_EQ(NodeStatus::SUCCESS, root.status());
523-
ASSERT_EQ(NodeStatus::IDLE, seq_conditions.status());
524-
ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
525-
ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
526-
ASSERT_EQ(NodeStatus::IDLE, seq_actions.status());
527-
ASSERT_EQ(NodeStatus::IDLE, action_1.status());
528-
ASSERT_EQ(NodeStatus::IDLE, action_2.status());
529-
}

0 commit comments

Comments
 (0)