/** * @file data_generation/mock/generate_user.cc * @brief Generates deterministic mock user profiles by hashing city, persona, * and sampled name into predefined username and bio collections. */ #include #include "data_generation/mock_generator.h" UserResult MockGenerator::GenerateUser(const EnrichedCity& city, const UserPersona& persona, const Name& name) { const size_t hash = DeterministicHash(city.location, persona, name); const std::string_view username = kUsernames[hash % kUsernames.size()]; const std::string_view bio = kBios[hash / kBioHashStride % kBios.size()]; const float activity_weight = static_cast(hash / kActivityWeightHashStride % kActivityWeightHashRange) / static_cast(kActivityWeightHashRange); return { .first_name = name.first_name, .last_name = name.last_name, .gender = name.gender, .username = std::string(username), .bio = std::string(bio), .activity_weight = activity_weight, }; }