mirror of https://github.com/oxen-io/lokinet
add unit test for decaying hash set
parent
a9c9fe9c24
commit
562f3f07ab
@ -0,0 +1 @@
|
||||
#include <util/decaying_hashset.hpp>
|
@ -0,0 +1,43 @@
|
||||
#include <util/decaying_hashset.hpp>
|
||||
#include <router_id.hpp>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
struct DecayingHashSetTest : public ::testing::Test
|
||||
{
|
||||
};
|
||||
|
||||
TEST_F(DecayingHashSetTest, TestDecayDeterministc)
|
||||
{
|
||||
static constexpr llarp_time_t timeout = 5;
|
||||
static constexpr llarp_time_t now = 1;
|
||||
llarp::util::DecayingHashSet< llarp::RouterID > hashset(timeout);
|
||||
const llarp::RouterID zero;
|
||||
ASSERT_TRUE(zero.IsZero());
|
||||
ASSERT_FALSE(hashset.Contains(zero));
|
||||
ASSERT_TRUE(hashset.Insert(zero, now));
|
||||
ASSERT_TRUE(hashset.Contains(zero));
|
||||
hashset.Decay(now + 1);
|
||||
ASSERT_TRUE(hashset.Contains(zero));
|
||||
hashset.Decay(now + timeout);
|
||||
ASSERT_FALSE(hashset.Contains(zero));
|
||||
hashset.Decay(now + timeout + 1);
|
||||
ASSERT_FALSE(hashset.Contains(zero));
|
||||
}
|
||||
|
||||
TEST_F(DecayingHashSetTest, TestDecay)
|
||||
{
|
||||
static constexpr llarp_time_t timeout = 5;
|
||||
const llarp_time_t now = llarp::time_now_ms();
|
||||
llarp::util::DecayingHashSet< llarp::RouterID > hashset(timeout);
|
||||
const llarp::RouterID zero;
|
||||
ASSERT_TRUE(zero.IsZero());
|
||||
ASSERT_FALSE(hashset.Contains(zero));
|
||||
ASSERT_TRUE(hashset.Insert(zero));
|
||||
ASSERT_TRUE(hashset.Contains(zero));
|
||||
hashset.Decay(now + 1);
|
||||
ASSERT_TRUE(hashset.Contains(zero));
|
||||
hashset.Decay(now + timeout);
|
||||
ASSERT_FALSE(hashset.Contains(zero));
|
||||
hashset.Decay(now + timeout + 1);
|
||||
ASSERT_FALSE(hashset.Contains(zero));
|
||||
}
|
Loading…
Reference in New Issue