diff options
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_test.cc')
-rw-r--r-- | src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_test.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_test.cc b/src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_test.cc new file mode 100644 index 000000000..35cfd4a1e --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/sdk/test/common/random_test.cc @@ -0,0 +1,35 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include "src/common/random.h" + +#include <algorithm> +#include <iterator> + +#include <gtest/gtest.h> +using opentelemetry::sdk::common::Random; + +TEST(RandomTest, GenerateRandom64) +{ + EXPECT_NE(Random::GenerateRandom64(), Random::GenerateRandom64()); +} + +TEST(RandomTest, GenerateRandomBuffer) +{ + uint8_t buf1[8] = {0}; + uint8_t buf2[8] = {0}; + Random::GenerateRandomBuffer(buf1); + Random::GenerateRandomBuffer(buf2); + EXPECT_FALSE(std::equal(std::begin(buf1), std::end(buf1), std::begin(buf2))); + + // Edge cases. + for (auto size : {7, 8, 9, 16, 17}) + { + std::vector<uint8_t> buf1(size); + std::vector<uint8_t> buf2(size); + + Random::GenerateRandomBuffer(buf1); + Random::GenerateRandomBuffer(buf2); + EXPECT_FALSE(std::equal(std::begin(buf1), std::end(buf1), std::begin(buf2))); + } +} |