Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
BitVectorHashMapTest.cpp
Go to the documentation of this file.
1#include "test/storm_gtest.h"
2
3#include <cstdint>
4
7
8TEST(BitVectorHashMapTest, FindOrAdd) {
10
12 first.set(4);
13 first.set(47);
14 ASSERT_NO_THROW(map.findOrAdd(first, 1));
15
17 second.set(8);
18 second.set(18);
19 ASSERT_NO_THROW(map.findOrAdd(second, 2));
20
21 EXPECT_EQ(1ul, map.findOrAdd(first, 3));
22 EXPECT_EQ(2ul, map.findOrAdd(second, 3));
23
25 third.set(10);
26 third.set(63);
27
28 ASSERT_NO_THROW(map.findOrAdd(third, 3));
29
30 EXPECT_EQ(1ul, map.findOrAdd(first, 2));
31 EXPECT_EQ(2ul, map.findOrAdd(second, 1));
32 EXPECT_EQ(3ul, map.findOrAdd(third, 1));
33
35 fourth.set(12);
36 fourth.set(14);
37
38 ASSERT_NO_THROW(map.findOrAdd(fourth, 4));
39
40 EXPECT_EQ(1ul, map.findOrAdd(first, 2));
41 EXPECT_EQ(2ul, map.findOrAdd(second, 1));
42 EXPECT_EQ(3ul, map.findOrAdd(third, 1));
43 EXPECT_EQ(4ul, map.findOrAdd(fourth, 1));
44
46 fifth.set(44);
47 fifth.set(55);
48
49 ASSERT_NO_THROW(map.findOrAdd(fifth, 5));
50
51 EXPECT_EQ(1ul, map.findOrAdd(first, 2));
52 EXPECT_EQ(2ul, map.findOrAdd(second, 1));
53 EXPECT_EQ(3ul, map.findOrAdd(third, 1));
54 EXPECT_EQ(4ul, map.findOrAdd(fourth, 1));
55 EXPECT_EQ(5ul, map.findOrAdd(fifth, 1));
56
58 sixth.set(45);
59 sixth.set(55);
60
61 ASSERT_NO_THROW(map.findOrAdd(sixth, 6));
62
63 EXPECT_EQ(1ul, map.findOrAdd(first, 0));
64 EXPECT_EQ(2ul, map.findOrAdd(second, 0));
65 EXPECT_EQ(3ul, map.findOrAdd(third, 0));
66 EXPECT_EQ(4ul, map.findOrAdd(fourth, 0));
67 EXPECT_EQ(5ul, map.findOrAdd(fifth, 0));
68 EXPECT_EQ(6ul, map.findOrAdd(sixth, 0));
69}
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:18
void set(uint_fast64_t index, bool value=true)
Sets the given truth value at the given index.