Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
BitVectorHashMapTest.cpp
Go to the documentation of this file.
1#include "storm-config.h"
2#include "test/storm_gtest.h"
3
4#include <cstdint>
5
8
9TEST(BitVectorHashMapTest, FindOrAdd) {
11
13 first.set(4);
14 first.set(47);
15 ASSERT_NO_THROW(map.findOrAdd(first, 1));
16
18 second.set(8);
19 second.set(18);
20 ASSERT_NO_THROW(map.findOrAdd(second, 2));
21
22 EXPECT_EQ(1ul, map.findOrAdd(first, 3));
23 EXPECT_EQ(2ul, map.findOrAdd(second, 3));
24
26 third.set(10);
27 third.set(63);
28
29 ASSERT_NO_THROW(map.findOrAdd(third, 3));
30
31 EXPECT_EQ(1ul, map.findOrAdd(first, 2));
32 EXPECT_EQ(2ul, map.findOrAdd(second, 1));
33 EXPECT_EQ(3ul, map.findOrAdd(third, 1));
34
36 fourth.set(12);
37 fourth.set(14);
38
39 ASSERT_NO_THROW(map.findOrAdd(fourth, 4));
40
41 EXPECT_EQ(1ul, map.findOrAdd(first, 2));
42 EXPECT_EQ(2ul, map.findOrAdd(second, 1));
43 EXPECT_EQ(3ul, map.findOrAdd(third, 1));
44 EXPECT_EQ(4ul, map.findOrAdd(fourth, 1));
45
47 fifth.set(44);
48 fifth.set(55);
49
50 ASSERT_NO_THROW(map.findOrAdd(fifth, 5));
51
52 EXPECT_EQ(1ul, map.findOrAdd(first, 2));
53 EXPECT_EQ(2ul, map.findOrAdd(second, 1));
54 EXPECT_EQ(3ul, map.findOrAdd(third, 1));
55 EXPECT_EQ(4ul, map.findOrAdd(fourth, 1));
56 EXPECT_EQ(5ul, map.findOrAdd(fifth, 1));
57
59 sixth.set(45);
60 sixth.set(55);
61
62 ASSERT_NO_THROW(map.findOrAdd(sixth, 6));
63
64 EXPECT_EQ(1ul, map.findOrAdd(first, 0));
65 EXPECT_EQ(2ul, map.findOrAdd(second, 0));
66 EXPECT_EQ(3ul, map.findOrAdd(third, 0));
67 EXPECT_EQ(4ul, map.findOrAdd(fourth, 0));
68 EXPECT_EQ(5ul, map.findOrAdd(fifth, 0));
69 EXPECT_EQ(6ul, map.findOrAdd(sixth, 0));
70}
TEST(BitVectorHashMapTest, FindOrAdd)
This class represents a hash-map whose keys are bit vectors.
ValueType findOrAdd(storm::storage::BitVector const &key, ValueType const &value)
Searches for the given key in the map.
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:16
void set(uint64_t index, bool value=true)
Sets the given truth value at the given index.