File: DUID_unittest.cc

package info (click to toggle)
dibbler 1.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 13,352 kB
  • sloc: cpp: 60,323; ansic: 12,235; sh: 11,951; yacc: 3,418; lex: 969; makefile: 940; perl: 319; xml: 116; python: 74
file content (58 lines) | stat: -rw-r--r-- 1,646 bytes parent folder | download | duplicates (3)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "DUID.h"
#include "SmartPtr.h"

#include <string>
#include <gtest/gtest.h>

using namespace std;

namespace {

TEST(DUIDTest, constructor) {

    char expData[] = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef };
    char buffer[100];

    SPtr<TDUID> duid1 = new TDUID("1234567890abcdef");
    ASSERT_EQ(8u, duid1->getLen());
    EXPECT_TRUE(0 == memcmp(expData, duid1->get(), 8));
    duid1->storeSelf(buffer);
    EXPECT_TRUE(0 == memcmp(buffer, expData, 8));
    EXPECT_EQ("12:34:56:78:90:ab:cd:ef", duid1->getPlain());

    SPtr<TDUID> duid2 = new TDUID("12:34:56:78:90:ab:cd:ef");
    ASSERT_EQ(8u, duid2->getLen());
    EXPECT_TRUE(0 == memcmp(expData, duid2->get(), 8));
    memset(buffer, 0, sizeof(buffer));
    duid2->storeSelf(buffer);
    EXPECT_TRUE(0 == memcmp(buffer, expData, 8));
    EXPECT_EQ("12:34:56:78:90:ab:cd:ef", duid2->getPlain());

    EXPECT_TRUE(*duid1 == *duid2);

    SPtr<TDUID> duid3 = new TDUID(expData, sizeof(expData));
    ASSERT_EQ(8u, duid3->getLen());
    EXPECT_TRUE(0 == memcmp(expData, duid3->get(), 8));
    memset(buffer, 0, sizeof(buffer));
    duid3->storeSelf(buffer);
    EXPECT_TRUE(0 == memcmp(buffer, expData, 8));
    EXPECT_EQ("12:34:56:78:90:ab:cd:ef", duid3->getPlain());

    EXPECT_TRUE(*duid1 == *duid3);
    EXPECT_TRUE(*duid2 == *duid3);
}

TEST(DuidTest, operators) {
    TDUID duid1("123456");
    TDUID duid2("1234"); // shorter
    TDUID duid3("f23456"); // greater
    TDUID duid4("123455"); // smaller
    TDUID duid5("123456");

    EXPECT_TRUE(duid2 <= duid1);
    EXPECT_TRUE(duid1 <= duid3);
    EXPECT_TRUE(duid4 <= duid1);
    EXPECT_TRUE(duid1 == duid5);
}

}