blob: 9476d86d49c5747bd327add545e19e60a8bd9e7b [file] [log] [blame]
peizhen guocf4df2d2014-08-12 13:22:32 -07001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/**
3 * Copyright (c) 2014, Regents of the University of California
4 *
5 * This file is part of NSL (NDN Signature Logger).
6 * See AUTHORS.md for complete list of NSL authors and contributors.
7 *
8 * NSL is free software: you can redistribute it and/or modify it under the terms
9 * of the GNU General Public License as published by the Free Software Foundation,
10 * either version 3 of the License, or (at your option) any later version.
11 *
12 * NSL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
13 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 * PURPOSE. See the GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along with
17 * NSL, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * @author Peizhen Guo <patrick.guopz@gmail.com>
20 */
21#include <stdint.h>
22#include <iostream>
23#include <boost-test.hpp>
24
25#include "leaf.hpp"
26#include "intermediate-node.hpp"
27
28namespace nsl {
29
30
31BOOST_AUTO_TEST_SUITE(NodeTest)
32
33
34BOOST_AUTO_TEST_CASE(LeafTest)
35{
36 //Test the constructor & getFunc
37 Index idx;
38 idx.number = 1;
39 idx.level = 0;
40 ndn::Buffer buffer;
41 for (int i = 0; i < 10; i++)
42 {
43 buffer.push_back(i + 65); // from A to J
44 }
45 ndn::ConstBufferPtr p_buf = boost::make_shared<const ndn::Buffer>(buffer);
46 Leaf leaf_node(p_buf, idx.number, idx.level, 0);
47 BOOST_CHECK(leaf_node.getIndex().number == 1);
48 BOOST_CHECK(leaf_node.getIndex().level == 0);
49 ndn::ConstBufferPtr data = leaf_node.getData();
50 for (int i = 0; i < data->size(); i++)
51 {
52 std::cout<<(*data)[i]<<' ';
53 }
54 std::cout<<"Data Finished"<<std::endl;
55 //Test hash computation
56 leaf_node.computeHash();
57 ndn::ConstBufferPtr hash = leaf_node.getHash();
58 for (int i = 0; i < hash->size(); i++)
59 {
60 std::cout<<int((*hash)[i])<<' ';
61 }
62 std::cout<<"Hash Finished"<<std::endl;
63}
64
65BOOST_AUTO_TEST_CASE(IntermediateNodeTest)
66{
67 //Test update full condition
68 IntermediateNode inter_node(2,1,0);
69 inter_node.setIsFull(4);
70 BOOST_CHECK(inter_node.isFull() == true);
71 inter_node.setIsFull(2);
72 BOOST_CHECK(inter_node.isFull() == false);
73}
74
75BOOST_AUTO_TEST_SUITE_END()
76
77
78
79} // namespace nsl