File: test-base32_cc.cc

package info (click to toggle)
pdns-recursor 4.8.8-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 9,620 kB
  • sloc: cpp: 95,714; javascript: 20,651; sh: 4,679; makefile: 652; xml: 37
file content (37 lines) | stat: -rw-r--r-- 1,133 bytes parent folder | download | duplicates (2)
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
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_NO_MAIN
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <boost/test/unit_test.hpp>
#include <boost/assign/list_of.hpp>

#include "base32.hh"

BOOST_AUTO_TEST_SUITE(test_base32_cc)

BOOST_AUTO_TEST_CASE(test_base32_basic) {
  typedef std::tuple<const std::string, const std::string> case_t;
  typedef std::list<case_t> cases_t;

  // RFC test vectors
  cases_t cases = boost::assign::list_of
    (case_t(std::string(""), std::string("")))
    (case_t(std::string("f"), std::string("co======")))
    (case_t(std::string("fo"), std::string("cpng====")))
    (case_t(std::string("foo"), std::string("cpnmu===")))
    (case_t(std::string("foob"), std::string("cpnmuog=")))
    (case_t(std::string("fooba"), std::string("cpnmuoj1")))
    (case_t(std::string("foobar"), std::string("cpnmuoj1e8======")))
  ;

  for(const case_t& val :  cases) {
     std::string res;
     res = toBase32Hex(std::get<0>(val));
     BOOST_CHECK_EQUAL(res, std::get<1>(val));
     res = fromBase32Hex(std::get<1>(val));
     BOOST_CHECK_EQUAL(res, std::get<0>(val));
  }
};

BOOST_AUTO_TEST_SUITE_END();