Electroneum
varint.cpp File Reference
#include <cstring>
#include <cstdint>
#include <cstdio>
#include <iostream>
#include <vector>
#include <boost/foreach.hpp>
#include "cryptonote_basic/cryptonote_basic.h"
#include "cryptonote_basic/cryptonote_basic_impl.h"
#include "serialization/binary_archive.h"
#include "serialization/json_archive.h"
#include "serialization/debug_archive.h"
#include "serialization/variant.h"
#include "serialization/vector.h"
#include "serialization/binary_utils.h"
#include "gtest/gtest.h"
Include dependency graph for varint.cpp:

Go to the source code of this file.

Functions

 TEST (varint, equal)
 

Function Documentation

◆ TEST()

TEST ( varint  ,
equal   
)

Definition at line 49 of file varint.cpp.

50 {
51  for (uint64_t idx = 0; idx < 65537; ++idx)
52  {
53  char buf[12];
54  char *bufptr = buf;
55  tools::write_varint(bufptr, idx);
56  uint64_t bytes = bufptr - buf;
57  ASSERT_TRUE (bytes > 0 && bytes <= sizeof(buf));
58 
59  uint64_t idx2;
60  bufptr = buf;
61  std::string s(buf, bytes);
62  int read = tools::read_varint(s.begin(), s.end(), idx2);
63  ASSERT_EQ (read, bytes);
64  ASSERT_TRUE(idx2 == idx);
65  }
66 }
::std::string string
Definition: gtest-port.h:1097
#define ASSERT_EQ(val1, val2)
Definition: gtest.h:1956
unsigned __int64 uint64_t
Definition: stdint.h:136
const char * buf
Definition: slow_memmem.cpp:74
#define ASSERT_TRUE(condition)
Definition: gtest.h:1865
std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value, void >::type write_varint(OutputIt &&dest, T i)
writes a varint to a stream.
Definition: varint.h:70
Here is the call graph for this function: