#include "components/segmentation_platform/internal/scheduler/model_execution_scheduler_impl.h"
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "base/test/simple_test_clock.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "components/segmentation_platform/internal/database/mock_signal_storage_config.h"
#include "components/segmentation_platform/internal/database/segment_info_database.h"
#include "components/segmentation_platform/internal/database/signal_storage_config.h"
#include "components/segmentation_platform/internal/database/test_segment_info_database.h"
#include "components/segmentation_platform/internal/execution/execution_request.h"
#include "components/segmentation_platform/internal/execution/mock_model_provider.h"
#include "components/segmentation_platform/internal/execution/model_manager.h"
#include "components/segmentation_platform/public/model_provider.h"
#include "components/segmentation_platform/public/proto/model_metadata.pb.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
_;
Return;
SaveArg;
namespace segmentation_platform {
SignalType;
SignalIdentifier;
namespace {
constexpr auto kTestSegmentId = …;
constexpr auto kTestOptimizationTarget2 = …;
}
class MockModelExecutionObserver : public ModelExecutionScheduler::Observer { … };
class MockModelManager : public ModelManager { … };
class MockModelExecutor : public ModelExecutor { … };
class ModelExecutionSchedulerTest : public testing::Test { … };
MATCHER_P(IsForTarget, segment_id, "") { … }
TEST_F(ModelExecutionSchedulerTest, OnNewModelInfoReady) { … }
TEST_F(ModelExecutionSchedulerTest, RequestModelExecutionForEligibleSegments) { … }
TEST_F(ModelExecutionSchedulerTest, OnModelExecutionCompleted) { … }
}