#include #include #include "behavior/behavior_event_format.h" #include "frame/frame.h" namespace rk3588 { namespace { TEST(BehaviorEventModelTest, FrameStoresBehaviorEventsSeparatelyFromDetections) { auto frame = std::make_shared(); frame->det = std::make_shared(); frame->behavior_events = std::make_shared(); BehaviorEventItem item; item.event_id = 7; item.type = BehaviorEventType::Fall; item.status = BehaviorEventStatus::Active; item.track_ids = {42}; item.duration_ms = 1600; frame->behavior_events->items.push_back(item); ASSERT_NE(frame->det, nullptr); ASSERT_NE(frame->behavior_events, nullptr); ASSERT_EQ(frame->behavior_events->items.size(), 1u); ASSERT_EQ(frame->behavior_events->items[0].track_ids.size(), 1u); EXPECT_EQ(frame->behavior_events->items[0].track_ids[0], 42); EXPECT_EQ(frame->behavior_events->items[0].duration_ms, 1600u); } TEST(BehaviorEventModelTest, FormatsBehaviorEventLabelForOsd) { BehaviorEventItem item; item.type = BehaviorEventType::Intrusion; item.track_ids = {9}; item.duration_ms = 2100; EXPECT_EQ(FormatBehaviorEventLabel(item), "intrusion #9 2.1s"); } } // namespace } // namespace rk3588