about summary refs log tree commit diff
path: root/third_party/abseil_cpp/absl/random/seed_sequences_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/abseil_cpp/absl/random/seed_sequences_test.cc')
-rw-r--r--third_party/abseil_cpp/absl/random/seed_sequences_test.cc126
1 files changed, 0 insertions, 126 deletions
diff --git a/third_party/abseil_cpp/absl/random/seed_sequences_test.cc b/third_party/abseil_cpp/absl/random/seed_sequences_test.cc
deleted file mode 100644
index fe1100bda0..0000000000
--- a/third_party/abseil_cpp/absl/random/seed_sequences_test.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright 2017 The Abseil Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "absl/random/seed_sequences.h"
-
-#include <iterator>
-#include <random>
-
-#include "gmock/gmock.h"
-#include "gtest/gtest.h"
-#include "absl/random/internal/nonsecure_base.h"
-#include "absl/random/random.h"
-namespace {
-
-TEST(SeedSequences, Examples) {
-  {
-    absl::SeedSeq seed_seq({1, 2, 3});
-    absl::BitGen bitgen(seed_seq);
-
-    EXPECT_NE(0, bitgen());
-  }
-  {
-    absl::BitGen engine;
-    auto seed_seq = absl::CreateSeedSeqFrom(&engine);
-    absl::BitGen bitgen(seed_seq);
-
-    EXPECT_NE(engine(), bitgen());
-  }
-  {
-    auto seed_seq = absl::MakeSeedSeq();
-    std::mt19937 random(seed_seq);
-
-    EXPECT_NE(0, random());
-  }
-}
-
-TEST(CreateSeedSeqFrom, CompatibleWithStdTypes) {
-  using ExampleNonsecureURBG =
-      absl::random_internal::NonsecureURBGBase<std::minstd_rand0>;
-
-  // Construct a URBG instance.
-  ExampleNonsecureURBG rng;
-
-  // Construct a Seed Sequence from its variates.
-  auto seq_from_rng = absl::CreateSeedSeqFrom(&rng);
-
-  // Ensure that another URBG can be validly constructed from the Seed Sequence.
-  std::mt19937_64{seq_from_rng};
-}
-
-TEST(CreateSeedSeqFrom, CompatibleWithBitGenerator) {
-  // Construct a URBG instance.
-  absl::BitGen rng;
-
-  // Construct a Seed Sequence from its variates.
-  auto seq_from_rng = absl::CreateSeedSeqFrom(&rng);
-
-  // Ensure that another URBG can be validly constructed from the Seed Sequence.
-  std::mt19937_64{seq_from_rng};
-}
-
-TEST(CreateSeedSeqFrom, CompatibleWithInsecureBitGen) {
-  // Construct a URBG instance.
-  absl::InsecureBitGen rng;
-
-  // Construct a Seed Sequence from its variates.
-  auto seq_from_rng = absl::CreateSeedSeqFrom(&rng);
-
-  // Ensure that another URBG can be validly constructed from the Seed Sequence.
-  std::mt19937_64{seq_from_rng};
-}
-
-TEST(CreateSeedSeqFrom, CompatibleWithRawURBG) {
-  // Construct a URBG instance.
-  std::random_device urandom;
-
-  // Construct a Seed Sequence from its variates, using 64b of seed-material.
-  auto seq_from_rng = absl::CreateSeedSeqFrom(&urandom);
-
-  // Ensure that another URBG can be validly constructed from the Seed Sequence.
-  std::mt19937_64{seq_from_rng};
-}
-
-template <typename URBG>
-void TestReproducibleVariateSequencesForNonsecureURBG() {
-  const size_t kNumVariates = 1000;
-
-  URBG rng;
-  // Reused for both RNG instances.
-  auto reusable_seed = absl::CreateSeedSeqFrom(&rng);
-
-  typename URBG::result_type variates[kNumVariates];
-  {
-    URBG child(reusable_seed);
-    for (auto& variate : variates) {
-      variate = child();
-    }
-  }
-  // Ensure that variate-sequence can be "replayed" by identical RNG.
-  {
-    URBG child(reusable_seed);
-    for (auto& variate : variates) {
-      ASSERT_EQ(variate, child());
-    }
-  }
-}
-
-TEST(CreateSeedSeqFrom, ReproducesVariateSequencesForInsecureBitGen) {
-  TestReproducibleVariateSequencesForNonsecureURBG<absl::InsecureBitGen>();
-}
-
-TEST(CreateSeedSeqFrom, ReproducesVariateSequencesForBitGenerator) {
-  TestReproducibleVariateSequencesForNonsecureURBG<absl::BitGen>();
-}
-}  // namespace