File: QueueMapTest.cpp

package info (click to toggle)
cryfs 1.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 28,412 kB
  • sloc: cpp: 150,187; asm: 10,493; python: 1,455; javascript: 65; sh: 50; makefile: 17; xml: 7
file content (44 lines) | stat: -rw-r--r-- 1,050 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "QueueMapTest.h"

QueueMapTest::QueueMapTest(): _map(cpputils::make_unique_ref<blockstore::caching::QueueMap<MinimalKeyType, MinimalValueType>>()) {
  MinimalKeyType::instances = 0;
  MinimalValueType::instances = 0;
}

QueueMapTest::~QueueMapTest() {
  cpputils::destruct(std::move(_map));
  EXPECT_EQ(0, MinimalKeyType::instances);
  EXPECT_EQ(0, MinimalValueType::instances);
}

void QueueMapTest::push(int key, int value) {
  _map->push(MinimalKeyType::create(key), MinimalValueType::create(value));
}

boost::optional<int> QueueMapTest::pop() {
  auto elem = _map->pop();
  if (!elem) {
    return boost::none;
  }
  return elem.value().value();
}

boost::optional<int> QueueMapTest::pop(int key) {
  auto elem = _map->pop(MinimalKeyType::create(key));
  if (!elem) {
    return boost::none;
  }
  return elem.value().value();
}

boost::optional<int> QueueMapTest::peek() {
  auto elem = _map->peek();
  if (!elem) {
    return boost::none;
  }
  return elem.value().value();
}

uint32_t QueueMapTest::size() {
  return _map->size();
}