#include "components/segmentation_platform/internal/database/segment_info_database.h"
#include "base/memory/raw_ptr.h"
#include "base/strings/string_number_conversions.h"
#include "base/test/task_environment.h"
#include "components/leveldb_proto/public/proto_database.h"
#include "components/leveldb_proto/testing/fake_db.h"
#include "components/segmentation_platform/public/model_provider.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
InitStatus;
namespace segmentation_platform {
namespace {
const SegmentId kSegmentId = …;
const SegmentId kSegmentId2 = …;
const ModelSource kDefaultModelSource = …;
const ModelSource kServerModelSource = …;
const ModelSource kUnknownModelSource = …;
std::string ToString(SegmentId segment_id, ModelSource model_source) { … }
proto::SegmentInfo CreateSegment(SegmentId segment_id,
ModelSource model_source,
std::optional<int> result = std::nullopt) { … }
}
class SegmentInfoDatabaseTest : public testing::Test { … };
TEST_F(SegmentInfoDatabaseTest, Get) { … }
TEST_F(SegmentInfoDatabaseTest, GetSegmentInfoForBothModels) { … }
TEST_F(SegmentInfoDatabaseTest, Update) { … }
TEST_F(SegmentInfoDatabaseTest, UpdateWithUnknownModelSource) { … }
TEST_F(SegmentInfoDatabaseTest, UpdateWithModelSource) { … }
TEST_F(SegmentInfoDatabaseTest, UpdateMultipleSegments) { … }
TEST_F(SegmentInfoDatabaseTest, WriteResult) { … }
TEST_F(SegmentInfoDatabaseTest, WriteTrainingData) { … }
TEST_F(SegmentInfoDatabaseTest, WriteResultForTwoSegments) { … }
}