🦄 refactor(directory structure): restructure and rename src to infra

This commit is contained in:
yangwei
2024-08-28 14:52:26 +08:00
parent aa1bfb383f
commit 16b18624ab
131 changed files with 31 additions and 27 deletions

View File

@@ -0,0 +1,48 @@
#include <gtest/gtest.h>
#include "snowflake.h"
TEST(SNOWFLAKE, GENERATE)
{
uint16_t thread_id = 1;
uint8_t worker_base_id = 2;
uint8_t worker_offset_id = 3;
struct snowflake *sf = snowflake_new(thread_id, worker_base_id, worker_offset_id);
EXPECT_TRUE(sf != NULL);
EXPECT_TRUE(snowflake_generate(sf, 1000) != 0);
snowflake_free(sf);
}
TEST(SNOWFLAKE, DESERIALIZE)
{
uint16_t thread_id = 1;
uint8_t worker_base_id = 2;
uint8_t worker_offset_id = 3;
struct snowflake *sf = snowflake_new(thread_id, worker_base_id, worker_offset_id);
EXPECT_TRUE(sf != NULL);
for (uint64_t i = 0; i < 5; i++)
{
uint64_t id = snowflake_generate(sf, i + 1000);
EXPECT_TRUE(id != 0);
struct snowflake_meta meta = {};
snowflake_deserialize(id, &meta);
EXPECT_EQ(meta.sequence, i);
EXPECT_EQ(meta.time_relative, i + 1000);
EXPECT_EQ(meta.thread_id, thread_id);
EXPECT_EQ(meta.device_id, (worker_base_id << 7) | worker_offset_id);
EXPECT_EQ(meta.worker_base_id, worker_base_id);
EXPECT_EQ(meta.worker_offset_id, worker_offset_id);
}
snowflake_free(sf);
}
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}